Singing Pet API
Verander een foto van een huisdier en een liedje in een lip-sync video vanuit je eigen code. Eén credit per video, geen watermerk, ongeveer een minuut om te renderen.
Verkrijg een API-sleutel
Log in en maak een sleutel aan via je dashboard. De sleutel wordt eenmalig getoond en kan niet worden hersteld, dus bewaar deze op een veilige plek. Sleutels hebben de scopes die je kiest: alleen-lezen, of lezen en schrijven.
Maak een API-sleutel aanSnelstart
Maak een sleutel aan, kies een liedje, stuur een foto-URL. Drie aanroepen.
# 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"Authenticatie
Stuur je sleutel als een bearer token bij elk verzoek. Als je liever geen sleutel gebruikt, accepteert de API ook OAuth 2.1-toegangstokens, met open dynamische clientregistratie en PKCE.
Credits
Credits zijn prepaid en verlopen nooit. Eén credit rendert één video. Een render die mislukt wordt automatisch terugbetaald, dus het is niet nodig om opnieuw een video te maken om de credit terug te krijgen.
| Pakket | Credits | Prijs | Per video |
|---|---|---|---|
| Starter | 100 | $5 | $0.050 |
| Growth | 500 | $20 | $0.040 |
| Scale | 2,500 | $75 | $0.030 |
Endpoints
Elk endpoint onder /v1 vereist een API-sleutel of een OAuth-token. De volledige referentie, inclusief schema's voor verzoeken en antwoorden, staat in het OpenAPI-document.
| 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 |
Fouten
Elke fout is JSON met een stabiele code, een bericht en een hint over wat je eraan kunt doen. Niets geeft een HTML-foutpagina terug.
{
"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"
}Geef je de voorkeur aan tools boven HTTP?
Er is een MCP-server die hetzelfde account en dezelfde credits blootstelt als tools die een AI-client direct kan aanroepen.
Singing Pet MCP-serverVersiebeheer
De versie is het eerste padsegment. Het toevoegen van een veld of een endpoint gebeurt binnen v1 zonder aankondiging. Alles wat je integratie zou kunnen verbreken krijgt een nieuwe hoofdversie en 180 dagen aankondigingstermijn, gesignaleerd met de Deprecation- en Sunset-headers van RFC 8594.
- Breaking changes zijn het verwijderen van een endpoint, een veld of een enum-waarde, het verplicht maken van een optioneel veld, of het wijzigen van het type van een veld. Het toevoegen van zaken is niet breaking en wordt uitgebracht binnen v1.
- Een breaking change betekent een nieuwe major-versie en een opzegtermijn van 180 dagen voordat de oude versie stopt met reageren.
- Een verouderde versie antwoordt met de Deprecation- en Sunset-headers van RFC 8594, plus een Link-header die hiernaar verwijst. Elke v1-respons bevat al een link naar dit beleid.
Rendering is asynchroon
Het maken van een video geeft direct een id en een poll-URL terug. Een render duurt ongeveer een minuut, dus poll ongeveer elke tien seconden. Je kunt ook luisteren op de websocket in plaats van te pollen.
Snelheidslimieten
60 lees- en 10 schrijfacties per minuut. Elk antwoord bevat RateLimit- en RateLimit-Policy-headers zodat je je tempo kunt bepalen, en een 429 vertelt je precies hoe lang je moet wachten met Retry-After.
Limieten
Foto's tot 15MB, als JPEG, PNG, WebP of HEIC, op een openbare HTTPS-URL. De uitvoerlengte komt overeen met het liedje, met een maximum van 30 seconden; de meeste vallen tussen de 15 en 20 seconden. Honden, katten, vogels, konijnen, hamsters en cavia's, elk ras.