/ai/* sur https://api.kazzle.app et acceptent une clé API kzl_ dans l’en-tête Authorization. Voir Clés API pour savoir comment en créer une.
Les apps Kazzle générées doivent aussi utiliser cette API. Créez une clé API Kazzle pour l’app, stockez-la dans le vault, configurez-la comme KAZZLE_API_KEY sur un composant de processus, et appelez https://api.kazzle.app/ai/* depuis ce code côté serveur. Ne demandez pas aux utilisateurs leurs clés de fournisseur sauf s’ils veulent explicitement utiliser leur propre compte fournisseur.
Capacités
| Point de terminaison | Modalité | Entrée standardisée | Sortie standardisée |
|---|---|---|---|
POST /ai/chat/completions | Chat (texte, streaming) | messages[] compatible OpenAI | choices[] compatible OpenAI ou flux SSE |
POST /ai/responses | API Responses | Compatible OpenAI Responses | Compatible OpenAI Responses |
POST /ai/images/generations | Image | { model, prompt, size?, output_format? } | { images: [{ url? | b64?, mimeType }] } |
POST /ai/audio/speech | Synthèse vocale | { model, text, voice?, format? } | flux d’octets audio/* |
POST /ai/audio/transcriptions | Reconnaissance vocale | multipart/form-data avec file + model | { text } |
POST /ai/video/generations | Vidéo (asynchrone) | { model, prompt, ... } | { id, status, pollUrl } |
GET /ai/responses/{id} | Interrogation asynchrone | id de réponse | résultat formaté fournisseur |
POST /ai/gateway | Passthrough brut | N’importe quel payload Workers AI / natif fournisseur | Réponse brute en amont |
GET /ai/models | Catalogue | — | { models: [{ id, modality, pricing, ... }] } |
GET /ai/models est la source de vérité pour savoir quels ids de modèle fonctionnent sur quel point de terminaison. Consultez-le d’abord si vous construisez contre l’API.
Comment fonctionne un appel
Chaque appel facturable passe par cinq phases. Vous ne voyez pas la plupart d’entre elles — elles sont suivies côté serveur pour que nous puissions rembourser les appels échoués et signaler l’utilisation exacte.| Phase | Ce qui s’est passé |
|---|---|
open | Nous avons créé un événement de facturation lié à votre demande, mais n’avons pas encore appelé en amont. |
recorded | Le fournisseur en amont a répondu. Nous avons un id de journal de Cloudflare AI Gateway. Le coût n’est pas encore connu. |
priced | Cloudflare a signalé le coût final. Nous avons appliqué notre marge et écrit la charge de crédit. Terminal. |
failed | L’appel en amont a échoué, ou nous n’avons pas pu obtenir un coût après 20 tentatives. Le client n’est pas facturé. Terminal. |
synced | L’événement tarifé a été livré à notre système de mesure. |
x-kazzle-ai-billing-event-id: airesp_... — conservez-le si vous voulez corréler la demande avec les exports d’utilisation plus tard.
Facturation et marge
Nous facturonscloudflare_cost_usd × (1 + markup). La marge est publiée dans Paramètres → Facturation → Tarification. Les appels que Cloudflare a tarifés à $0 (tier Workers AI gratuit, promos) atteignent la phase priced avec un coût zéro et ne sont jamais facturés.
Réserve : vous avez besoin d’au moins $0,50 équivalent en crédits pour faire un appel. Nous le retenons sur votre solde jusqu’à ce que l’appel se termine, puis nous réglons le coût réel.
Erreurs
| Statut | Signification |
|---|---|
401 | Clé API kzl_ manquante ou invalide. |
402 | Crédits insuffisants pour la réserve. Rechargez dans Paramètres → Facturation. |
4xx en amont | Transféré tel quel. Le corps contient l’erreur du fournisseur. Le client n’est pas facturé. |
5xx en amont | Transféré tel quel. Le client n’est pas facturé. |
Exemple — génération d’image
Exemple — synthèse vocale
Voir aussi
- Référence API — schémas complets de demande/réponse pour chaque point de terminaison
- Clés API — création et utilisation des clés
kzl_ - Facturation — crédits, plans et marge que nous appliquons