Naar hoofdinhoud gaan
De Kazzle AI API geeft u één geverifieerd eindpunt om elk model dat we ondersteunen aan te roepen. U betaalt eenmaal, in credits, tegen uw ruimte — geen aparte accounts voor OpenAI, Anthropic, Cloudflare Workers AI of iemand anders naar wie we routeren. Alle eindpunten bevinden zich onder /ai/* op https://api.kazzle.app en accepteren een kzl_ API-sleutel in de Authorization-header. Zie API-sleutels voor instructies over het maken van een sleutel. Gegenereerde Kazzle-apps moeten deze API ook gebruiken. Maak een Kazzle API-sleutel voor de app, sla deze op in de kluis, verbind deze als KAZZLE_API_KEY op een procescomponent en roep https://api.kazzle.app/ai/* aan vanuit die server-side code. Vraag gebruikers niet om providersleutels tenzij zij expliciet hun eigen provideraccount willen gebruiken.

Mogelijkheden

EindpuntModaliteitGestandaardiseerde invoerGestandaardiseerde uitvoer
POST /ai/chat/completionsChat (tekst, streaming)OpenAI-compatibel messages[]OpenAI-compatibel choices[] of SSE-stream
POST /ai/responsesResponses APIOpenAI Responses-compatibelOpenAI Responses-compatibel
POST /ai/images/generationsAfbeelding{ model, prompt, size?, output_format? }{ images: [{ url? | b64?, mimeType }] }
POST /ai/audio/speechTekst-naar-spraak{ model, text, voice?, format? }audio/* bytestream
POST /ai/audio/transcriptionsSpraak-naar-tekstmultipart/form-data met file + model{ text }
POST /ai/video/generationsVideo (asynchroon){ model, prompt, ... }{ id, status, pollUrl }
GET /ai/responses/{id}Asynchroon pollingresponse-idprovidergevormd resultaat
POST /ai/gatewayRaw passthroughElke Workers AI / provider-native payloadRaw upstream-respons
GET /ai/modelsCatalogus{ models: [{ id, modality, pricing, ... }] }
GET /ai/models is de bron van waarheid voor welke model-id’s op welk eindpunt werken. Lees dit eerst als u tegen de API bouwt.

Hoe een aanroep werkt

Elke factureerbare aanroep gaat door vijf fasen. U ziet de meeste hiervan niet — ze worden server-side bijgehouden zodat we mislukte aanroepen kunnen terugbetalen en exact gebruik kunnen rapporteren.
FaseWat gebeurde
openWe hebben een factureringsgebeurtenis gemaakt die aan uw verzoek is gekoppeld, maar hebben nog niet upstream aangeroepen.
recordedDe upstream-provider heeft gereageerd. We hebben een log-id van Cloudflare AI Gateway. De kosten zijn nog niet bekend.
pricedCloudflare heeft de uiteindelijke kosten gerapporteerd. We hebben onze opslag toegepast en de creditcharge geschreven. Definitief.
failedDe upstream-aanroep is mislukt, of we konden na 20 pogingen geen kosten ophalen. Klant wordt niet gefactureerd. Definitief.
syncedDe geprijsde gebeurtenis is aan ons metersysteem bezorgd.
Elk succesvol antwoord bevat x-kazzle-ai-billing-event-id: airesp_... — bewaar dit als u het verzoek later met gebruiksexports wilt correleren.

Facturering & opslag

We berekenen cloudflare_cost_usd × (1 + markup). De opslag wordt gepubliceerd in Instellingen → Facturering → Prijzen. Aanroepen die Cloudflare op $0 heeft geprijsd (gratis Workers AI-laag, promoties) bereiken de priced-fase met nulkosten en worden nooit gefactureerd. Reserve: u hebt minstens $0,50 equivalent in credits nodig om een aanroep te doen. We houden dit tegen uw saldo totdat de aanroep is voltooid, en vereffenen vervolgens de werkelijke kosten.

Fouten

StatusBetekenis
401Ontbrekende of ongeldige kzl_ API-sleutel.
402Onvoldoende credits voor de reserve. Vul bij in Instellingen → Facturering.
4xx van upstreamDoorgestuurd zoals het is. Body bevat de fout van de provider. Klant wordt niet gefactureerd.
5xx van upstreamDoorgestuurd zoals het is. Klant wordt niet gefactureerd.

Voorbeeld — afbeeldingsgeneratie

curl https://api.kazzle.app/ai/images/generations \
  -H "Authorization: Bearer kzl_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-1",
    "prompt": "a single red dot on white",
    "size": "1024x1024"
  }'
{
  "images": [
    { "url": "https://...", "mimeType": "image/png" }
  ]
}

Voorbeeld — tekst naar spraak

curl https://api.kazzle.app/ai/audio/speech \
  -H "Authorization: Bearer kzl_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/tts-1","text":"hello world","voice":"alloy","format":"mp3"}' \
  --output speech.mp3

Zie ook

  • API-referentie — volledige request/response-schema’s voor elk eindpunt
  • API-sleutels — maken en gebruiken van kzl_-sleutels
  • Facturering — credits, plannen en de opslag die we toepassen