Zum Hauptinhalt springen
Die Kazzle AI API bietet dir einen authentifizierten Endpunkt zum Aufrufen jedes unterstützten Modells. Du zahlst einmal in Credits gegen deinen Space — keine separaten Konten für OpenAI, Anthropic, Cloudflare Workers AI oder andere Anbieter, zu denen wir weiterleiten. Alle Endpunkte befinden sich unter /ai/* auf https://api.kazzle.app und akzeptieren einen kzl_ API-Schlüssel im Authorization-Header. Siehe API-Schlüssel, um einen zu erstellen. Generierte Kazzle-Apps sollten diese API ebenfalls verwenden. Erstelle einen Kazzle API-Schlüssel für die App, speichere ihn im Vault, verbinde ihn als KAZZLE_API_KEY auf einer Process-Komponente und rufe https://api.kazzle.app/ai/* aus diesem serverseitigen Code auf. Frage Benutzer nicht nach Provider-Schlüsseln, es sei denn, sie möchten explizit ihr eigenes Provider-Konto verwenden.

Funktionen

EndpunktModalitätStandardisierte EingabeStandardisierte Ausgabe
POST /ai/chat/completionsChat (Text, Streaming)OpenAI-kompatible messages[]OpenAI-kompatible choices[] oder SSE-Stream
POST /ai/responsesResponses APIOpenAI Responses-kompatibelOpenAI Responses-kompatibel
POST /ai/images/generationsBild{ model, prompt, size?, output_format? }{ images: [{ url? | b64?, mimeType }] }
POST /ai/audio/speechText-zu-Sprache{ model, text, voice?, format? }audio/* Byte-Stream
POST /ai/audio/transcriptionsSprache-zu-Textmultipart/form-data mit file + model{ text }
POST /ai/video/generationsVideo (asynchron){ model, prompt, ... }{ id, status, pollUrl }
GET /ai/responses/{id}Asynchrones AbrufenResponse-IDProvider-formatiertes Ergebnis
POST /ai/gatewayDirektes DurchleitenBeliebige Workers AI / Provider-native PayloadRohe Upstream-Antwort
GET /ai/modelsKatalog{ models: [{ id, modality, pricing, ... }] }
GET /ai/models ist die Quelle der Wahrheit, welche Modell-IDs auf welchen Endpunkt funktionieren. Lese es zuerst, wenn du gegen die API entwickelst.

Wie ein Aufruf funktioniert

Jeder abrechenbare Aufruf durchläuft fünf Phasen. Du siehst die meisten nicht — sie werden serverseitig verfolgt, damit wir fehlgeschlagene Aufrufe erstatten und genaue Nutzung melden können.
PhaseWas ist passiert
openWir haben ein Abrechnungsereignis erstellt, das an deine Anfrage gebunden ist, haben aber noch nicht den Upstream aufgerufen.
recordedDer Upstream-Provider hat geantwortet. Wir haben eine Log-ID vom Cloudflare AI Gateway. Die Kosten sind noch nicht bekannt.
pricedCloudflare hat die endgültigen Kosten gemeldet. Wir haben unseren Aufschlag angewendet und die Kreditbelastung geschrieben. Terminal.
failedDer Upstream-Aufruf ist fehlgeschlagen, oder wir konnten nach 20 Wiederholungen keine Kosten ermitteln. Kunde wird nicht belastet. Terminal.
syncedDas Priced-Ereignis wurde an unser Messsystem übermittelt.
Jede erfolgreiche Antwort enthält x-kazzle-ai-billing-event-id: airesp_... — behalte es, wenn du die Anfrage später mit Nutzungsexporten korrelieren möchtest.

Abrechnung & Aufschlag

Wir berechnen cloudflare_cost_usd × (1 + markup). Der Aufschlag wird unter Einstellungen → Abrechnung → Preise veröffentlicht. Aufrufe, die Cloudflare mit $0 bepreist hat (kostenlose Workers AI-Stufe, Aktionen), erreichen die priced-Phase mit Nullkosten und werden nie abgerechnet. Reserve: Du benötigst mindestens $0,50 Äquivalent in Credits, um einen Aufruf zu tätigen. Wir halten dies gegen deinen Kontostand, bis der Aufruf abgeschlossen ist, und begleichen dann die tatsächlichen Kosten.

Fehler

StatusBedeutung
401Fehlender oder ungültiger kzl_ API-Schlüssel.
402Unzureichende Credits für die Reserve. Aufladen unter Einstellungen → Abrechnung.
4xx von UpstreamWeitergeleitet wie erhalten. Body enthält den Fehler des Providers. Kunde wird nicht belastet.
5xx von UpstreamWeitergeleitet wie erhalten. Kunde wird nicht belastet.

Beispiel — Bildgenerierung

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" }
  ]
}

Beispiel — Text zu Sprache

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

Siehe auch

  • API-Referenz — vollständige Request/Response-Schemas für jeden Endpunkt
  • API-Schlüssel — Erstellen und Verwenden von kzl_ Schlüsseln
  • Abrechnung — Credits, Pläne und der Aufschlag, den wir anwenden