Comparativos

OpenAI Batch API ou Anthropic Message Batches: arquivo ou lista para processar em lote?

Ilustração editorial de cartões de tarefas passando por duas rotas de processamento em lote

OpenAI Batch API e Anthropic Message Batches resolvem o mesmo problema operacional: processar muitas requisições sem esperar cada resposta na tela. O caminho de entrada, porém, não é igual. Na OpenAI, você prepara um arquivo JSONL, faz upload e cria o lote apontando para esse arquivo. Na Anthropic, envia uma lista de requisições da Messages API ao criar o lote. A melhor escolha depende também do modelo, dos dados que podem ser enviados e da rotina que sua equipe consegue auditar.

Este comparativo foi apurado nas documentações oficiais consultadas em 13 de outubro de 2026. O Bastidores não executou benchmark, não processou dados de clientes nas APIs e não mediu latência real. As recomendações são análise editorial sobre fluxos documentados, não resultado de um teste lado a lado.

Capa: ilustração editorial original de uma fila de tarefas dividida em duas rotas. Não é captura real de produto nem resultado de teste.

O que está sendo comparado

O recorte é processamento assíncrono de requisições de modelos. Não se trata de comparar a qualidade de GPT e Claude, nem de substituir uma chamada síncrona quando o usuário precisa de resposta imediata. A OpenAI apresenta Batch API para avaliações, classificação e criação de embeddings, entre outros trabalhos que toleram espera. A Anthropic apresenta Message Batches para agrupar chamadas à Messages API. A adequação depende da tarefa concreta, do modelo escolhido e dos requisitos de conformidade.

Comparação direta

Critério OpenAI Batch API Anthropic Message Batches
Entrada do lote Arquivo JSONL enviado com finalidade de batch; depois, criação do lote com o identificador do arquivo e o endpoint. Lista de requisições com custom_id e parâmetros da Messages API enviada na criação do lote.
Saída Arquivos de resultados e de erros associados ao lote, recuperados por identificador. Resultados em JSONL obtidos pela URL de resultados do lote.
Prazo documentado Janela de conclusão de 24 horas; requisições não concluídas podem expirar. Até 24 horas; o lote também pode expirar antes de concluir tudo.
Reconciliação Use custom_id; a ordem de saída pode diferir da entrada. Use custom_id; a ordem dos resultados não é garantida.
Desconto documentado 50% em relação às APIs síncronas correspondentes. Cobrança de uso de batch a 50% do preço padrão da API.
Principal atenção operacional Preparar, versionar e proteger o arquivo de entrada e conferir saídas parciais. Validar o formato de cada mensagem, controlar o Workspace e baixar os resultados dentro do prazo.

Os valores acima são descontos relativos documentados, não uma estimativa de conta nem uma garantia de economia total do projeto. Modelo, volume, ferramentas chamadas e processamento adicional continuam importando. Consulte o guia da OpenAI e o guia da Anthropic antes de orçar uma carga real.

Entrada: arquivo ou lista de mensagens

Na OpenAI, cada linha do JSONL descreve uma requisição e traz um custom_id único. O arquivo é enviado à Files API com finalidade batch; depois, a criação do lote informa o arquivo, um endpoint como /v1/responses e a janela de conclusão. A referência de criação registra os limites atuais de até 50 mil requisições e 200 MB por arquivo. Esses limites são teto de formato, não sugestão para começar no máximo.

Na Anthropic, a requisição de criação contém uma lista de itens, cada um com custom_id e params da Messages API. A documentação de processamento informa limite de 100 mil mensagens ou 256 MB, o que ocorrer primeiro. Isso pode simplificar um serviço que já monta chamadas à Messages API em memória. Por outro lado, uma equipe que já produz e audita arquivos de trabalho pode preferir a etapa explícita de arquivo da OpenAI. Esta última frase é análise do fluxo de integração, não uma promessa de desempenho.

Resultado parcial não é fracasso total

As duas plataformas admitem que a ordem dos resultados não seja a mesma da entrada. Portanto, contar a linha 20 como resposta da requisição 20 é um erro de implementação. O custom_id precisa ser estável, único no lote e associado a um registro interno sem dados pessoais desnecessários. Tanto o guia da OpenAI quanto o guia da Anthropic alertam sobre a ordem variável.

Ao fim, reconcilie três conjuntos: itens enviados, itens com sucesso e itens com erro, cancelamento ou expiração. Na OpenAI, há arquivo de saída e arquivo de erros, e requisições concluídas antes da expiração podem continuar disponíveis. Na Anthropic, cada resultado identifica seu estado, inclusive succeeded, errored, canceled e expired. Um pipeline que apenas verifica se o lote chegou ao estado final pode deixar tarefas sem processamento e publicar um relatório incompleto.

Prazo e custo sem falsa precisão

A janela documentada é de 24 horas nas duas APIs. Isso não significa que toda carga levará exatamente um dia, nem que todos os itens terminarão. Dependência de uma resposta em poucos segundos aponta para a API síncrona; classificação noturna, enriquecimento de registros já autorizados ou avaliação em lote podem tolerar espera. Se uma entrega tem prazo rígido, reserve tempo para baixar resultados, repetir apenas falhas e revisar a amostra antes de liberar o produto.

Ambas anunciam desconto relativo de 50% para batch. Essa é uma comparação de política de cobrança, não de preço final entre fornecedores: tokens de entrada e saída, modelo, ferramentas e tamanho do prompt variam. Não há nesta matéria uma tabela de preços por modelo porque ela envelhece rapidamente. Faça uma amostra pequena, leia o consumo reportado e confirme a página de preços do provedor escolhido antes de calcular orçamento. Evite assumir que cache, batch ou outras modalidades se somam da mesma maneira em todos os casos.

Dados, retenção e permissão

O arquivo de entrada, as mensagens e os resultados podem conter informação pessoal, código privado ou documentos de cliente. Antes do envio, reduza campos, remova segredos, confirme autorização e determine quem pode recuperar saídas. A Anthropic informa que resultados ficam disponíveis por 29 dias após a criação do lote e são isolados por Workspace. O guia da OpenAI informa que o arquivo de saída é eliminado automaticamente 30 dias depois da conclusão. Essas regras não substituem a leitura do contrato, da política de retenção aplicável e das configurações da organização.

Baixe o que precisa dentro do prazo e armazene somente o necessário sob a política da sua equipe. Também defina um responsável pela reconciliação e pela exclusão local dos arquivos temporários. Se um requisito contratual proíbe a transmissão dos dados a qualquer um dos provedores, o desconto não muda essa restrição. Use dados sintéticos ou anonimizados para validar a integração antes de solicitar aprovação para dados reais.

Como decidir com um piloto pequeno

  1. Separe um conjunto autorizado com casos comuns, entradas inválidas e conteúdo que deve ser recusado.
  2. Fixe a tarefa, o critério de aceite e o modelo antes de medir qualquer resultado.
  3. Crie identificadores internos únicos e registre a versão do conjunto de entrada.
  4. Envie um lote pequeno no formato oficial de cada plataforma que esteja no escopo do projeto.
  5. Faça a reconciliação por custom_id, confira erros e teste o tratamento de uma expiração ou cancelamento.
  6. Revise manualmente uma amostra das respostas e avalie o custo reportado, o esforço de operação e a política de dados.

Esse piloto não pretende dizer qual modelo escreve melhor. Ele responde se a equipe consegue entregar uma tarefa assíncrona completa, rastreável e segura com o fluxo escolhido. Compare o trabalho de preparar entrada, acompanhar o estado, recuperar resultados e corrigir falhas. Uma API com mais capacidade declarada pode ser uma escolha pior se a rotina local não consegue auditar o que ficou para trás.

Veredito e limites deste comparativo

Escolha a OpenAI Batch API se sua aplicação já usa endpoints da OpenAI e faz sentido manter um arquivo JSONL como artefato versionável. Escolha Anthropic Message Batches se a aplicação já usa a Messages API e é mais simples construir a lista de requisições diretamente. Se o requisito decisivo for qualidade da resposta, proteção contratual de dados ou custo total, não decida apenas por esta tabela. Teste a tarefa real, confirme a disponibilidade do modelo e submeta o resultado à revisão responsável.

Limites deste comparativo: não executamos benchmark, não comparamos qualidade de modelos, não medimos tempo de processamento nem validamos descontos em uma fatura. A documentação pode mudar. Verifique os limites e preços vigentes antes de implantar.

RADAR BASTIDORES

IA muda rápido. Critério não.

Estamos preparando uma seleção editorial de novidades, ferramentas e guias que realmente merecem atenção.

Escolha apenas o canal pelo qual deseja receber novidades. Nome e demais campos são opcionais.

Os dados ficam privados no WordPress e não são vendidos. Informe ao menos e-mail, celular ou rede social.