Tutorial completo de Workers AI: 10,000 llamadas gratuitas al día a LLM, 90% más barato que OpenAI

Mi factura de OpenAI API llegó a más de 200 dólares en un mes, solo por probar un proyecto pequeño durante unos días. Workers AI fue la alternativa que encontré al explorar las capacidades edge de Cloudflare: 10,000 Neurons gratis al día; en mi uso personal, una semana de pruebas cubrió sin problema el volumen de conversación diario.
En este artículo verás las tres formas de llamar a Workers AI y qué configuración cambiar al migrar desde OpenAI.
¿Qué es Workers AI y por qué merece la pena?
En pocas palabras, Workers AI es el servicio serverless de inferencia de IA de Cloudflare. No necesitas comprar GPU ni administrar servidores: con unas pocas líneas de código puedes invocar modelos open source como Llama o Mistral.
Lo más importante son tres puntos:
-
10,000 Neurons gratis al día
- En la práctica cubre cientos de conversaciones; para proyectos personales basta sobrado
- Con Llama 3.1-8B probé 1,000 conversaciones simples y consumí unos 8,000 Neurons
-
El plan de pago también es barato: $0.011/1000 Neurons
- Un 60-70% menos que OpenAI GPT-3.5
- Más del 90% menos que GPT-4
-
Aceleración en la red edge global
- Cloudflare tiene más de 300 nodos
- La latencia suele ser menor que en muchos proveedores cloud tradicionales
Comparación con otras opciones
¿Funciona bien algo gratis? Aquí va una tabla comparativa:
| Opción | Cuota gratuita | Precio de pago | Velocidad | Modelos |
|---|---|---|---|---|
| Workers AI | 10,000 Neurons/día | $0.011/1k Neurons | Rápida (nodos edge) | 50+ open source |
| OpenAI API | $5 nuevos usuarios (único) | $0.002/1k tokens (GPT-3.5) | Media | Serie GPT |
| HuggingFace | Llamadas gratis limitadas | Según modelo | Más lenta | Gran catálogo |
| Servidor propio | - | Alquiler de GPU costoso | Depende del hardware | Cualquiera |
¿Cuándo conviene Workers AI?
- ✅ Proyectos personales, prototipos, experimentos de aprendizaje
- ✅ Apps en producción a escala media (QPS < 300)
- ✅ Startups sensibles al costo
¿Cuándo encaja peor?
- ⚠️ Procesamiento masivo en batch (cientos de miles de llamadas al día)
- ⚠️ Apps en tiempo real con latencia extrema (< 100 ms)
- ⚠️ Cuando necesitas modelos al nivel de GPT-4 más reciente
"Pruebas con Llama 3.1-8B en diálogo en chino: preguntas cortas (menos de 100 caracteres) consumen 5-8 Neurons por llamada; resúmenes de textos largos (1,000 caracteres de entrada) consumen 30-50 Neurons; generación de código (500 líneas) consume 20-40 Neurons."
¿Alcanza la cuota gratuita? Hagamos números
Los «Neurons» son la unidad de facturación propia de Cloudflare; al principio también me costó entenderlos. En resumen:
Neurons = (tokens de entrada + tokens de salida) × coeficiente del modelo
Cada modelo tiene un coeficiente distinto:
- Llama 3.1-8B: coeficiente ~0.8
- Llama 3.1-70B: coeficiente ~3.5
- Mistral 7B: coeficiente ~0.7
¿Cuántas llamadas puedes hacer?
Con ese consumo, 10,000 Neurons al día permiten aproximadamente:
- 1,000-2,000 conversaciones simples
- 200-300 procesamientos de textos largos
- 250-500 generaciones de código
Para un desarrollador individual, en serio, sobra. Tengo un bot pequeño con Workers AI que procesa cientos de mensajes al día, todo dentro de la cuota gratuita.
¿Qué pasa si superas la cuota gratuita?
Pasa automáticamente a modo de pago: $0.011/1000 Neurons.
Hice el cálculo: aunque te pases, el costo sigue siendo bajo:
- Supón 50,000 Neurons al día (5 veces la cuota gratis)
- Excedente: 40,000 Neurons
- Costo: 40,000 / 1000 × $0.011 = $0.44/día
- Un mes ronda los $13
Frente a OpenAI: el mismo volumen podría costar $50-100. Workers AI sale bastante más barato.
Inicio rápido: tres formas de usar Workers AI
La preparación es sencilla:
- Regístrate en Cloudflare (gratis)
- Instala Node.js (si usas la opción dos o tres)
A continuación, las tres formas de integración, de la más simple a la más avanzada.
Opción 1: la más simple — REST API directa
Es la forma más rápida de probar: ni siquiera hace falta código; basta un comando curl.
Paso 1: obtén API Token y Account ID
- Inicia sesión en Cloudflare y visita https://dash.cloudflare.com
- La barra de direcciones muestra
https://dash.cloudflare.com/xxxxxxxxx; esa cadenaxxxxxxxxxes tu Account ID. Cópiala y guárdala - Haz clic en tu avatar → My Profile → API Tokens
- Create Token → plantilla «Workers AI» → Use template
- Al final se genera un Token que solo se muestra una vez; guárdalo bien
Paso 2: prueba la llamada
Abre la terminal y ejecuta (sustituye Account ID y Token):
curl https://api.cloudflare.com/client/v4/accounts/{tu_Account_ID}/ai/run/@cf/meta/llama-3.1-8b-instruct \
-H "Authorization: Bearer {tu_API_Token}" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "Eres un asistente de IA amigable"},
{"role": "user", "content": "Describe Cloudflare Workers AI en una frase"}
]
}'
Si ves un JSON similar a este, funcionó:
{
"result": {
"response": "Cloudflare Workers AI es una plataforma serverless de inferencia de IA..."
},
"success": true
}
Errores frecuentes:
- Error 7003: Token o Account ID incorrectos; comprueba que copiaste todo
- Error 10000: nombre de modelo mal escrito; debe ser
@cf/meta/llama-3.1-8b-instruct, con el prefijo@cf/ - Timeout: la primera llamada puede tardar (arranque en frío); espera unos 10 segundos; las siguientes van más rápido
Opción 2: recomendada — Workers + Wrangler
Es la forma que recomienda Cloudflare: despliegas una API permanente y la configuración es más cómoda.
Paso 1: instala Wrangler CLI
npm install -g wrangler
Luego inicia sesión en tu cuenta de Cloudflare:
wrangler login
Se abrirá el navegador para autorizar; acepta y listo.
Paso 2: crea el proyecto Worker
npm create cloudflare@latest my-ai-worker
Te hará varias preguntas; puedes elegir así:
- Select a project type: «Hello World» Worker
- Do you want to use TypeScript? Como prefieras; yo elegí No (JavaScript)
- Do you want to use git? Yes
- Do you want to deploy? No por ahora; prueba antes de desplegar
Paso 3: configura el binding de Workers AI
Entra al directorio del proyecto y edita wrangler.toml; añade al final:
[ai]
binding = "AI"
Así accedes a Workers AI con env.AI en el código, sin pasar el Token manualmente.
Paso 4: escribe el código
Edita src/index.js (o index.ts) con este contenido:
export default {
async fetch(request, env) {
// Manejar CORS (si llamas desde una web)
if (request.method === 'OPTIONS') {
return new Response(null, {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
'Access-Control-Allow-Headers': 'Content-Type',
},
});
}
// Solo aceptar POST
if (request.method !== 'POST') {
return new Response('Method not allowed', { status: 405 });
}
try {
// Parsear la solicitud
const { messages } = await request.json();
// Llamar al modelo de IA
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
messages: messages || [
{ role: 'user', content: 'Hello!' }
]
});
// Devolver el resultado
return new Response(JSON.stringify(response), {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
});
} catch (error) {
return new Response(JSON.stringify({ error: error.message }), {
status: 500,
headers: { 'Content-Type': 'application/json' },
});
}
},
};
Paso 5: prueba en local
wrangler dev
Arranca un servidor local, normalmente en http://localhost:8787.
Prueba con curl:
curl http://localhost:8787 \
-X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "Preséntate brevemente"}
]
}'
Si la respuesta es correcta, ya puedes desplegar.
Paso 6: despliega a producción
wrangler deploy
Tras el despliegue obtienes un dominio *.workers.dev, por ejemplo:
https://my-ai-worker.your-name.workers.dev
Esa es tu URL de API de IA, invocable desde cualquier sitio.
Opción 3: OpenAI SDK — migración casi sin cambios
Si ya usabas OpenAI API y quieres pasarte a Workers AI, este método es el más cómodo: casi no tocas el código.
Workers AI expone un endpoint compatible con OpenAI; basta cambiar el baseURL.
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.CLOUDFLARE_API_TOKEN, // Tu Cloudflare Token
baseURL: `https://api.cloudflare.com/client/v4/accounts/${process.env.ACCOUNT_ID}/ai/v1`,
});
// Misma llamada que con OpenAI
const chatCompletion = await client.chat.completions.create({
model: '@cf/meta/llama-3.1-8b-instruct', // Modelo de Workers AI
messages: [
{ role: 'system', content: 'Eres un asistente de IA amigable' },
{ role: 'user', content: 'Hello!' }
],
});
console.log(chatCompletion.choices[0].message.content);
Notas:
apiKey: usa el API Token de CloudflarebaseURL: apunta al endpoint de Workers AImodel: un modelo soportado (con prefijo@cf/)
Tenía un proyecto Next.js con OpenAI; migrarlo a Workers AI me llevó unos 10 minutos: solo esos tres cambios.
¿Qué modelos hay y cómo elegir?
Workers AI soporta más de 50 modelos. Aquí van algunos de los más usados.
Modelos de generación de texto (los más comunes)
| Modelo | Parámetros | Características | Caso de uso | ID del modelo |
|---|---|---|---|---|
| Llama 3.1 | 8B | Equilibrado y rápido | Chat diario, soporte, resúmenes | @cf/meta/llama-3.1-8b-instruct |
| Llama 3.1 | 70B | Mayor calidad, más lento | Razonamiento complejo, textos largos | @cf/meta/llama-3.1-70b-instruct |
| Mistral 7B v0.2 | 7B | Contexto de 32k | Análisis de documentos largos | @cf/mistral/mistral-7b-instruct-v0.2 |
| DeepSeek-R1 | 32B | Fuerte en razonamiento | Matemáticas, código, lógica | @cf/deepseek/deepseek-r1-distill-qwen-32b |
Mis recomendaciones:
-
Para empezar: Llama 3.1-8B
- Respuesta rápida (1-2 segundos)
- Calidad comparable a GPT-3.5
- Bajo consumo de Neurons
-
Si necesitas más calidad: Llama 3.1-70B o DeepSeek-R1
- Mejor razonamiento
- Calidad cercana a GPT-4
- Más lento (3-5 segundos) y consume 3-4 veces más
-
Documentos largos: Mistral 7B v0.2
- Ventana de contexto de 32k (Llama 3.1 solo 8k)
- Ideal para papers largos o código extenso
Casos reales: tres ejemplos
Caso 1: API de preguntas y respuestas (lo más simple)
Escenario: añadir un asistente de IA a tu blog o documentación.
Código completo (basado en la opción 2):
export default {
async fetch(request, env) {
// Permitir CORS
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type',
};
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders });
}
try {
const { question } = await request.json();
// Puedes añadir contexto del sitio en el system prompt
const messages = [
{
role: 'system',
content: 'Eres el asistente de IA de un blog técnico. Respondes sobre desarrollo web y aplicaciones de IA. Sé conciso y amable.'
},
{
role: 'user',
content: question
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{ messages }
);
return new Response(
JSON.stringify({ answer: response.response }),
{ headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
);
} catch (error) {
return new Response(
JSON.stringify({ error: 'Error al procesar; inténtalo más tarde' }),
{ status: 500, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
);
}
}
};
Estimación de costo: 200 usuarios al día, 10 Neurons por conversación → 2,000 Neurons; dentro de la cuota gratuita.
Caso 2: resúmenes de texto en batch
Escenario: generar resúmenes de muchos artículos, p. ej. feeds RSS o noticias.
async function generateSummary(text, env) {
const messages = [
{
role: 'system',
content: 'Eres un asistente de resúmenes. Resume el artículo del usuario en 2-3 frases, destacando la idea central.'
},
{
role: 'user',
content: `Resume el siguiente artículo:\n\n${text}`
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{
messages,
max_tokens: 150 // Limitar salida para ahorrar Neurons
}
);
return response.response;
}
Límites de tasa:
- Llama 3.1-8B: 300 solicitudes/minuto
- En batch, añade retrasos o usa una cola
Ejemplo de costo:
- Artículo de 1,000 caracteres, resumen de 100 → ~30 Neurons por llamada
- 300 artículos = 9,000 Neurons; sigue dentro de la cuota gratuita
Caso 3: servicio de traducción multilingüe
Escenario: herramienta de traducción o i18n en tu app.
async function translate(text, targetLang, env) {
const messages = [
{
role: 'system',
content: `Eres un traductor profesional. Traduce el texto del usuario al ${targetLang}, manteniendo estilo y tono. Devuelve solo la traducción, sin explicaciones.`
},
{
role: 'user',
content: text
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{ messages }
);
return response.response;
}
Comparación de costos:
- Google Cloud Translation API: $20/millón de caracteres
- Workers AI (Llama 3.1): ~$1.65 por millón de caracteres
Más de 10 veces más barato.
Conclusión: ¿merece la pena Workers AI?
Tras un mes de pruebas, mi conclusión: para desarrolladores individuales y equipos pequeños, sí vale mucho la pena.
Ventajas:
- ✅ Cuota gratuita generosa (10,000 Neurons/día)
- ✅ Precio de pago bajo (60-90% menos que OpenAI)
- ✅ Fácil de empezar (REST API e interfaz compatible con OpenAI)
- ✅ Respuesta rápida (red edge global)
- ✅ Amplia elección de modelos (50+ open source)
Mis recomendaciones:
- Proyectos personales: úsalo directamente; la cuota gratis basta y ahorras servidor
- Startups: empieza aquí; cuando crezcas, valora otras opciones
- Empresas: evalúa con cuidado SLA, cumplimiento y soberanía de datos
Si buscas una opción de IA de bajo costo, prueba Workers AI: cuenta en 5 minutos y el primer ejemplo en unos 15. Quizá encaje contigo.
FAQ
¿Alcanza la cuota gratuita de Workers AI?
• 1,000-2,000 conversaciones simples
• 200-300 resúmenes de textos largos
• 250-500 generaciones de código
Es más que suficiente para proyectos personales y apps pequeñas.
¿Cuánto más barato es Workers AI que OpenAI?
• Un 60-70% menos que OpenAI GPT-3.5
• Más del 90% menos que GPT-4
Comparación de costos:
• Con 50,000 Neurons al día, el costo mensual ronda los $13
• OpenAI con el mismo volumen costaría $50-100
¿Cómo migrar de OpenAI a Workers AI?
1) apiKey → tu Cloudflare Token
2) baseURL → el endpoint de Workers AI
3) model → un modelo soportado (p. ej. @cf/meta/llama-3.1-8b-instruct)
¿Qué modelos soporta Workers AI?
• Llama 3.1 (8B/70B)
• Mistral 7B (contexto de 32k)
• DeepSeek-R1 (fuerte en razonamiento)
• Stable Diffusion XL (generación de imágenes)
• Whisper (reconocimiento de voz), etc.
¿Cómo empezar con Workers AI?
1) REST API (la más simple; basta curl para probar)
2) Workers + Wrangler (recomendado; despliega una API permanente)
3) Compatibilidad con OpenAI SDK (ideal si migras desde OpenAI)
Con una cuenta de Cloudflare, en 5-15 minutos ya puedes tenerlo funcionando.
9 min de lectura · Publicado el: 21 nov 2025 · Actualizado el: 21 ago 2026
Guía Cloudflare AI Stack
Estás leyendo el primer artículo de esta serie. Continúa con el siguiente o abre el hub para ver toda la ruta.
Anterior
Estás al inicio de esta serie.
Siguiente
¿La API de OpenAI siempre hace timeout? Crea un canal privado con Workers, sin costo y más estable
Monta un proxy de API de IA con Cloudflare Workers sin costo y en 5 minutos. Compatible con OpenAI, Claude y Gemini: 100.000 peticiones gratis al día, con código completo y guía de configuración segura.
Parte 2 de 5



Comentarios
Inicia sesión con GitHub para dejar un comentario