/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
| Endpunkt | Modalität | Standardisierte Eingabe | Standardisierte Ausgabe |
|---|---|---|---|
POST /ai/chat/completions | Chat (Text, Streaming) | OpenAI-kompatible messages[] | OpenAI-kompatible choices[] oder SSE-Stream |
POST /ai/responses | Responses API | OpenAI Responses-kompatibel | OpenAI Responses-kompatibel |
POST /ai/images/generations | Bild | { model, prompt, size?, output_format? } | { images: [{ url? | b64?, mimeType }] } |
POST /ai/audio/speech | Text-zu-Sprache | { model, text, voice?, format? } | audio/* Byte-Stream |
POST /ai/audio/transcriptions | Sprache-zu-Text | multipart/form-data mit file + model | { text } |
POST /ai/video/generations | Video (asynchron) | { model, prompt, ... } | { id, status, pollUrl } |
GET /ai/responses/{id} | Asynchrones Abrufen | Response-ID | Provider-formatiertes Ergebnis |
POST /ai/gateway | Direktes Durchleiten | Beliebige Workers AI / Provider-native Payload | Rohe Upstream-Antwort |
GET /ai/models | Katalog | — | { 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.| Phase | Was ist passiert |
|---|---|
open | Wir haben ein Abrechnungsereignis erstellt, das an deine Anfrage gebunden ist, haben aber noch nicht den Upstream aufgerufen. |
recorded | Der Upstream-Provider hat geantwortet. Wir haben eine Log-ID vom Cloudflare AI Gateway. Die Kosten sind noch nicht bekannt. |
priced | Cloudflare hat die endgültigen Kosten gemeldet. Wir haben unseren Aufschlag angewendet und die Kreditbelastung geschrieben. Terminal. |
failed | Der Upstream-Aufruf ist fehlgeschlagen, oder wir konnten nach 20 Wiederholungen keine Kosten ermitteln. Kunde wird nicht belastet. Terminal. |
synced | Das Priced-Ereignis wurde an unser Messsystem übermittelt. |
x-kazzle-ai-billing-event-id: airesp_... — behalte es, wenn du die Anfrage später mit Nutzungsexporten korrelieren möchtest.
Abrechnung & Aufschlag
Wir berechnencloudflare_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
| Status | Bedeutung |
|---|---|
401 | Fehlender oder ungültiger kzl_ API-Schlüssel. |
402 | Unzureichende Credits für die Reserve. Aufladen unter Einstellungen → Abrechnung. |
4xx von Upstream | Weitergeleitet wie erhalten. Body enthält den Fehler des Providers. Kunde wird nicht belastet. |
5xx von Upstream | Weitergeleitet wie erhalten. Kunde wird nicht belastet. |
Beispiel — Bildgenerierung
Beispiel — Text zu Sprache
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