Créer une traduction
Send the file one of three ways: JSON with content (the file itself as UTF-8 text — text formats only, the simplest path for agents), JSON with file_url (HTTPS, fetched server-side, no redirects), or multipart/form-data with a file field (required for XLSX and ZIP). filename is optional: if omitted, a clean default name is generated and the format is inferred automatically from the content. Include instruction to get the full trust-gated plan back in the same response (takes some seconds); omit it to receive four grounded suggested_instructions and continue with the plan endpoint. Quality is chosen at approval, not here — the plan quotes both tiers. Per-format size limits are on /v1/account as entitlements.max_upload_bytes_by_format. The upload also appears in the web app.
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.