*Visión general › Para saber más*

# Idiomas

> Solo el texto legible de un error depende del idioma. Envía `Accept-Language` para elegirlo, lee `Content-Language` en un error para ver cuál recibiste, y no tomes nunca decisiones a partir del texto.

La API tiene una única parte que depende del idioma: el `detail` de un error y cada `errors[].message`. Todo lo demás, como los nombres de campo, los códigos, los valores de enum y el `title` de un problema, es estable y está en inglés.

## Cómo se elige el idioma

1. **Tu cabecera Accept-Language** `es-ES` y `en-US` están garantizados. Cualquier otro idioma admitido recurre al inglés.
2. **Con una clave válida: el idioma preferido del propietario de la clave** Sin la cabecera, los errores de una petición hecha con una clave que existe usan el idioma preferido de la persona propietaria de la clave. Eso incluye una clave revocada o caducada, un propietario inactivo o que no es administrador, y un 403 [`insufficient_scope`](https://docs.filmo.io/es/rest-api/errors/insufficient_scope). Las excepciones son los errores de una petición sin propietario al que preguntar, que llegan en español.
3. **Antes de conocer al propietario: español** Una petición sin credencial, o con una clave que Filmo no reconoce, no tiene propietario: su 401 ([`unauthorized`](https://docs.filmo.io/es/rest-api/errors/unauthorized) o [`api_key_invalid`](https://docs.filmo.io/es/rest-api/errors/api_key_invalid)) llega en español salvo que envíes `Accept-Language`.

Los endpoints de OAuth son distintos: su `error_description` siempre está en español, envíes lo que envíes. Ramifica según `error`, nunca según el texto.

Una respuesta de error indica el idioma que ha usado en la cabecera `Content-Language`. Una respuesta correcta no lleva esa cabecera, porque no tiene texto legible por personas que traducir.

*Pide mensajes en inglés y lee el idioma del error*

```bash
# A missing order answers 404 (or 403 without orders:read): either way it is an error response.
curl -sS -o /dev/null -D - "${FILMO_BASE_URL:-https://app.filmo.io}/api/v1/orders/does-not-exist" \
  -H "Authorization: Bearer $FILMO_API_KEY" \
  -H "Accept-Language: en-US" | grep -i "content-language"
```

## No te fíes del idioma

- Envía siempre `Accept-Language`. No dependas del valor por defecto, que es un ajuste personal del propietario de la clave y puede cambiar.
- No te apoyes en el idioma de un 401 por una clave ausente o desconocida: llega en español salvo que pidas otro. Cualquier cliente que muestre o registre estos mensajes debería enviar `Accept-Language` en cada petición, autenticada o no.
- No uses `detail` ni `errors[].message` para la lógica de control. Usa `code` (y `errors[].code` para los errores de campo), que son estables.
- No traduzcas ni compares el texto de los mensajes en tu código; la redacción puede mejorar entre versiones.

## El idioma de la app

La propia app de Filmo está disponible en español, inglés, francés, alemán, catalán y polaco. El idioma de la app es una preferencia personal, y es el que la API usa por defecto contigo. Los nombres de los menús difieren entre idiomas: donde esta documentación nombra uno, da el nombre en español, como Ajustes → API y MCP para los ajustes de la API y el MCP.

Los propios códigos de error se listan en [la guía de errores](https://docs.filmo.io/es/rest-api/guides/errors).

---

URL canónica: https://docs.filmo.io/es/further-reading/languages  
Última actualización: 2026-10-09