API do Singing Pet
Transforme a foto de um pet e uma música em um vídeo com sincronia labial a partir do seu próprio código. Um crédito por vídeo, sem marca d'água, cerca de um minuto para renderizar.
Obter uma chave de API
Faça login e crie uma chave a partir do seu painel. A chave é exibida apenas uma vez e não pode ser recuperada, portanto, armazene-a em um local seguro. As chaves possuem os escopos que você escolher: somente leitura ou leitura e gravação.
Criar uma chave de APIInício rápido
Crie uma chave, escolha uma música, envie a URL da foto. Três chamadas.
# 1. pick a song
curl https://api.singing.pet/v1/templates \
-H "Authorization: Bearer $SINGING_PET_KEY"
# 2. queue the render (costs 1 credit)
curl -X POST https://api.singing.pet/v1/videos \
-H "Authorization: Bearer $SINGING_PET_KEY" \
-H "Content-Type: application/json" \
-d '{"template_id":"393","image_url":"https://example.com/dog.jpg"}'
# 3. poll until status is completed, about a minute
curl https://api.singing.pet/v1/videos/<id> \
-H "Authorization: Bearer $SINGING_PET_KEY"Autenticação
Envie sua chave como um token bearer em cada solicitação. Se preferir não manter uma chave, a API também aceita tokens de acesso OAuth 2.1, com registro dinâmico de cliente aberto e PKCE.
Créditos
Os créditos são pré-pagos e nunca expiram. Um crédito renderiza um vídeo. Uma renderização que falha é reembolsada automaticamente, portanto, não há necessidade de recriar um vídeo para recuperar o crédito.
| Pacote | Créditos | Preço | Por vídeo |
|---|---|---|---|
| Starter | 100 | $5 | $0.050 |
| Growth | 500 | $20 | $0.040 |
| Scale | 2,500 | $75 | $0.030 |
Endpoints
Cada endpoint em /v1 aceita uma chave de API ou um token OAuth. A referência completa, incluindo esquemas de solicitação e resposta, está no documento OpenAPI.
| GET | /v1/templates | listApiTemplates |
| GET | /v1/me | getApiAccount |
| GET | /v1/credits | getApiCredits |
| GET | /v1/videos | listApiVideos |
| POST | /v1/videos | createApiVideo |
| GET | /v1/videos/{id} | getApiVideo |
| DELETE | /v1/videos/{id} | deleteApiVideo |
Erros
Todo erro é um JSON com um código estável, uma mensagem e uma dica sobre o que fazer a respeito. Nada retorna uma página de erro HTML.
{
"error": {
"code": "insufficient_credits",
"message": "Not enough API credits to render a video",
"status": 402,
"hint": "Each video costs 1 credit. Buy more at https://singing.pet/dashboard/api-keys.",
"documentation_url": "https://singing.pet/api"
},
"message": "Not enough API credits to render a video"
}Prefere ferramentas em vez de HTTP?
Existe um servidor MCP que expõe a mesma conta e os mesmos créditos como ferramentas que um cliente de IA pode chamar diretamente.
Servidor MCP do Singing PetVersionamento
A versão é o primeiro segmento do caminho. A adição de um campo ou endpoint ocorre dentro da v1 sem aviso prévio. Qualquer coisa que possa quebrar sua integração recebe uma nova versão principal e 180 dias de aviso, sinalizados com os cabeçalhos Deprecation e Sunset da RFC 8594.
- Mudanças drásticas incluem a remoção de um endpoint, campo ou valor enum, tornar um campo opcional em obrigatório ou alterar o tipo de um campo. Adicionar coisas não é uma mudança drástica e é lançado dentro da v1.
- Uma mudança drástica significa uma nova versão principal e 180 dias de aviso antes que a antiga pare de responder.
- Uma versão obsoleta responde com os cabeçalhos Deprecation e Sunset da RFC 8594, além de um cabeçalho Link apontando para cá. Cada resposta da v1 já carrega um Link para esta política.
A renderização é assíncrona
A criação de um vídeo retorna imediatamente com um id e uma URL de consulta. Uma renderização leva cerca de um minuto, então consulte a cada dez segundos aproximadamente. Você também pode ouvir no websocket em vez de consultar.
Limites de taxa
60 leituras e 10 gravações por minuto. Cada resposta carrega os cabeçalhos RateLimit e RateLimit-Policy para que você possa controlar seu ritmo, e um erro 429 informa exatamente quanto tempo esperar com Retry-After.
Limites
Fotos de até 15MB, como JPEG, PNG, WebP ou HEIC, em uma URL HTTPS pública. A duração da saída corresponde à música, limitada a 30 segundos; a maioria fica entre 15 e 20. Cães, gatos, pássaros, coelhos, hamsters e porquinhos-da-índia, qualquer raça.