API do Singing Pet

O Singing Pet tem uma API REST. Os templates de música e os preços são abertos. Tudo o que toca os vídeos, os créditos ou a cobrança de uma pessoa exige um token do Firebase.

Especificação OpenAPI

A descrição legível por máquina de toda a API, com um operation id único, parâmetros tipados e um schema de resposta para cada endpoint. Aponte para ela um gerador de clientes ou o carregador de function calling do seu agente.

Ver a especificação OpenAPI

https://singing.pet/openapi.json

Autenticação

Envie um ID token do Firebase Authentication como bearer token. Entrar com o Google ou com um link por email neste site gera um. Endpoints marcados como públicos não precisam de cabeçalho nenhum.

Endpoints

https://api.singing.pet

GET/getServiceIndexPúblico
GET/openapi.jsongetOpenApiSpecPúblico
GET/healthgetHealthPúblico
GET/templateslistTemplatesPúblico
GET/subscription/pricinggetPricingPúblico
GET/user/megetCurrentUserToken
GET/user/videoslistUserVideosToken
POST/create-with-templatecreateVideoFromTemplateToken
POST/create-with-audiocreateVideoFromAudioToken
DELETE/delete-videodeleteVideoToken
GET/tts/voiceslistVoicesToken
POST/ttsgenerateSpeechToken
POST/tiktok/extract-audioextractTikTokAudioToken
GET/subscription/statusgetSubscriptionStatusToken
POST/subscription/create-checkout-sessioncreateCheckoutSessionToken
POST/subscription/create-one-time-checkoutcreateOneTimeCheckoutToken
POST/subscription/create-portal-sessioncreatePortalSessionToken
GET/versionslistApiVersionsPúblico
GET/v1/templateslistApiTemplatesToken
GET/v1/megetApiAccountToken
GET/v1/creditsgetApiCreditsToken
GET/v1/videoslistApiVideosToken
POST/v1/videoscreateApiVideoToken
GET/v1/videos/{id}getApiVideoToken
DELETE/v1/videos/{id}deleteApiVideoToken
POST/mcpcallMcpServerToken

Exemplo de requisição

curl https://api.singing.pet/templates

curl https://api.singing.pet/user/videos?page=1 \
  -H "Authorization: Bearer $FIREBASE_ID_TOKEN"

Erros

Toda falha volta em JSON. O que não é tratado por um endpoint específico usa um único envelope com um código estável, uma mensagem legível e uma dica sobre o que fazer.

{
  "error": {
    "code": "not_found",
    "message": "No route matches GET /nope",
    "status": 404,
    "hint": "Check the path against https://singing.pet/openapi.json.",
    "documentation_url": "https://singing.pet/developers"
  },
  "message": "No route matches GET /nope"
}

A renderização é assíncrona

Uma chamada de criação responde assim que a renderização entra na fila. Consulte listUserVideos até o status sair de pending para completed ou failed, ou escute o websocket em wss://api.singing.pet.

Limites

O áudio precisa ter entre 2 e 30 segundos e o vídeo dura exatamente o tempo do áudio. O texto para voz aceita até 500 caracteres. Contas gratuitas têm dois vídeos por mês; os planos pagos são ilimitados.

Markdown para agentes

Cada página de conteúdo deste site serve Markdown limpo quando você pede com um cabeçalho Accept, seguindo o acceptmarkdown.com. O índice do site escrito à mão fica em llms.txt.