API di Singing Pet
Trasforma la foto di un animale e una canzone in un video con sincronizzazione labiale dal tuo codice. Un credito per video, senza filigrana, circa un minuto per il rendering.
Ottieni una chiave API
Accedi e crea una chiave dalla tua dashboard. La chiave viene mostrata una sola volta e non può essere recuperata, quindi conservala in un luogo sicuro. Le chiavi hanno gli ambiti che scegli: sola lettura, oppure lettura e scrittura.
Crea una chiave APIGuida rapida
Crea una chiave, scegli una canzone, invia l'URL di una foto. Tre chiamate.
# 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"Autenticazione
Invia la tua chiave come bearer token in ogni richiesta. Se preferisci non gestire una chiave, l'API accetta anche token di accesso OAuth 2.1, con registrazione dinamica del client e PKCE.
Crediti
I crediti sono prepagati e non scadono mai. Un credito genera un video. Un rendering che fallisce viene rimborsato automaticamente, quindi non c'è bisogno di ricreare un video per recuperare il credito.
| Pacchetto | Crediti | Prezzo | Per video |
|---|---|---|---|
| Starter | 100 | $5 | $0.050 |
| Growth | 500 | $20 | $0.040 |
| Scale | 2,500 | $75 | $0.030 |
Endpoint
Ogni endpoint sotto /v1 accetta una chiave API o un token OAuth. Il riferimento completo, inclusi gli schemi di richiesta e risposta, si trova nel documento 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 |
Errori
Ogni errore è in formato JSON con un codice stabile, un messaggio e un suggerimento su cosa fare al riguardo. Nulla restituisce una pagina di errore 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"
}Preferisci gli strumenti all'HTTP?
Esiste un server MCP che espone lo stesso account e gli stessi crediti come strumenti che un client AI può chiamare direttamente.
Server MCP Singing PetVersionamento
La versione è il primo segmento del percorso. L'aggiunta di un campo o di un endpoint avviene all'interno della v1 senza preavviso. Qualsiasi cosa che potrebbe interrompere la tua integrazione riceve una nuova versione principale e 180 giorni di preavviso, segnalati con le intestazioni Deprecation e Sunset di RFC 8594.
- Le modifiche sostanziali consistono nella rimozione di un endpoint, di un campo o di un valore enum, nel rendere obbligatorio un campo facoltativo o nel modificare il tipo di un campo. L'aggiunta di elementi non costituisce una modifica sostanziale e viene rilasciata all'interno della v1.
- Una modifica sostanziale comporta una nuova versione principale e 180 giorni di preavviso prima che quella precedente smetta di rispondere.
- Una versione deprecata risponde con le intestazioni Deprecation e Sunset secondo la RFC 8594, oltre a un'intestazione Link che punta qui. Ogni risposta v1 contiene già un link a questa policy.
Il rendering è asincrono
La creazione di un video restituisce immediatamente un id e un URL di polling. Un rendering richiede circa un minuto, quindi esegui il polling ogni dieci secondi circa. Puoi anche ascoltare sul websocket invece di eseguire il polling.
Limiti di frequenza
60 letture e 10 scritture al minuto. Ogni risposta contiene le intestazioni RateLimit e RateLimit-Policy in modo che tu possa regolarti, e un errore 429 ti dice esattamente quanto tempo attendere con Retry-After.
Limiti
Foto fino a 15MB, in formato JPEG, PNG, WebP o HEIC, su un URL HTTPS pubblico. La durata dell'output corrisponde alla canzone, con un limite di 30 secondi; la maggior parte dura tra i 15 e i 20 secondi. Cani, gatti, uccelli, conigli, criceti e porcellini d'India, di qualsiasi razza.