A 9 de outubro, a Cloudflare lançou o Clef-omni como um modelo de decisão alojado no Workers AI, capaz de analisar texto juntamente com uma imagem, um excerto de áudio ou um vídeo. Para quem desenvolve aplicações, o teste útil é limitado: fornecer ao modelo o estado do pedido e um conjunto fixo de perguntas, analisar as respostas e deixar a decisão de encaminhamento a cargo de uma pessoa. Este guia segue a documentação atual do modelo da Cloudflare e o exemplo de lançamento. A BIG CHANGE não executou a API nem mediu a sua exatidão em pedidos de apoio.
O ID do modelo é @cf/cloudflare/clef-omni no Workers AI. É um modelo de decisão: quem o chama define perguntas tipificadas e opções permitidas e recebe pontuações para essas opções. Não escreve uma resposta de apoio. A Cloudflare também disponibilizou pesos abertos, mas os passos abaixo usam o endpoint alojado. Os valores de velocidade e desempenho de referência da Cloudflare são afirmações da própria empresa; não demonstram como este fluxo funcionará nos seus pedidos.
Preparar o acesso e um conjunto limitado de perguntas
Precisa de uma conta Cloudflare com acesso ao Workers AI, do respetivo ID de conta, de um token da API do Workers AI e de Python com requests instalado ou de uma ferramenta capaz de fazer o mesmo pedido HTTP. O guia de configuração REST da Cloudflare mostra onde copiar o ID da conta e criar o token no painel de controlo. Um token criado manualmente precisa das permissões Workers AI - Read e Workers AI - Edit . Não inclua o token no pedido nem no controlo de versões.
O envio de um pedido real ou anexo transmite o conteúdo do cliente à Cloudflare para processamento. A página da Cloudflare sobre utilização de dados do Workers AI diz que a empresa não utiliza esse conteúdo para treinar modelos oferecidos no Workers AI nem para melhorar serviços sem consentimento explícito; também indica que o conteúdo pode ser armazenado quando o Workers AI é utilizado com um serviço de armazenamento como o R2 ou o KV. Antes de enviar pedidos de clientes, verifique o acordo Cloudflare aplicável e as regras de dados de clientes da sua organização e, quando for prático, reduza ou oculte informações pessoais. A declaração de que a Cloudflare não treina modelos não basta, por si só, para demonstrar que tem autorização para enviar os dados de um cliente específico.
Comece com texto para poder analisar a resposta antes de acrescentar multimédia. O exemplo de apoio da própria Cloudflare utiliza o estado Checkout has been failing for every customer for the last hour e faz três perguntas: se o caso é urgente (noul, do tipo sim/não), que equipa o deve tratar (choice) e qual a gravidade do impacto (score). É um exemplo documentado, não um incidente observado. A API aceita uma cadeia de texto ou um objeto/array estruturado como state. O mapa questions tem de conter entre 1 e 64 IDs de perguntas; cada um tem um tipo e instruções, enquanto choice e score usam critérios para definir as respostas permitidas.
Enviar o pedido de texto
Defina CLOUDFLARE_AUTH_TOKEN no seu ambiente e substitua abaixo o ID da conta. Este pedido Python adapta o endpoint e os campos exatos do exemplo de modelo da 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 . A Cloudflare descreve a primeira como a probabilidade de urgência, a segunda como a equipa selecionada com probabilidades para as respetivas opções e a terceira como uma pontuação ponderada por probabilidades cujo nível mínimo é zero. A API também documenta os campos de resposta model e usage . Analise o JSON completo devolvido à sua conta antes de o integrar numa aplicação. Uma probabilidade é o resultado do modelo para a pergunta e o estado fornecidos, não uma garantia de que um pedido real pertence àquela fila. Antes de agir, peça a uma pessoa que compare o pedido e os anexos com o encaminhamento proposto.
Adicionar uma fotografia, gravação ou vídeo
O pedido de lançamento da Cloudflare coloca a multimédia opcional em arrays separados images, audio e videos , como URLs base64 data: incorporadas. Por exemplo, a amostra utiliza data:image/png;base64,..., data:audio/mpeg;base64,... e data:video/mp4;base64,.... Para acrescentar um ficheiro local à carga Python antes de requests.post, codifique-o e junte o URL de dados 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 a que o pedido e os meios disponíveis possam responder. O exemplo de lançamento da Cloudflare utiliza uma fotografia de uma unidade, uma gravação de som e um vídeo de uma ventoinha para fazer três perguntas de sim/não sobre pormenores visíveis e audíveis. Uma aplicação de apoio pode manter os seus próprios campos de pedido em state e as suas filas permitidas em criteria, mas deve confrontar essas definições com o fluxo de trabalho real. O serviço não aceita URLs remotos de multimédia.
Verifique os limites antes de codificar. A página do modelo permite até quatro imagens PNG, JPEG ou WebP, cada uma com um máximo de 4 MiB e 16 megapíxeis, e um total de 8 MiB de imagens descodificadas. Permite até quatro excertos de áudio, cada um com um máximo de 8 MiB e 300 segundos, e dois vídeos, cada um até 16 MiB e 60 segundos. O limite conjunto de áudio e vídeo descodificados é 16 MiB. O vídeo é amostrado a duas imagens por segundo; a banda sonora é utilizada com as imagens quando todos os vídeos do pedido têm uma. O custo da imagem depende da versão redimensionada e está limitado a 1 024 tokens por imagem. Se um anexo for demasiado grande ou longo, peça a uma pessoa que selecione um excerto menor e relevante ou faça uma verificação apenas de texto e analise o original separadamente. Não trate um ficheiro cortado ou encurtado como prova completa.
Verificar custo, contexto e tratamento de falhas
Atualmente, a Cloudflare indica o preço do Clef-omni como $0,15 por milhão de tokens de entrada e afirma que não cobra tokens de saída. A multimédia é convertida em tokens de entrada a esse preço. A página do modelo indica cerca de 780 tokens por minuto de áudio e até cerca de 15 400 tokens por minuto de vídeo na resolução máxima, mais tokens de áudio quando o vídeo tem som. O custo da imagem depende da imagem redimensionada e está limitado a 1 024 tokens por imagem. São regras de faturação, não um preço fixo por anexo.
O modelo alojado tem um contexto de 64 000 tokens. A multimédia e as perguntas contam para esse limite. Se o excederem, a Cloudflare diz que o pedido falha; caso contrário, o texto longo em state pode ser truncado para caber. Uma resposta devolvida, portanto, não prova que o modelo tenha considerado todas as linhas de um pedido longo. Se um pedido falhar, analise o erro HTTP e reduza ou retire anexos dentro dos limites documentados antes de tentar novamente. Se for bem-sucedido, confirme que os IDs de perguntas esperados estão presentes, guarde o pedido original para revisão e compare o encaminhamento proposto com a evidência. As probabilidades do modelo podem ajudar um revisor a concentrar a atenção, mas uma garantia de serviço ou um limiar automático seguro exigiria avaliação nos seus próprios pedidos identificados.
A grande mudança
O lançamento da Cloudflare de 9 de outubro acrescenta áudio e vídeo ao percurso do modelo de decisão Clef alojado, já utilizado para perguntas escritas sobre texto e imagens. Um programador pode enviar o estado de um pedido com multimédia suportada e receber respostas associadas a um esquema fixo num único pedido ao Workers AI. Cabe ainda à equipa da aplicação decidir que perguntas pertencem ao esquema, testar o desempenho nos seus próprios pedidos e exigir aprovação humana antes de responder ou encaminhar.
Fontes e leituras adicionais
- Documentação do modelo Cloudflare Clef-omni, consultada a 10 de outubro de 2026. Referência principal para o ID do modelo alojado, os campos e o exemplo da API, os limites de multimédia e contexto, o formato da resposta e o preço por token indicado. A documentação descreve o comportamento do serviço; a BIG CHANGE não executou o pedido.
- 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 pedido com multimédia incorporada. Os valores de desempenho e de referência são afirmações da própria Cloudflare.
- Configuração REST do Cloudflare Workers AI, última atualização em 15 de setembro de 2026 e consulta 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.
- Utilização de dados do Cloudflare Workers AI, última atualização em 21 de abril de 2026 e consulta em 10 de outubro. Explica o processamento de conteúdo de clientes pela Cloudflare, a restrição declarada à utilização para treino e melhoria do serviço sem consentimento explícito, o possível armazenamento quando se utiliza um serviço de armazenamento separado e o limite do acordo aplicável. Não determina se um programador pode enviar um pedido ou gravação específico.



