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 OpenAPIhttps://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 | / | getServiceIndex | Público |
| GET | /openapi.json | getOpenApiSpec | Público |
| GET | /health | getHealth | Público |
| GET | /templates | listTemplates | Público |
| GET | /subscription/pricing | getPricing | Público |
| GET | /user/me | getCurrentUser | Token |
| GET | /user/videos | listUserVideos | Token |
| POST | /create-with-template | createVideoFromTemplate | Token |
| POST | /create-with-audio | createVideoFromAudio | Token |
| DELETE | /delete-video | deleteVideo | Token |
| GET | /tts/voices | listVoices | Token |
| POST | /tts | generateSpeech | Token |
| POST | /tiktok/extract-audio | extractTikTokAudio | Token |
| GET | /subscription/status | getSubscriptionStatus | Token |
| POST | /subscription/create-checkout-session | createCheckoutSession | Token |
| POST | /subscription/create-one-time-checkout | createOneTimeCheckout | Token |
| POST | /subscription/create-portal-session | createPortalSession | Token |
| GET | /versions | listApiVersions | Público |
| GET | /v1/templates | listApiTemplates | Token |
| GET | /v1/me | getApiAccount | Token |
| GET | /v1/credits | getApiCredits | Token |
| GET | /v1/videos | listApiVideos | Token |
| POST | /v1/videos | createApiVideo | Token |
| GET | /v1/videos/{id} | getApiVideo | Token |
| DELETE | /v1/videos/{id} | deleteApiVideo | Token |
| POST | /mcp | callMcpServer | Token |
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.