Crear una traducción
Envíe el archivo de una de estas tres formas: JSON con content (el archivo como texto UTF-8: solo formatos de texto, la ruta más sencilla para agentes), JSON con file_url (HTTPS, recuperado en el servidor, sin redirecciones), o multipart/form-data con un campo file (obligatorio para XLSX y ZIP). filename es opcional: si se omite, se genera un nombre predeterminado limpio y el formato se infiere automáticamente del contenido. Incluya instruction para recibir el plan completo y validado en la misma respuesta (tarda unos segundos); omítalo para recibir cuatro suggested_instructions fundamentadas y continúe con el endpoint de plan. La calidad se elige en la aprobación, no aquí: el plan cotiza ambos niveles. Los límites de tamaño por formato están en /v1/account como entitlements.max_upload_bytes_by_format. La subida también aparece en la aplicación web.
POST/v1/batches
Requiere batches:create. Crear una traducción no cuesta nada: los créditos solo se reservan al aprobar un plan.
Elegir cómo enviar el archivo
Hay tres métodos de transferencia y la elección correcta depende del formato, no de las preferencias.
| Método de transferencia | Cuándo usarlo | Notas |
|---|---|---|
JSON con content | Cualquier formato de texto | El propio archivo como texto UTF-8. Es la vía más sencilla si tu agente ya tiene el contenido en memoria. |
JSON con file_url | Un archivo ya alojado | Solo HTTPS, obtenido en el servidor. No se siguen redirecciones, por lo que debes proporcionar la URL final. |
multipart/form-data | XLSX y ZIP | Obligatorio para formatos binarios: no se pueden enviar como texto JSON. |
filename es opcional, pero se recomienda enviarlo. La extensión determina el formato, por lo que nombres como strings.xml o export.csv aplicarán analizadores distintos aunque los bytes sean idénticos.
Qué ocurre a continuación
La respuesta devuelve un batch_id. A partir de ahí, la secuencia es siempre la misma:
POST /v1/batches/{batch_id}/plan: describe qué traducir con tus propias palabras.POST /v1/batches/{batch_id}/approve: consume créditos e inicia el proceso.GET /v1/batches/{batch_id}: sondea el estado hasta que termine.GET /v1/batches/{batch_id}/result: obtén el resultado. Devuelve un enlace firmado, no el archivo en sí.
Respuesta
Crear una traducción a partir de un archivo
dataobjectrequiredrequest_idstringrequiredCódigos posibles: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos posibles: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCódigos posibles: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos posibles: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCódigos posibles: file_expired
errorobjectrequiredrequest_idstringrequiredCódigos posibles: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCódigos posibles: 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 posibles: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos posibles: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos posibles: service_unavailable
errorobjectrequiredrequest_idstringrequired