Cancelar uma tradução
Interrompe em até uma tarefa. O trabalho já concluído é cobrado (credits_charged na resposta, pois a tradução executada tem um custo real); o restante da reserva é liberado. O lote cai em cancelled, um status terminal próprio desde 02-09-2026. Antes era reportado como failed com error.code: "cancelled", então qualquer contagem de falhas incluía silenciosamente interrupções deliberadas; um lote cancelado agora não retorna objeto error algum.
POST/v1/batches/{batch_id}/cancel
Requer batches:write. A interrupção ocorre dentro de uma tarefa e não instantaneamente, pois uma tarefa em andamento é finalizada em vez de ser abandonada incompleta.
O que é cobrado
O trabalho já concluído é cobrado, e a resposta indica o valor em credits_charged. A parte não utilizada da reserva é devolvida ao saldo.
Isso não é exatamente uma política de reembolso, mas um fato contábil: a tradução executada consumiu capacidade do modelo. Cancelar precocemente custa menos; cancelar próximo ao fim custa quase o valor total.
Status final da tradução
O lote termina como cancelled, que é um status final próprio e não um tipo de falha. O error.code também será "cancelled", portanto, quem lê apenas o erro ainda saberá o motivo.
Essa distinção é importante durante a verificação (polling). cancelled significa que nada deu errado: alguém interrompeu o trabalho propositalmente. failed significa que a tradução não pôde ser concluída e o error.code indica o que falhou. Trate ambos como terminais e pare a verificação, mas apenas failed justifica uma nova tentativa ou um alerta.
Qualquer conteúdo que a tradução já tenha produzido não estará disponível para baixar. Um resultado parcial não é um arquivo traduzido, e retornar um seria pior do que não retornar nada.
Resposta
Cancelar uma tradução em execução
dataobjectrequiredrequest_idstringrequiredCódigos possíveis: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: file_expired
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: service_unavailable
errorobjectrequiredrequest_idstringrequired