Annullare una traduzione
L'esecuzione si interrompe entro un task. Il lavoro già completato viene addebitato (credits_charged nella risposta, poiché la traduzione eseguita ha un costo reale); il resto della prenotazione viene rilasciato. Il batch passa allo stato cancelled, uno stato terminale autonomo dal 2026-09-02. In precedenza veniva riportato come failed con error.code: "cancelled", quindi ogni conteggio di errori includeva silenziosamente le interruzioni deliberate; ora un batch cancellato non restituisce alcun oggetto error.
POST/v1/batches/{batch_id}/cancel
Richiede batches:write. L’operazione si interrompe entro un task invece di essere istantanea, poiché un task in esecuzione viene completato invece di essere abbandonato a metà.
Addebiti
Il lavoro già completato viene addebitato e l’importo è indicato in credits_charged. La parte non utilizzata della prenotazione viene riacreditata sul saldo.
Più che una politica di rimborso, si tratta di un dato contabile: la traduzione eseguita ha consumato capacità del modello. Annullare l’operazione precocemente costa meno, annullarla verso la fine costa quasi l’intero importo.
Stato della traduzione
Il batch termina con lo stato cancelled, che è uno stato finale autonomo e non una tipologia di errore. Anche error.code sarà "cancelled", così chi legge solo l’errore può comunque capire il motivo.
Questa distinzione è importante durante il polling. cancelled significa che non c’è stato alcun problema: qualcuno ha interrotto il lavoro intenzionalmente. failed significa che la traduzione non è stata completata e error.code indica cosa è andato storto. Entrambi vanno trattati come stati finali per interrompere il polling, ma solo failed giustifica un nuovo tentativo o un avviso.
Qualsiasi contenuto già prodotto dalla traduzione non è scaricabile. Un risultato parziale non costituisce un file tradotto e fornirne uno sarebbe peggio che non fornirne alcuno.
Risposta
Annulla una traduzione in corso
dataobjectrequiredrequest_idstringrequiredCodici possibili: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodici possibili: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCodici possibili: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCodici possibili: file_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCodici possibili: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredCodici possibili: rate_limited
errorobjectrequiredrequest_idstringrequiredCodici possibili: internal_error
errorobjectrequiredrequest_idstringrequiredCodici possibili: service_unavailable
errorobjectrequiredrequest_idstringrequired