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é API

Dé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.

PackCréditsPrixPar vidéo
Starter100$5$0.050
Growth500$20$0.040
Scale2,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/templateslistApiTemplates
GET/v1/megetApiAccount
GET/v1/creditsgetApiCredits
GET/v1/videoslistApiVideos
POST/v1/videoscreateApiVideo
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 Pet

Gestion 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.
Statut de la version actuelle

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.