Em 9 de outubro, o Cloudflare lançou o Clef-omni como um modelo de decisão hospedado no Workers AI, capaz de examinar texto junto com uma imagem, um trecho de áudio ou um vídeo. Para quem desenvolve aplicativos, o teste útil é restrito: fornecer ao modelo o estado do chamado e um conjunto fixo de perguntas, analisar as respostas e deixar a decisão de encaminhamento com uma pessoa. Este guia segue a documentação atual do modelo do Cloudflare e o exemplo de lançamento. A BIG CHANGE não executou a API nem mediu sua precisão em chamados de suporte.
O ID do modelo é @cf/cloudflare/clef-omni no Workers AI. Trata-se de um modelo de decisão: quem chama define perguntas tipadas e opções permitidas, e recebe pontuações para essas opções. Ele não escreve uma resposta de suporte. O Cloudflare também lançou pesos abertos, mas as etapas abaixo usam o endpoint hospedado. Os números de velocidade e benchmark do Cloudflare são afirmações da própria empresa; eles não comprovam como esse fluxo funcionará nos seus chamados.
Prepare o acesso e um conjunto limitado de perguntas
Você precisa de uma conta Cloudflare com acesso ao Workers AI, do ID da conta, de um token da API do Workers AI e de Python com requests instalado ou de uma ferramenta que faça a mesma solicitação HTTP. O guia de configuração REST do Cloudflare mostra onde copiar o ID da conta e criar o token no painel. Um token criado manualmente precisa das permissões Workers AI - Read e Workers AI - Edit . Mantenha o token fora do chamado e do controle de código-fonte.
Enviar um chamado real ou um anexo envia o conteúdo do cliente ao Cloudflare para processamento. A página do Cloudflare sobre uso de dados do Workers AI diz que, sem consentimento explícito, não usa esse conteúdo para treinar modelos oferecidos no Workers AI ou melhorar serviços; também informa que o conteúdo pode ser armazenado quando o Workers AI é usado com um serviço de armazenamento como R2 ou KV. Antes de enviar chamados de clientes, confira seu contrato aplicável com o Cloudflare e as regras da organização sobre dados de clientes, e minimize ou oculte dados pessoais quando for viável. A declaração de que o Cloudflare não treina modelos, por si só, não estabelece permissão para enviar os dados de um cliente específico.
Comece com texto para inspecionar a resposta antes de adicionar mídia. O exemplo de suporte do próprio Cloudflare usa o estado Checkout has been failing for every customer for the last hour e faz três perguntas: se é urgente (noul, do tipo sim/não), qual equipe deve cuidar do caso (choice) e qual é a gravidade do impacto (score). É um exemplo documentado, não um incidente observado. A API aceita uma string ou um objeto/array estruturado como state. O mapa questions deve conter de 1 a 64 IDs de perguntas; cada um tem um tipo e instruções, enquanto choice e score usam critérios para definir as respostas permitidas.
Envie a solicitação de texto
Defina CLOUDFLARE_AUTH_TOKEN no seu ambiente e substitua abaixo o ID da conta. Esta solicitação Python adapta o endpoint e os campos exatos do exemplo de modelo do Cloudflare:
import os
import requests
account_id = "your-account-id"
token = os.environ["CLOUDFLARE_AUTH_TOKEN"]
payload = {
"model": "clef-omni",
"state": "Checkout has been failing for every customer for the last hour.",
"questions": {
"urgent": {
"type": "noul",
"instructions": "Is this support request urgent?",
},
"team": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Payments, invoices, and refunds",
"technical": "Outages, errors, and configuration",
"sales": "Plans and upgrades",
},
},
"severity": {
"type": "score",
"instructions": "How severe is the customer impact?",
"criteria": ["No impact", "Minor", "Major", "Critical"],
},
},
}
response = requests.post(
f"https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run/@cf/cloudflare/clef-omni",
headers={"Authorization": f"Bearer {token}"},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())Para uma verificação bem-sucedida, procure as entradas answers da resposta com os mesmos IDs urgent, team e severity . O Cloudflare descreve a primeira como a probabilidade de urgência, a segunda como a equipe selecionada com probabilidades para suas opções e a terceira como uma pontuação ponderada por probabilidade cujo nível mínimo é zero. A API também documenta os campos de resposta model e usage . Inspecione todo o JSON retornado à sua conta antes de mapeá-lo em um aplicativo. Uma probabilidade é a saída do modelo para a pergunta e o estado fornecidos, não uma garantia de que um chamado real pertence àquela fila. Antes de agir, peça a alguém que compare o chamado e os anexos com o encaminhamento proposto.
Adicione uma foto, gravação ou vídeo
A solicitação de lançamento do Cloudflare coloca as mídias opcionais em arrays separados images, audio e videos , como URLs base64 data: incorporadas. Por exemplo, a amostra usa data:image/png;base64,..., data:audio/mpeg;base64,... e data:video/mp4;base64,.... Para adicionar um arquivo local ao payload Python antes de requests.post, codifique-o e acrescente a data URL ao array correspondente:
import base64
from pathlib import Path
def add_media(payload, field, file_path, mime_type):
raw = Path(file_path).read_bytes()
encoded = base64.b64encode(raw).decode("ascii")
payload.setdefault(field, []).append(f"data:{mime_type};base64,{encoded}")
# Examples: use only the files present in the ticket, with their real MIME types.
# add_media(payload, "images", "photo.png", "image/png")
# add_media(payload, "audio", "recording.mp3", "audio/mpeg")
# add_media(payload, "videos", "clip.mp4", "video/mp4")Execute add_media antes do POST. Mantenha state factual e descreva cada anexo; faça apenas perguntas que o chamado e a mídia disponíveis possam responder. O exemplo de lançamento do Cloudflare usa uma foto de um equipamento, uma gravação de som e um vídeo de ventilador para fazer três perguntas de sim/não sobre detalhes visuais e audíveis. Um aplicativo de suporte pode manter seus próprios campos de chamado em state e suas próprias filas permitidas em criteria, mas deve conferir essas definições com o fluxo de trabalho real. O serviço não aceita URLs remotas de mídia.
Confira os limites antes de codificar. A página do modelo permite até quatro imagens PNG, JPEG ou WebP, cada uma com no máximo 4 MiB e 16 megapixels, com 8 MiB no total de imagens decodificadas. Permite até quatro clipes de áudio, cada um com no máximo 8 MiB e 300 segundos, e dois vídeos, cada um com até 16 MiB e 60 segundos. Áudio e vídeo juntos têm limite decodificado de 16 MiB. O vídeo é amostrado a dois quadros por segundo; sua trilha de áudio é usada junto com os quadros quando todos os vídeos do pedido têm uma. O custo da imagem depende da imagem redimensionada e é limitado a 1.024 tokens por imagem. Se um anexo for grande ou longo demais, peça a uma pessoa que selecione um trecho menor e relevante, ou faça uma verificação somente de texto e analise a mídia original separadamente. Não trate um arquivo recortado ou encurtado como evidência completa.
Confira custo, contexto e caminhos de falha
Atualmente, o Cloudflare lista o Clef-omni por $0,15 por milhão de tokens de entrada e diz que não cobra pelos tokens de saída. A mídia é convertida em tokens de entrada por essa tarifa. A página do modelo informa cerca de 780 tokens por minuto de áudio e até aproximadamente 15.400 tokens por minuto de vídeo na resolução máxima, além dos tokens de áudio quando há som no vídeo. O custo da imagem depende da versão redimensionada e é limitado a 1.024 tokens por imagem. São regras de cobrança, não um preço fixo por anexo.
O modelo hospedado tem um contexto de 64.000 tokens. Mídia e perguntas entram nessa conta. Se excederem a janela, o Cloudflare diz que a solicitação falha; caso contrário, o texto longo em state pode ser truncado para caber. Portanto, uma resposta recebida não prova que o modelo considerou cada linha de um chamado longo. Se a solicitação falhar, inspecione o erro HTTP e reduza ou remova anexos dentro dos limites documentados antes de tentar novamente. Se der certo, confira se os IDs de perguntas esperados estão presentes, mantenha o chamado original para revisão e compare o encaminhamento proposto com as evidências. As probabilidades do modelo podem ajudar o revisor a concentrar a atenção, mas uma garantia de serviço ou um limite automático seguro exigiria avaliação nos seus próprios chamados rotulados.
A grande mudança
O lançamento do Cloudflare em 9 de outubro adiciona áudio e vídeo ao caminho hospedado do modelo de decisão Clef, já usado para perguntas tipadas sobre texto e imagens. Um desenvolvedor pode enviar o estado de um chamado com mídia compatível e receber respostas associadas a um schema fixo em uma única solicitação ao Workers AI. A equipe do aplicativo ainda precisa decidir quais perguntas entram no schema, testar o desempenho nos próprios chamados e exigir aprovação humana antes de responder ou encaminhar.
Fontes e leituras adicionais
- Documentação do modelo Cloudflare Clef-omni, consultada em 10 de outubro de 2026. Referência principal para o ID do modelo hospedado, campos e exemplo da API, limites de mídia e contexto, formato da resposta e preço por token listado. A documentação descreve o comportamento do serviço; a BIG CHANGE não executou a solicitação.
- Publicação de lançamento do Cloudflare Clef-omni, 9 de outubro de 2026. Estabelece a data de lançamento e apresenta o exemplo de solicitação com mídia incorporada. Os números de desempenho e benchmark são afirmações do próprio Cloudflare.
- Configuração REST do Cloudflare Workers AI, última atualização em 15 de setembro de 2026 e consultada em 10 de outubro. Mostra como obter o ID da conta e o token da API e identifica as permissões necessárias para um token criado manualmente.
- Uso de dados do Cloudflare Workers AI, última atualização em 21 de abril de 2026 e consultada em 10 de outubro. Explica o processamento de conteúdo de clientes pelo Cloudflare, a restrição declarada ao uso para treinamento e melhoria de serviços sem consentimento explícito, o possível armazenamento com um serviço de armazenamento separado e o limite do contrato aplicável. Não determina se um desenvolvedor pode enviar um chamado ou gravação específicos.



