REST API

Documentacion de API

Integra la traduccion de manga en tu aplicacion con una API REST simple.

Inicio rapido

1

Obtener una clave de API

Crea una clave desde la configuracion de tu panel. Las claves comienzan con mg_live_ o mg_test_.

2

Subir una imagen

Solicita una URL prefirmada, luego envia los bytes de la imagen con PUT.

3

Crear un trabajo

Envia la clave de subida para iniciar la traduccion. Consulta el trabajo hasta que se complete.

Autenticacion

Incluye tu clave de API como un token Bearer en el encabezado Authorization.

Authorization: Bearer mg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Las claves de modo real (mg_live_) usan tus creditos reales.
  • Las claves de modo de prueba (mg_test_) usan mock GPU -- no se consumen creditos.

Referencia de endpoints

URL base: https://api.mangagloss.com

POST/v1/uploads/presignObtener URL de subida prefirmada

Devuelve una URL prefirmada para subir una imagen al almacenamiento R2.

Request

{
  "count": 1
}

Response

{
  "uploads": [
    { "key": "abc123...", "url": "https://..." }
  ]
}
PUT/v1/uploads/direct/:keySubir imagen

Sube los bytes de la imagen sin procesar a la URL prefirmada. Envia el tipo de contenido de la imagen en el encabezado.

Request

Raw image bytes (Content-Type: image/png or image/jpeg)

Response

{ "ok": true }
POST/v1/jobsCrear trabajo de traduccion

Inicia un trabajo de traduccion para las imagenes subidas. Requiere creditos (1 por pagina).

Request

{
  "pages": ["abc123..."],
  "source_lang": "JPN",
  "target_lang": "ENG",
  "engine": "premium"
}

Response

{ "job_id": "x7k9m2..." }
GET/v1/jobs/:idObtener estado del trabajo

Consulta este endpoint hasta que el estado sea completed o failed. Los resultados incluyen URLs de imagenes traducidas y regiones de texto.

Response

{
  "id": "x7k9m2...",
  "status": "completed",
  "pages": [
    {
      "id": "p1...",
      "status": "completed",
      "output_url": "https://...",
      "regions": [...]
    }
  ]
}

Ejemplos de codigo

Flujo completo de traduccion de una pagina en el lenguaje de tu eleccion.

# 1. Get a presigned upload URL
PRESIGN=$(curl -s -X POST https://api.mangagloss.com/v1/uploads/presign \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count": 1}')

KEY=$(echo $PRESIGN | jq -r '.uploads[0].key')
URL=$(echo $PRESIGN | jq -r '.uploads[0].url')

# 2. Upload the image
curl -s -X PUT "$URL" \
  -H "Content-Type: image/png" \
  --data-binary @page.png

# 3. Create a translation job
JOB=$(curl -s -X POST https://api.mangagloss.com/v1/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"pages\": [\"$KEY\"], \"source_lang\": \"JPN\", \"target_lang\": \"ENG\", \"engine\": \"premium\"}")

JOB_ID=$(echo $JOB | jq -r '.job_id')

# 4. Poll until complete
curl -s https://api.mangagloss.com/v1/jobs/$JOB_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Limites de tasa y errores

Las claves de API tienen un limite de 30 solicitudes por minuto. Los creditos son el verdadero control.

EstadoSignificado
200Exito
400Solicitud incorrecta -- verifica tus parametros
401No autorizado -- clave de API faltante o invalida
402Creditos insuficientes
404Recurso no encontrado
429Limite de tasa alcanzado -- espera y vuelve a intentar
500Error del servidor -- reintenta con retroceso

Listo para integrar?

Crea una clave de API y comienza a traducir manga programaticamente.

Crear una clave de API
API Documentation -- MangaGloss REST API | MangaGloss