Singing Pet API
Singing Pet heeft een REST API. Nummersjablonen en prijzen staan open voor iedereen. Alles wat de video's, credits of facturatie van een persoon raakt, vraagt om een Firebase ID-token.
OpenAPI-specificatie
De machineleesbare beschrijving van de hele API, met een uniek operation id, getypeerde parameters en een responsschema per endpoint. Richt er een clientgenerator of de function-callingloader van je agent rechtstreeks op.
Bekijk de OpenAPI-spechttps://singing.pet/openapi.json
Authenticatie
Stuur een Firebase Authentication ID-token als bearer token. Inloggen met Google of via een e-maillink op deze site maakt er een aan. Endpoints die als publiek staan aangemerkt hebben helemaal geen header nodig.
Endpoints
https://api.singing.pet
| GET | / | getServiceIndex | Publiek |
| GET | /openapi.json | getOpenApiSpec | Publiek |
| GET | /health | getHealth | Publiek |
| GET | /templates | listTemplates | Publiek |
| GET | /subscription/pricing | getPricing | Publiek |
| GET | /user/me | getCurrentUser | Token |
| GET | /user/videos | listUserVideos | Token |
| POST | /create-with-template | createVideoFromTemplate | Token |
| POST | /create-with-audio | createVideoFromAudio | Token |
| DELETE | /delete-video | deleteVideo | Token |
| GET | /tts/voices | listVoices | Token |
| POST | /tts | generateSpeech | Token |
| POST | /tiktok/extract-audio | extractTikTokAudio | Token |
| GET | /subscription/status | getSubscriptionStatus | Token |
| POST | /subscription/create-checkout-session | createCheckoutSession | Token |
| POST | /subscription/create-one-time-checkout | createOneTimeCheckout | Token |
| POST | /subscription/create-portal-session | createPortalSession | Token |
| GET | /versions | listApiVersions | Publiek |
| GET | /v1/templates | listApiTemplates | Token |
| GET | /v1/me | getApiAccount | Token |
| GET | /v1/credits | getApiCredits | Token |
| GET | /v1/videos | listApiVideos | Token |
| POST | /v1/videos | createApiVideo | Token |
| GET | /v1/videos/{id} | getApiVideo | Token |
| DELETE | /v1/videos/{id} | deleteApiVideo | Token |
| POST | /mcp | callMcpServer | Token |
Voorbeeldverzoek
curl https://api.singing.pet/templates
curl https://api.singing.pet/user/videos?page=1 \
-H "Authorization: Bearer $FIREBASE_ID_TOKEN"Fouten
Elke fout komt terug als JSON. Wat geen specifiek endpoint afhandelt, gebruikt één envelop met een stabiele code, een leesbaar bericht en een hint over wat je nu moet doen.
{
"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"
}Renderen gaat asynchroon
Een create-aanroep antwoordt zodra de render in de wachtrij staat. Poll listUserVideos tot de status van pending naar completed of failed gaat, of luister op de websocket op wss://api.singing.pet.
Limieten
Audio moet tussen 2 en 30 seconden duren en de video duurt precies zo lang als de audio. Tekst-naar-spraak neemt maximaal 500 tekens. Gratis accounts krijgen twee video's per maand, betaalde plannen zijn onbeperkt.
Markdown voor agents
Elke contentpagina op deze site levert schone Markdown als je erom vraagt met een Accept-header, volgens acceptmarkdown.com. De met de hand geschreven site-index staat in llms.txt.