Tutorial completo de Workers AI: 10.000 chamadas de modelo por dia e até 90% menos custo que OpenAI

Minha fatura da OpenAI API já passou de 200 dólares em um mês, e tudo começou com alguns dias de teste de um projeto pequeno. O Workers AI foi uma alternativa que descobri enquanto explorava os recursos de borda da Cloudflare: 10.000 Neurons gratuitos por dia. Rodei um teste pessoal por uma semana e, para conversas do dia a dia, a cota foi suficiente.
Neste artigo, vou mostrar três formas de chamar o Workers AI e quais configurações você precisa alterar ao migrar da OpenAI.
O que é Workers AI e por que vale atenção?
Em termos simples, Workers AI é o serviço de inferência de inteligência artificial (IA) serverless da Cloudflare. Você não precisa comprar GPU, nem administrar servidores. Com poucas linhas de código, já consegue chamar modelos open source como Llama e Mistral.
Os três pontos mais importantes são:
-
10.000 Neurons gratuitos por dia
- Nos meus testes, isso dá para algumas centenas de conversas; para projetos pessoais, é bem suficiente
- Usando o modelo Llama 3.1-8B, testei 1000 conversas simples e consumi cerca de 8000 Neurons
-
Mesmo no pago, o preço é baixo: $0.011/1000 Neurons
- 60-70% mais barato que o OpenAI GPT-3.5
- Mais de 90% mais barato que o GPT-4
-
Aceleração pela rede global de borda
- A Cloudflare tem mais de 300 pontos de presença
- A velocidade de resposta é melhor que a de muitos provedores de nuvem
Comparando com outras opções
Você talvez pergunte: algo gratuito funciona bem mesmo? Montei uma tabela para comparar:
| Solução | Cota gratuita | Preço pago | Velocidade de resposta | Escolha de modelos |
|---|---|---|---|---|
| Workers AI | 10.000 Neurons/dia | $0.011/1k Neurons | Rápida, por nós de borda | 50+ modelos open source |
| OpenAI API | $5 para novos usuários, uma vez | $0.002/1k tokens (GPT-3.5) | Média | Série GPT |
| HuggingFace | Chamadas gratuitas limitadas | Cobrança por modelo | Mais lenta | Enorme variedade de modelos |
| Servidor próprio | - | Custo alto de aluguel de GPU | Depende da configuração | Qualquer modelo |
Quando faz sentido usar Workers AI?
- ✅ Projetos pessoais, protótipos e experimentos de aprendizagem
- ✅ Aplicações em produção de pequeno e médio porte (QPS < 300)
- ✅ Startups sensíveis a custo
Quando ele pode não ser a melhor escolha?
- ⚠️ Processamento em lote em grande escala, com centenas de milhares de chamadas por dia
- ⚠️ Aplicações em tempo real extremamente sensíveis à latência, que precisam de resposta abaixo de 100 ms
- ⚠️ Cenários que exigem modelos mais recentes no nível do GPT-4
"Teste com Llama 3.1-8B processando conversas em chinês: perguntas simples, com até 100 caracteres, consumiram 5-8 Neurons por chamada; resumos de textos longos, com 1000 caracteres de entrada, consumiram 30-50 Neurons por chamada; geração de código, com 500 linhas, consumiu 20-40 Neurons por chamada."
A cota gratuita dá para usar? Vamos fazer a conta
Esse tal de “Neurons” é a unidade de cobrança definida pela própria Cloudflare. No começo, eu também fiquei confuso. Uma forma simples de entender é:
Neurons = (tokens de entrada + tokens de saída) × coeficiente do modelo
Cada modelo tem um coeficiente diferente:
- Llama 3.1-8B: coeficiente em torno de 0,8
- Llama 3.1-70B: coeficiente em torno de 3,5
- Mistral 7B: coeficiente em torno de 0,7
Quantas chamadas isso representa na prática?
Com esse nível de consumo, 10.000 Neurons por dia dão aproximadamente para:
- 1000 a 2000 conversas simples
- 200 a 300 processamentos de texto longo
- 250 a 500 gerações de código
Sendo bem direto: para uma pessoa desenvolvedora independente, é bastante. Hoje uso Workers AI para rodar um pequeno bot que processa algumas centenas de mensagens por dia, e tudo fica dentro da cota gratuita.
O que acontece se passar da cota gratuita?
Ele passa automaticamente para o modo pago, a $0.011/1000 Neurons.
Fiz uma conta rápida. Mesmo passando da cota, o custo continua baixo:
- Suponha que você use 50.000 Neurons por dia, 5 vezes a cota gratuita
- Parte excedente: 40.000 Neurons
- Custo: 40.000 / 1000 × $0.011 = $0.44/dia
- Em um mês, isso dá cerca de $13
Comparando com OpenAI: para um volume semelhante, talvez você pague $50-100. O Workers AI realmente sai bem mais barato.
Começo rápido: três formas de chamar Workers AI
Os pré-requisitos são simples:
- Criar uma conta Cloudflare (gratuita)
- Instalar Node.js (se for usar os métodos dois ou três)
A seguir, vou apresentar três formas de chamada, da mais simples à mais avançada, para você escolher conforme a sua necessidade.
Método 1: o mais simples, direto pela REST API
Esta é a forma mais rápida de experimentar. Você nem precisa escrever código: um comando curl já testa tudo.
Passo 1: obter API Token e Account ID
- Entre na Cloudflare e acesse https://dash.cloudflare.com
- A barra de endereço mostrará
https://dash.cloudflare.com/xxxxxxxxx; essa sequênciaxxxxxxxxxé o seu Account ID, então copie e guarde - Clique no avatar no canto superior direito → My Profile → API Tokens
- Clique em “Create Token” → encontre o template “Workers AI” → “Use template”
- Avance até o fim. Será gerado um Token. Ele aparece uma única vez, então salve com cuidado
Passo 2: testar a chamada
Abra o terminal e rode este comando, substituindo pelo seu Account ID e Token:
curl https://api.cloudflare.com/client/v4/accounts/{seu_Account_ID}/ai/run/@cf/meta/llama-3.1-8b-instruct \
-H "Authorization: Bearer {seu_API_Token}" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "Você é um assistente de IA amigável"},
{"role": "user", "content": "Apresente o Cloudflare Workers AI em uma frase"}
]
}'
Se você vir um JSON parecido com este, a chamada funcionou:
{
"result": {
"response": "Cloudflare Workers AI é uma plataforma serverless de inferência de IA..."
},
"success": true
}
Erros comuns:
- Erro 7003: Token ou Account ID foi preenchido errado. Confira se você copiou tudo
- Erro 10000: nome do modelo incorreto. O correto é
@cf/meta/llama-3.1-8b-instruct; não esqueça o@cf/ - Timeout: a primeira chamada pode ser mais lenta por causa de cold start. Espere cerca de 10 segundos; depois costuma ficar mais rápido
Método 2: recomendado, implantação com Workers + Wrangler
Esta é a forma recomendada oficialmente. A vantagem é transformar isso em uma API permanente, com configuração mais fácil de manter.
Passo 1: instalar a Wrangler CLI
npm install -g wrangler
Depois, faça login na sua conta Cloudflare:
wrangler login
O navegador será aberto automaticamente para você autorizar. Basta aceitar.
Passo 2: criar um projeto Worker
npm create cloudflare@latest my-ai-worker
Ele fará algumas perguntas. Escolha assim:
- Select a project type: “Hello World” Worker
- Do you want to use TypeScript? Depende da sua preferência; eu escolhi No, usando JavaScript
- Do you want to use git? Yes
- Do you want to deploy? Escolha No primeiro, e faça o deploy depois de testar
Passo 3: configurar o binding do Workers AI
Entre no diretório do projeto, edite o arquivo wrangler.toml e adicione estas linhas no final:
[ai]
binding = "AI"
Assim, você poderá acessar o serviço Workers AI no código usando env.AI, sem passar Token manualmente.
Passo 4: escrever o código
Edite src/index.js ou index.ts e substitua o conteúdo por isto:
export default {
async fetch(request, env) {
// Trata CORS, se você for chamar a API a partir de uma página 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',
},
});
}
// Aceita apenas requisições POST
if (request.method !== 'POST') {
return new Response('Method not allowed', { status: 405 });
}
try {
// Analisa a requisição
const { messages } = await request.json();
// Chama o modelo de IA
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
messages: messages || [
{ role: 'user', content: 'Hello!' }
]
});
// Retorna o 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' },
});
}
},
};
Passo 5: testar localmente
wrangler dev
Isso inicia um servidor local, normalmente em http://localhost:8787.
Teste com curl:
curl http://localhost:8787 \
-X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "Apresente você mesmo"}
]
}'
Se a resposta vier normalmente, você já pode fazer o deploy.
Passo 6: implantar em produção
wrangler deploy
Depois do deploy, ele fornecerá um domínio *.workers.dev, por exemplo:
https://my-ai-worker.your-name.workers.dev
Esse será o endereço da sua API de IA, acessível de qualquer lugar.
Método 3: migração sem atrito usando OpenAI SDK
Se você já usava a OpenAI API e quer trocar para Workers AI, este é o método mais prático: quase não precisa alterar o código.
O Workers AI oferece um endpoint compatível com OpenAI. Você só precisa mudar o baseURL.
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.CLOUDFLARE_API_TOKEN, // Use seu Cloudflare Token
baseURL: `https://api.cloudflare.com/client/v4/accounts/${process.env.ACCOUNT_ID}/ai/v1`,
});
// A chamada é igual à da OpenAI
const chatCompletion = await client.chat.completions.create({
model: '@cf/meta/llama-3.1-8b-instruct', // Troque pelo nome do modelo no Workers AI
messages: [
{ role: 'system', content: 'Você é um assistente de IA amigável' },
{ role: 'user', content: 'Hello!' }
],
});
console.log(chatCompletion.choices[0].message.content);
Pontos de atenção:
apiKeyusa o API Token da CloudflarebaseURLdeve apontar para o endpoint do Workers AImodeldeve ser um modelo suportado pelo Workers AI, com@cf/no início
Eu tinha um projeto Next.js usando OpenAI. A migração para Workers AI levou só 10 minutos: bastou alterar esses três pontos.
Quais modelos posso usar? Como escolher?
Hoje o Workers AI suporta mais de 50 modelos. Separei alguns dos mais comuns para apresentar.
Modelos de geração de texto, os mais usados
| Modelo | Parâmetros | Características | Cenários recomendados | ID do modelo |
|---|---|---|---|---|
| Llama 3.1 | 8B | Bom equilíbrio e resposta rápida | Conversas do dia a dia, atendimento, resumo | @cf/meta/llama-3.1-8b-instruct |
| Llama 3.1 | 70B | Qualidade mais alta, um pouco mais lento | Raciocínio complexo, textos longos | @cf/meta/llama-3.1-70b-instruct |
| Mistral 7B v0.2 | 7B | Contexto de 32k | Análise de documentos longos | @cf/mistral/mistral-7b-instruct-v0.2 |
| DeepSeek-R1 | 32B | Forte capacidade de raciocínio | Matemática, código, lógica | @cf/deepseek/deepseek-r1-distill-qwen-32b |
Minha sugestão de escolha:
-
Para começar, use Llama 3.1-8B
- Responde rápido, em 1-2 segundos
- A qualidade é suficiente e não fica atrás do GPT-3.5
- Consome menos da cota gratuita
-
Se precisar de mais qualidade, use Llama 3.1-70B ou DeepSeek-R1
- Raciocínio mais forte
- Qualidade de geração próxima ao GPT-4
- É mais lento, cerca de 3-5 segundos, e consome 3-4 vezes mais
-
Para análise de documentos longos, use Mistral 7B v0.2
- Suporta janela de contexto de 32k; o Llama 3.1 tem apenas 8k
- Serve bem para artigos longos e bases grandes de código
Casos práticos: três exemplos reais
Caso 1: construir uma API inteligente de perguntas e respostas, a opção mais simples
Cenário: adicionar um atendimento por IA ao seu blog ou site de documentação.
Código completo, baseado no método 2:
export default {
async fetch(request, env) {
// Permite chamadas cross-origin
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();
// Você pode adicionar o contexto do seu site ao prompt de system
const messages = [
{
role: 'system',
content: 'Você é um assistente de IA de um blog técnico. Responda principalmente perguntas sobre desenvolvimento Web e aplicações de IA. As respostas devem ser concisas e amigáveis.'
},
{
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: 'Falha ao processar. Tente novamente mais tarde.' }),
{ status: 500, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
);
}
}
};
Estimativa de custo: supondo 200 perguntas de usuários por dia, com 10 Neurons por conversa, o total fica em 2000 Neurons, totalmente dentro da cota gratuita.
Caso 2: geração em lote de resumos de texto
Cenário: você tem vários artigos que precisam de resumo, como em RSS, curadoria ou captura de notícias.
async function generateSummary(text, env) {
const messages = [
{
role: 'system',
content: 'Você é um assistente profissional de resumo de textos. Resuma o artigo fornecido pelo usuário em 2 a 3 frases, destacando as ideias principais.'
},
{
role: 'user',
content: `Resuma o artigo abaixo:\n\n${text}`
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{
messages,
max_tokens: 150 // Limita o tamanho da saída e economiza Neurons
}
);
return response.response;
}
Atenção ao limite de taxa:
- O limite do Llama 3.1-8B é de 300 requisições por minuto
- Para processamento em lote, adicione atraso ou use uma fila
Exemplo de cálculo de custo:
- Suponha que cada artigo tenha 1000 caracteres e gere um resumo de 100 caracteres
- Cada chamada consome cerca de 30 Neurons
- Processar 300 artigos = 9000 Neurons, ainda dentro da cota gratuita
Caso 3: serviço de tradução multilíngue
Cenário: criar uma ferramenta de tradução ou adicionar suporte internacional ao seu aplicativo.
async function translate(text, targetLang, env) {
const messages = [
{
role: 'system',
content: `Você é um assistente profissional de tradução. Traduza a entrada do usuário para ${targetLang}, mantendo o estilo e o tom do texto original. Retorne apenas a tradução, sem nenhuma explicação.`
},
{
role: 'user',
content: text
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{ messages }
);
return response.response;
}
Comparação de custo:
- Google Cloud Translation API: $20 por milhão de caracteres
- Workers AI (Llama 3.1): cerca de $1.65 por milhão de caracteres
Fica mais de 10 vezes mais barato.
Conclusão: vale a pena testar Workers AI?
Depois de um mês de testes, minha conclusão é: para pessoas desenvolvedoras independentes e equipes pequenas, vale muito a pena.
Vantagens:
- ✅ Cota gratuita generosa, com 10.000 Neurons por dia
- ✅ Preço pago baixo, 60-90% mais barato que OpenAI
- ✅ Começo simples, com REST API e interface compatível com OpenAI
- ✅ Boa velocidade de resposta, graças à rede global de borda
- ✅ Muitas opções de modelo, com mais de 50 modelos open source
Minha recomendação:
- Em projetos pessoais, use direto, porque a cota gratuita costuma bastar e ainda elimina custo de servidor
- Em projetos de startup, dá para começar com ele e considerar migração para outras soluções quando a escala crescer
- Em aplicações corporativas, avalie com cautela, considerando SLA, conformidade de dados e outros requisitos
Se você também está procurando uma solução de IA de baixo custo, vale testar Workers AI. Criar a conta leva 5 minutos; rodar o primeiro exemplo leva uns 15 minutos. Talvez encaixe muito bem no seu caso.
FAQ
A cota gratuita do Workers AI é suficiente?
• 1000 a 2000 conversas simples
• 200 a 300 resumos de textos longos
• 250 a 500 gerações de código
Para projetos pessoais e aplicações pequenas, costuma ser suficiente.
Quanto o Workers AI economiza em relação à OpenAI?
• 60-70% mais barato que o OpenAI GPT-3.5
• Mais de 90% mais barato que o GPT-4
Comparação de custo:
• Supondo 50.000 Neurons por dia, o custo mensal fica em torno de $13
• Na OpenAI, volume semelhante pode custar $50-100
Como migrar da OpenAI para o Workers AI?
1) Trocar apiKey pelo Cloudflare Token
2) Trocar baseURL pelo endpoint do Workers AI
3) Trocar model por um modelo compatível com Workers AI, como @cf/meta/llama-3.1-8b-instruct
Quais modelos o Workers AI suporta?
• Llama 3.1 (8B/70B)
• Mistral 7B (contexto de 32k)
• DeepSeek-R1 (forte em raciocínio)
• Stable Diffusion XL (geração de imagens)
• Whisper (reconhecimento de fala), entre outros
Como começar a usar Workers AI?
1) REST API, o mais simples, testável com curl
2) Implantação com Workers + Wrangler, recomendada para publicar uma API permanente
3) Compatibilidade com OpenAI SDK, ideal para migrar da OpenAI
Depois de criar uma conta Cloudflare, dá para começar em 5 a 15 minutos.
11 min de leitura · Publicado em: 21 nov 2025 · Atualizado em: 14 jul 2026
Guia Cloudflare AI Stack
Você está lendo o primeiro post desta série. Continue para o próximo ou abra o hub da série para ver toda a trilha.
Anterior
Você está no início desta série.
Próximo
A API da OpenAI vive expirando? Crie um proxy particular com Workers, grátis e mais estável
Aprenda a criar gratuitamente um proxy para APIs de IA com Cloudflare Workers em apenas 5 minutos. Compatível com OpenAI, Claude e Gemini, oferece 100 mil requisições gratuitas por dia e inclui código completo e configurações de segurança.
Parte 2 de 5



Comentários
Entre com GitHub para comentar