REST API

Документация API

Интегрируйте перевод манги в ваше приложение с помощью простого REST API.

Быстрый старт

1

Получите API-ключ

Создайте ключ в настройках вашей панели управления. Ключи начинаются с mg_live_ или mg_test_.

2

Загрузите изображение

Запросите предподписанный URL, затем отправьте байты изображения методом PUT.

3

Создайте задачу

Отправьте ключ загрузки, чтобы начать перевод. Опрашивайте задачу до её завершения.

Аутентификация

Включите ваш API-ключ как Bearer токен в заголовке Authorization.

Authorization: Bearer mg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Ключи режима live (mg_live_) используют ваши реальные кредиты.
  • Ключи режима test (mg_test_) используют mock GPU — кредиты не расходуются.

Справочник по эндпоинтам

Базовый URL: https://api.mangagloss.com

POST/v1/uploads/presignПолучить предподписанный URL для загрузки

Возвращает предподписанный URL для загрузки изображения в хранилище R2.

Request

{
  "count": 1
}

Response

{
  "uploads": [
    { "key": "abc123...", "url": "https://..." }
  ]
}
PUT/v1/uploads/direct/:keyЗагрузить изображение

Загрузите необработанные байты изображения на предподписанный URL. Отправьте тип содержимого изображения в заголовке.

Request

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

Response

{ "ok": true }
POST/v1/jobsСоздать задачу перевода

Начните задачу перевода для загруженных изображений. Требуются кредиты (1 за страницу).

Request

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

Response

{ "job_id": "x7k9m2..." }
GET/v1/jobs/:idПолучить статус задачи

Опрашивайте этот эндпоинт, пока статус не станет completed или failed. Результаты включают URL переведённых изображений и текстовые регионы.

Response

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

Примеры кода

Полный процесс перевода одной страницы на вашем языке программирования.

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

Ограничения скорости и ошибки

API-ключи ограничены 30 запросами в минуту. Кредиты — это настоящий ограничитель.

СтатусЗначение
200Успех
400Некорректный запрос — проверьте ваши параметры
401Неавторизован — отсутствует или неверный API-ключ
402Недостаточно кредитов
404Ресурс не найден
429Превышен лимит запросов — подождите и повторите
500Ошибка сервера — повторите с отсрочкой

Готовы к интеграции?

Создайте API-ключ и начните переводить мангу программно.

Создать API-ключ
Документация API — MangaGloss REST API | MangaGloss