---
title: "Crear una traducción"
description: "Sube un archivo a través de la API y obtén una traducción lista para planificar mediante texto JSON, una URL HTTPS o datos multipart/form-data para formatos binarios."
canonical: "https://ai-glot.com/docs/es/api/translations/create"
updated: "2026-08-31"
---

# Crear una traducción

Requiere `batches:create`. Crear una traducción no cuesta nada: los créditos solo se reservan al [aprobar un plan](/docs/api/translations/approve).

## 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:

1. [`POST /v1/batches/{batch_id}/plan`](/docs/api/translations/plan): describe qué traducir con tus propias palabras.
2. [`POST /v1/batches/{batch_id}/approve`](/docs/api/translations/approve): consume créditos e inicia el proceso.
3. [`GET /v1/batches/{batch_id}`](/docs/api/translations/retrieve): sondea el estado hasta que termine.
4. [`GET /v1/batches/{batch_id}/result`](/docs/api/translations/download): obtén el resultado. Devuelve un enlace firmado, no el archivo en sí.

> **Info: Los límites de tamaño dependen del formato**
>
> Cada familia de formatos tiene su propio límite máximo, de 4 MB a 60 MB. Consulta [Archivos y formatos](/docs/platform/files-and-formats) para ver la tabla completa. Si un archivo supera su límite, se rechazará con `file_too_large` antes de almacenar ningún byte.
