Saltar para o conteúdo principal
Três endpoints criam muitas tarefas em uma única requisição. Cada um cria tarefas comuns: polling, webhooks, créditos e limites do plano funcionam como em uma tarefa individual.

Compare os três endpoints

Qual usar

  • Até 500 tarefas, e você cuida das novas tentativas: POST /v1/async/task/batch. Você recebe todos os ids de tarefa na resposta.
  • Mais tarefas do que a concorrência do seu plano, ou um job diário de milhares: POST /v1/batches. O servidor guarda os itens e os libera conforme o limite do seu plano e a fila de cada mecanismo permitem, então você não precisa repetir 429s nem 503s por conta própria.
  • Um prompt perguntado a partir de muitos pontos ao redor de um lugar: POST /v1/async/task/grid.

POST /v1/async/task/batch

Envie um array de até 500 requisições de tarefa (referência). Os mecanismos podem ser misturados.
Uma requisição bem formada retorna 200. results[i].index corresponde à posição no seu array, e cada resultado tem task ou error:
A requisição inteira é recusada, sem criar nenhuma tarefa, nestes casos: Um idempotencyKey repetido devolve a tarefa existente como sucesso. Veja Idempotência.

POST /v1/batches

Envie até 10.000 itens (referência). Cada item aceita os campos de tarefa taskType, payload, priority e idempotencyKey, mais um customId opcional (até 128 caracteres) que é devolvido nos resultados. Defina webhook.url no lote, não nos itens.
A resposta é 202 com o lote. Os primeiros itens já foram enviados:

Regras do envelope

Validação tudo ou nada

Antes de qualquer coisa ser armazenada, cada item passa pelas mesmas verificações de uma tarefa individual: campos, escopo da chave, mecanismos privados, endpoints dedicados, região e payload.location. Se algum item falhar, a resposta é 400 VALIDATION_ERROR, nada é armazenado e details lista até 50 itens com falha:

Como os itens são executados

O lote libera itens como tarefas quando o limite do seu plano e a fila do mecanismo têm espaço. As contas se revezam, então um lote grande não segura um lote pequeno de outra conta. Cada item liberado passa pela mesma admissão de uma tarefa individual: faz uma reserva de créditos e conta para o limite diário de créditos da chave. Quando um item é recusado, o código decide o que acontece: O lote fica COMPLETED quando nenhum item está pendente e todas as tarefas terminaram. Com webhook.url, o servidor então publica o evento batch.completed.

Leia o progresso e os resultados

GET /v1/batches/{id} devolve o lote com counts por status de item: pending, queued, processing, completed, failed, rejected. Consultá-lo também faz os itens pendentes avançarem.
GET /v1/batches/{id}/items lista os itens na ordem de envio:
Um item REJECTED traz error: { code, message }. Os corpos de resultado só são incluídos dentro da janela de polling de 24 horas de Tarefas assíncronas. Veja também Obter um lote e Listar itens do lote.

POST /v1/async/task/grid

Faça um prompt a partir de cada ponto de uma grade quadrada em torno de um centro (referência). Cada ponto vira uma tarefa com esse ponto como payload.location, então o mecanismo precisa aceitar localização: CHATGPT, GEMINI, GOOGLE, AIMODE ou GOOGLE_SERP. Não envie payload.location você mesmo.
A linha 0 é a borda norte e a coluna 0, a borda oeste. A resposta devolve grid (com id e spacingMeters), um summary e points em ordem de linha, cada um com row, col, location e task ou error. O ponto central é admitido primeiro, sozinho. Se ele for recusado (por exemplo, 422 LOCATION_UNSUPPORTED, 403 KEY_SCOPE_DENIED, 402 INSUFFICIENT_CREDITS ou um plano cheio), esse erro é a resposta da grade inteira e nenhuma tarefa é criada. Os pontos depois do centro recusados por capacidade falham no lugar com success: false. Leia uma grade com GET /v1/async/task/grid/{id}. Adicione ?include=response para os resultados das tarefas finalizadas. Pontos que nunca foram admitidos ficam ausentes, e o id de grade de outra conta retorna 404. Reenviar a mesma grade com o mesmo id admite só os pontos que faltam; veja Idempotência.

Próximos passos

Idempotência

Como cada endpoint trata uma chave repetida.

Créditos e limites

Concorrência do plano e ritmo de envio.