API Singing Pet
Transformez une photo d'animal et une chanson en une vidéo synchronisée labiale à partir de votre propre code. Un crédit par vidéo, sans filigrane, environ une minute pour le rendu.
Obtenir une clé API
Connectez-vous et créez une clé depuis votre tableau de bord. La clé n'est affichée qu'une seule fois et ne peut pas être récupérée, alors conservez-la dans un endroit sûr. Les clés portent les portées que vous choisissez : lecture seule, ou lecture et écriture.
Créer une clé APIDémarrage rapide
Créez une clé, choisissez une chanson, envoyez l'URL d'une photo. Trois appels.
# 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"Authentification
Envoyez votre clé en tant que jeton porteur (bearer token) sur chaque requête. Si vous préférez ne pas détenir de clé, l'API accepte également les jetons d'accès OAuth 2.1, avec enregistrement dynamique de client ouvert et PKCE.
Crédits
Les crédits sont prépayés et n'expirent jamais. Un crédit génère une vidéo. Un rendu qui échoue est remboursé automatiquement, il n'est donc pas nécessaire de recréer une vidéo pour récupérer le crédit.
| Pack | Crédits | Prix | Par vidéo |
|---|---|---|---|
| Starter | 100 | $5 | $0.050 |
| Growth | 500 | $20 | $0.040 |
| Scale | 2,500 | $75 | $0.030 |
Points de terminaison
Chaque point de terminaison sous /v1 accepte une clé API ou un jeton OAuth. La référence complète, incluant les schémas de requête et de réponse, se trouve dans le document OpenAPI.
| GET | /v1/templates | listApiTemplates |
| GET | /v1/me | getApiAccount |
| GET | /v1/credits | getApiCredits |
| GET | /v1/videos | listApiVideos |
| POST | /v1/videos | createApiVideo |
| GET | /v1/videos/{id} | getApiVideo |
| DELETE | /v1/videos/{id} | deleteApiVideo |
Erreurs
Chaque erreur est au format JSON avec un code stable, un message et une indication sur la marche à suivre. Rien ne renvoie une page d'erreur 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"
}Vous préférez les outils au HTTP ?
Il existe un serveur MCP exposant le même compte et les mêmes crédits sous forme d'outils qu'un client IA peut appeler directement.
Serveur MCP Singing PetGestion des versions
La version est le premier segment du chemin. L'ajout d'un champ ou d'un point de terminaison se fait dans la v1 sans préavis. Tout ce qui pourrait casser votre intégration reçoit une nouvelle version majeure et un préavis de 180 jours, signalé par les en-têtes Deprecation et Sunset de la RFC 8594.
- Les changements majeurs incluent la suppression d'un point de terminaison, d'un champ ou d'une valeur d'énumération, le passage d'un champ optionnel à obligatoire, ou la modification du type d'un champ. L'ajout d'éléments n'est pas considéré comme un changement majeur et est inclus dans la v1.
- Un changement majeur implique une nouvelle version majeure et un préavis de 180 jours avant que l'ancienne version ne cesse de répondre.
- Une version obsolète répond avec les en-têtes Deprecation et Sunset de la RFC 8594, ainsi qu'un en-tête Link pointant vers cette page. Chaque réponse v1 contient déjà un lien vers cette politique.
Le rendu est asynchrone
La création d'une vidéo renvoie immédiatement un identifiant et une URL de sondage. Un rendu prend environ une minute, donc interrogez toutes les dix secondes environ. Vous pouvez également écouter sur le websocket au lieu d'interroger.
Limites de débit
60 lectures et 10 écritures par minute. Chaque réponse contient les en-têtes RateLimit et RateLimit-Policy pour que vous puissiez vous rythmer, et un code 429 vous indique exactement combien de temps attendre avec Retry-After.
Limites
Photos jusqu'à 15 Mo, au format JPEG, PNG, WebP ou HEIC, sur une URL HTTPS publique. La longueur de sortie correspond à la chanson, plafonnée à 30 secondes ; la plupart se situent entre 15 et 20 secondes. Chiens, chats, oiseaux, lapins, hamsters et cochons d'Inde, toutes races.