API de Singing Pet

Singing Pet tiene una API REST. Las plantillas de canciones y los precios son abiertos. Todo lo que toca los vídeos, los créditos o la facturación de una persona necesita un token de Firebase.

Especificación OpenAPI

La descripción legible por máquina de toda la API, con un operation id único, parámetros tipados y un esquema de respuesta para cada endpoint. Apunta ahí directamente un generador de clientes o el cargador de function calling de tu agente.

Ver la especificación OpenAPI

https://singing.pet/openapi.json

Autenticación

Envía un ID token de Firebase Authentication como bearer token. Al iniciar sesión con Google o con un enlace por email en esta web se genera uno. Los endpoints marcados como públicos no necesitan ninguna cabecera.

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

Petición de ejemplo

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

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

Errores

Todos los fallos vuelven en JSON. Lo que no gestiona un endpoint concreto usa un único envoltorio con un código estable, un mensaje legible y una pista sobre qué hacer.

{
  "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"
}

El renderizado es asíncrono

Una llamada de creación responde en cuanto el render entra en cola. Consulta listUserVideos hasta que el estado pase de pending a completed o failed, o escucha el websocket en wss://api.singing.pet.

Límites

El audio debe durar entre 2 y 30 segundos y el vídeo dura exactamente lo mismo que el audio. La conversión de texto a voz admite hasta 500 caracteres. Las cuentas gratuitas tienen dos vídeos al mes; los planes de pago son ilimitados.

Markdown para agentes

Cada página de contenido de esta web sirve Markdown limpio si lo pides con una cabecera Accept, siguiendo acceptmarkdown.com. El índice del sitio escrito a mano está en llms.txt.