/ai/* su https://api.kazzle.app e accettano una chiave API kzl_ nell’header Authorization. Vedi Chiavi API per sapere come crearne una.
Le app Kazzle generate dovrebbero usare questa API. Crea una chiave API Kazzle per l’app, salvala nel vault, configurala come KAZZLE_API_KEY su un componente process, e chiama https://api.kazzle.app/ai/* dal codice lato server. Non chiedere agli utenti le chiavi del provider a meno che non vogliano esplicitamente usare il loro account provider.
Funzionalità
| Endpoint | Modalità | Input standardizzato | Output standardizzato |
|---|---|---|---|
POST /ai/chat/completions | Chat (testo, streaming) | messages[] compatibile con OpenAI | choices[] compatibile con OpenAI o stream SSE |
POST /ai/responses | Responses API | Compatibile con OpenAI Responses | Compatibile con OpenAI Responses |
POST /ai/images/generations | Immagine | { model, prompt, size?, output_format? } | { images: [{ url? | b64?, mimeType }] } |
POST /ai/audio/speech | Sintesi vocale | { model, text, voice?, format? } | stream di byte audio/* |
POST /ai/audio/transcriptions | Trascrizione vocale | multipart/form-data con file + model | { text } |
POST /ai/video/generations | Video (asincrono) | { model, prompt, ... } | { id, status, pollUrl } |
GET /ai/responses/{id} | Poll asincrono | id risposta | risultato in formato provider |
POST /ai/gateway | Passthrough grezzo | Qualsiasi payload Workers AI / nativo del provider | Risposta upstream grezza |
GET /ai/models | Catalogo | — | { models: [{ id, modality, pricing, ... }] } |
GET /ai/models è la fonte di verità per quali id di modello funzionano su quale endpoint. Leggilo per primo se stai sviluppando rispetto all’API.
Come funziona una chiamata
Ogni chiamata fatturabile passa attraverso cinque fasi. Non vedi la maggior parte di queste — sono tracciate lato server in modo che possiamo rimborsare le chiamate fallite e segnalare l’utilizzo esatto.| Fase | Cosa è successo |
|---|---|
open | Abbiamo creato un evento di fatturazione legato alla tua richiesta, ma non abbiamo ancora chiamato upstream. |
recorded | Il provider upstream ha risposto. Abbiamo un id log da Cloudflare AI Gateway. Il costo non è ancora noto. |
priced | Cloudflare ha segnalato il costo finale. Abbiamo applicato il nostro markup e scritto l’addebito di crediti. Terminale. |
failed | La chiamata upstream è fallita, oppure non abbiamo potuto ottenere un costo dopo 20 tentativi. Il cliente non viene addebitato. Terminale. |
synced | L’evento priced è stato consegnato al nostro sistema di misurazione. |
x-kazzle-ai-billing-event-id: airesp_... — conservalo se vuoi correlare la richiesta con gli export di utilizzo in seguito.
Fatturazione e markup
Addebitiamocloudflare_cost_usd × (1 + markup). Il markup è pubblicato in Impostazioni → Fatturazione → Tariffe. Le chiamate che Cloudflare ha prezzato a $0 (tier gratuito Workers AI, promozioni) raggiungono la fase priced con costo zero e non vengono mai fatturate.
Riserva: hai bisogno di almeno $0,50 equivalenti in crediti per effettuare una chiamata. Trattieniamo questo importo rispetto al tuo saldo fino al completamento della chiamata, quindi saldiamo il costo effettivo.
Errori
| Stato | Significato |
|---|---|
401 | Chiave API kzl_ mancante o non valida. |
402 | Crediti insufficienti per la riserva. Ricarica in Impostazioni → Fatturazione. |
4xx da upstream | Inoltrato così com’è. Il corpo contiene l’errore del provider. Il cliente non viene addebitato. |
5xx da upstream | Inoltrato così com’è. Il cliente non viene addebitato. |
Esempio — generazione di immagini
Esempio — sintesi vocale
Vedi anche
- Riferimento API — schemi completi di richiesta/risposta per ogni endpoint
- Chiavi API — creazione e utilizzo di chiavi
kzl_ - Fatturazione — crediti, piani e markup che applichiamo