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-spec

https://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/getServiceIndexPubliek
GET/openapi.jsongetOpenApiSpecPubliek
GET/healthgetHealthPubliek
GET/templateslistTemplatesPubliek
GET/subscription/pricinggetPricingPubliek
GET/user/megetCurrentUserToken
GET/user/videoslistUserVideosToken
POST/create-with-templatecreateVideoFromTemplateToken
POST/create-with-audiocreateVideoFromAudioToken
DELETE/delete-videodeleteVideoToken
GET/tts/voiceslistVoicesToken
POST/ttsgenerateSpeechToken
POST/tiktok/extract-audioextractTikTokAudioToken
GET/subscription/statusgetSubscriptionStatusToken
POST/subscription/create-checkout-sessioncreateCheckoutSessionToken
POST/subscription/create-one-time-checkoutcreateOneTimeCheckoutToken
POST/subscription/create-portal-sessioncreatePortalSessionToken
GET/versionslistApiVersionsPubliek
GET/v1/templateslistApiTemplatesToken
GET/v1/megetApiAccountToken
GET/v1/creditsgetApiCreditsToken
GET/v1/videoslistApiVideosToken
POST/v1/videoscreateApiVideoToken
GET/v1/videos/{id}getApiVideoToken
DELETE/v1/videos/{id}deleteApiVideoToken
POST/mcpcallMcpServerToken

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.