Comenzando

Utilice la API HTTP de PolyLingo para traducir texto plano, Markdown, JSON o HTML manteniendo la estructura intacta. Esta guía cubre el endpoint de producción, la autenticación y su primera solicitud exitosa.

URL base

Todos los ejemplos usan la API de producción:

URL
Producciónhttps://api.usepolylingo.com/v1

Cada ruta a continuación es relativa a esa base (por ejemplo, POST /translate significa POST https://api.usepolylingo.com/v1/translate).

Si ejecuta su propia instancia de la API PolyLingo, reemplace el host con la URL de su despliegue y mantenga el prefijo /v1 a menos que haya configurado lo contrario.

Autenticación

Los endpoints protegidos esperan su clave API en el encabezado Authorization:

Authorization: Bearer <your_api_key>

Obtener una clave: Cree una en la aplicación PolyLingo bajo API keys. Solo verá la clave completa una vez—guárdela en un lugar seguro (variable de entorno o gestor de secretos). Las claves pueden ser revocadas desde la misma pantalla.

Seguridad: Trate la clave como una contraseña. Prefiera llamar a la API desde su servidor, no desde código público en el navegador, para que la clave nunca se exponga a los usuarios.

Si falta el encabezado, es incorrecto o la clave es inválida o revocada, la API responde con 401 y error: "invalid_api_key".

Endpoints y claves

No se requiere claveGET /health — chequeo rápido de disponibilidad
GET /languages — códigos de idiomas soportados
Se requiere clavePOST /translate — traducir contenido
POST /translate/batch — traducir múltiples ítems
POST /jobs — encolar una traducción de larga duración (retorna 202 inmediatamente)
GET /jobs/:id — consultar estado del trabajo; incluye queue_position mientras espera
GET /usage — uso para la cuenta autenticada

Primera solicitud (cURL)

export POLYLINGO_API_KEY="pl_your_key_here"

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# Hello\n\nThis is **bold**.",
    "format": "markdown",
    "targets": ["es", "fr"],
    "model": "standard"
  }'

Una respuesta exitosa incluye un objeto translations (una entrada por cada idioma destino solicitado) y un objeto usage con conteos de tokens.

Primera solicitud (Node.js)

Node.js 18+ incluye fetch:

const API_KEY = process.env.POLYLINGO_API_KEY
const res = await fetch('https://api.usepolylingo.com/v1/translate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${API_KEY}`,
  },
  body: JSON.stringify({
    content: '# Hello\n\n**Bold** text.',
    format: 'markdown',
    targets: ['de', 'ja'],
    model: 'standard',
  }),
})
const data = await res.json()
if (!res.ok) throw new Error(`${data.error}: ${data.message}`)
console.log(data.translations)

Verificar que la API es accesible

No se necesita clave para health:

curl -sS "https://api.usepolylingo.com/v1/health"

Debería ver una pequeña carga JSON que indica que el servicio está activo. Use GET /languages para la lista de códigos que puede pasar como targets.

CORS y aplicaciones en navegador

La API puede restringir qué orígenes de navegador pueden llamarla directamente, para que las claves no se usen desde sitios no confiables. Las llamadas del lado servidor (Node, Python, funciones edge, su backend) no están limitadas por CORS.

Para una aplicación de una sola página, el patrón habitual es: su frontend habla con su backend, y su backend llama a PolyLingo con la clave API.

Próximos pasos

  • Referencia API — formas de solicitud y respuesta, formatos, errores y límites.
Primeros pasos | PolyLingo | PolyLingo