/ai/* en https://api.kazzle.app y aceptan una clave API kzl_ en el header Authorization. Consulta Claves API para saber cómo crear una.
Las apps de Kazzle generadas también deben usar esta API. Crea una clave API de Kazzle para la app, guárdala en el vault, configúrala como KAZZLE_API_KEY en un componente de proceso, y llama a https://api.kazzle.app/ai/* desde ese código del lado del servidor. No pidas a los usuarios claves de proveedores a menos que explícitamente quieran usar su propia cuenta de proveedor.
Capacidades
| Endpoint | Modalidad | Entrada estandarizada | Salida estandarizada |
|---|---|---|---|
POST /ai/chat/completions | Chat (texto, streaming) | messages[] compatible con OpenAI | choices[] compatible con OpenAI o stream SSE |
POST /ai/responses | API de Respuestas | Compatible con Respuestas de OpenAI | Compatible con Respuestas de OpenAI |
POST /ai/images/generations | Imagen | { model, prompt, size?, output_format? } | { images: [{ url? | b64?, mimeType }] } |
POST /ai/audio/speech | Síntesis de voz | { model, text, voice?, format? } | stream de bytes audio/* |
POST /ai/audio/transcriptions | Reconocimiento de voz | multipart/form-data con file + model | { text } |
POST /ai/video/generations | Vídeo (asincrónico) | { model, prompt, ... } | { id, status, pollUrl } |
GET /ai/responses/{id} | Sondeo asincrónico | id de respuesta | resultado con forma de proveedor |
POST /ai/gateway | Paso directo | Cualquier payload nativo de Workers AI / proveedor | Respuesta upstream sin procesar |
GET /ai/models | Catálogo | — | { models: [{ id, modality, pricing, ... }] } |
GET /ai/models es la fuente de verdad sobre qué ids de modelo funcionan en qué endpoint. Consúltalo primero si estás construyendo contra la API.
Cómo funciona una llamada
Cada llamada facturable pasa por cinco fases. No ves la mayoría — se rastrean del lado del servidor para que podamos reembolsar llamadas fallidas e informar el uso exacto.| Fase | Qué sucedió |
|---|---|
open | Hemos creado un evento de facturación vinculado a tu solicitud, pero aún no hemos llamado al proveedor. |
recorded | El proveedor upstream respondió. Tenemos un id de log de Cloudflare AI Gateway. El costo aún no se conoce. |
priced | Cloudflare reportó el costo final. Aplicamos nuestro margen y registramos el cargo de crédito. Terminal. |
failed | La llamada upstream falló, o no pudimos obtener un costo después de 20 reintentos. El cliente no es facturado. Terminal. |
synced | El evento facturado ha sido entregado a nuestro sistema de medición. |
x-kazzle-ai-billing-event-id: airesp_... — guárdalo si quieres correlacionar la solicitud con exportaciones de uso más tarde.
Facturación y margen
Cobramoscloudflare_cost_usd × (1 + markup). El margen se publica en Configuración → Facturación → Precios. Las llamadas que Cloudflare facturó a $0 (nivel gratuito de Workers AI, promociones) alcanzan la fase priced con costo cero y nunca se facturan.
Reserva: necesitas al menos $0.50 equivalente en créditos para hacer una llamada. Retenemos esto contra tu saldo hasta que la llamada termine, luego liquidamos el costo real.
Errores
| Estado | Significado |
|---|---|
401 | Clave API kzl_ faltante o inválida. |
402 | Créditos insuficientes para la reserva. Recarga en Configuración → Facturación. |
4xx desde upstream | Reenviado tal cual. El cuerpo contiene el error del proveedor. El cliente no es facturado. |
5xx desde upstream | Reenviado tal cual. El cliente no es facturado. |
Ejemplo — generación de imágenes
Ejemplo — síntesis de voz
Ver también
- Referencia de API — esquemas completos de solicitud/respuesta para cada endpoint
- Claves API — creación y uso de claves
kzl_ - Facturación — créditos, planes y el margen que aplicamos