API Singing Pet
Singing Pet a une API REST. Les modèles de chansons et les prix sont ouverts. Tout ce qui touche aux vidéos, aux crédits ou à la facturation d'une personne exige un jeton Firebase.
Spécification OpenAPI
La description lisible par machine de toute l'API, avec un operation id unique, des paramètres typés et un schéma de réponse pour chaque endpoint. Pointez-y directement un générateur de client ou le chargeur de function calling de votre agent.
Voir la spécification OpenAPIhttps://singing.pet/openapi.json
Authentification
Envoyez un ID token Firebase Authentication comme bearer token. Se connecter avec Google ou par lien email sur ce site en génère un. Les endpoints marqués publics n'ont besoin d'aucun en-tête.
Points de terminaison
https://api.singing.pet
| GET | / | getServiceIndex | Public |
| GET | /openapi.json | getOpenApiSpec | Public |
| GET | /health | getHealth | Public |
| GET | /templates | listTemplates | Public |
| GET | /subscription/pricing | getPricing | Public |
| GET | /user/me | getCurrentUser | Jeton |
| GET | /user/videos | listUserVideos | Jeton |
| POST | /create-with-template | createVideoFromTemplate | Jeton |
| POST | /create-with-audio | createVideoFromAudio | Jeton |
| DELETE | /delete-video | deleteVideo | Jeton |
| GET | /tts/voices | listVoices | Jeton |
| POST | /tts | generateSpeech | Jeton |
| POST | /tiktok/extract-audio | extractTikTokAudio | Jeton |
| GET | /subscription/status | getSubscriptionStatus | Jeton |
| POST | /subscription/create-checkout-session | createCheckoutSession | Jeton |
| POST | /subscription/create-one-time-checkout | createOneTimeCheckout | Jeton |
| POST | /subscription/create-portal-session | createPortalSession | Jeton |
| GET | /versions | listApiVersions | Public |
| GET | /v1/templates | listApiTemplates | Jeton |
| GET | /v1/me | getApiAccount | Jeton |
| GET | /v1/credits | getApiCredits | Jeton |
| GET | /v1/videos | listApiVideos | Jeton |
| POST | /v1/videos | createApiVideo | Jeton |
| GET | /v1/videos/{id} | getApiVideo | Jeton |
| DELETE | /v1/videos/{id} | deleteApiVideo | Jeton |
| POST | /mcp | callMcpServer | Jeton |
Exemple de requête
curl https://api.singing.pet/templates
curl https://api.singing.pet/user/videos?page=1 \
-H "Authorization: Bearer $FIREBASE_ID_TOKEN"Erreurs
Chaque échec revient en JSON. Ce qu'aucun endpoint ne gère spécifiquement utilise une enveloppe unique avec un code stable, un message lisible et une indication de ce qu'il faut faire.
{
"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"
}Le rendu est asynchrone
Un appel de création répond dès que le rendu est mis en file. Interrogez listUserVideos jusqu'à ce que le statut passe de pending à completed ou failed, ou écoutez le websocket sur wss://api.singing.pet.
Limites
L'audio doit durer entre 2 et 30 secondes et la vidéo dure exactement le temps de l'audio. La synthèse vocale accepte jusqu'à 500 caractères. Les comptes gratuits ont deux vidéos par mois, les offres payantes sont illimitées.
Markdown pour les agents
Chaque page de contenu de ce site sert du Markdown propre si vous le demandez avec un en-tête Accept, selon acceptmarkdown.com. L'index du site écrit à la main est dans llms.txt.