Créer une traduction
Envoyez le fichier de trois manières: JSON avec content (le fichier lui-même en texte UTF-8, formats texte uniquement, le chemin le plus simple pour les agents), JSON avec file_url (HTTPS, récupéré côté serveur, sans redirections), ou multipart/form-data avec un champ file (requis pour XLSX et ZIP). filename est optionnel: s'il est omis, un nom par défaut est généré et le format est déduit automatiquement du contenu. Incluez instruction pour obtenir le plan complet et validé dans la même réponse (prend quelques secondes); omettez-le pour recevoir quatre suggested_instructions basées sur le contexte et continuez avec le point de terminaison plan. La qualité est choisie lors de l'approbation, pas ici: le plan chiffre les deux tiers. Les limites de taille par format sont disponibles sur /v1/account sous entitlements.max_upload_bytes_by_format. Le téléchargement apparaît également dans l'application web.
POST/v1/batches
Nécessite batches:create. Créer une traduction ne coûte rien : les crédits ne sont réservés que lorsque vous approuvez un plan.
Choisir le mode d’envoi du fichier
Trois modes de transfert sont disponibles, et le choix dépend du format plutôt que de vos préférences.
| Mode de transfert | Cas d’usage | Remarques |
|---|---|---|
JSON avec content | Tout format texte | Le fichier lui-même sous forme de texte UTF-8. La méthode la plus simple pour un agent qui a déjà le contenu en mémoire. |
JSON avec file_url | Un fichier déjà hébergé | HTTPS uniquement, récupéré côté serveur. Les redirections ne sont pas suivies, vous devez donc fournir l’URL finale. |
multipart/form-data | XLSX et ZIP | Obligatoire pour les formats binaires : ils ne peuvent pas être transmis sous forme de texte JSON. |
filename est facultatif mais utile. L’extension permet d’identifier le format : ainsi, un nom comme strings.xml et un nom comme export.csv mèneront à des parseurs différents sur des octets identiques.
Ce qui se passe ensuite
La réponse renvoie un batch_id. À partir de là, la séquence est toujours la même :
POST /v1/batches/{batch_id}/plan: décrivez ce qu’il faut traduire, avec vos propres mots.POST /v1/batches/{batch_id}/approve: débitez les crédits et lancez le traitement.GET /v1/batches/{batch_id}: interrogez l’endpoint jusqu’à la fin du traitement.GET /v1/batches/{batch_id}/result: récupérez le résultat. Un lien signé est renvoyé, et non le fichier directement.
Réponse
Créer une traduction à partir d'un fichier
dataobjectrequiredrequest_idstringrequiredCodes possibles : invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodes possibles : authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodes possibles : insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodes possibles : insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCodes possibles : batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCodes possibles : glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCodes possibles : file_expired
errorobjectrequiredrequest_idstringrequiredCodes possibles : request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCodes possibles : language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredCodes possibles : rate_limited
errorobjectrequiredrequest_idstringrequiredCodes possibles : internal_error
errorobjectrequiredrequest_idstringrequiredCodes possibles : service_unavailable
errorobjectrequiredrequest_idstringrequired