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 API

Iní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.

PacoteCréditosPreçoPor vídeo
Starter100$5$0.050
Growth500$20$0.040
Scale2,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/templateslistApiTemplates
GET/v1/megetApiAccount
GET/v1/creditsgetApiCredits
GET/v1/videoslistApiVideos
POST/v1/videoscreateApiVideo
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 Pet

Versionamento

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.
Status da versão atual

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.