REST API

Dokumentasi API

Integrasikan terjemahan manga ke dalam aplikasi Anda dengan REST API yang sederhana.

Memulai Cepat

1

Dapatkan API key

Buat key dari pengaturan dasbor Anda. Key dimulai dengan mg_live_ atau mg_test_.

2

Unggah gambar

Minta presigned URL, lalu PUT byte gambar ke URL tersebut.

3

Buat job

Kirim upload key untuk memulai terjemahan. Poll job hingga selesai.

Autentikasi

Sertakan API key Anda sebagai Bearer token di header Authorization.

Authorization: Bearer mg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Key mode live (mg_live_) menggunakan kredit asli Anda.
  • Key mode test (mg_test_) menggunakan mock GPU — tidak mengkonsumsi kredit.

Referensi Endpoint

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

POST/v1/uploads/presignDapatkan presigned upload URL

Mengembalikan presigned URL untuk mengunggah gambar ke penyimpanan R2.

Request

{
  "count": 1
}

Response

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

Unggah byte gambar mentah ke presigned URL. Kirim tipe konten gambar di header.

Request

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

Response

{ "ok": true }
POST/v1/jobsBuat translation job

Mulai translation job untuk gambar yang diunggah. Memerlukan kredit (1 per halaman).

Request

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

Response

{ "job_id": "x7k9m2..." }
GET/v1/jobs/:idDapatkan status job

Poll endpoint ini hingga status completed atau failed. Hasil mencakup URL gambar terjemahan dan region teks.

Response

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

Contoh Kode

Alur lengkap terjemahan satu halaman dalam bahasa pilihan Anda.

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

Batas Rate & Error

API key dibatasi hingga 30 permintaan per menit. Kredit adalah pembatas yang sebenarnya.

StatusArti
200Berhasil
400Permintaan tidak valid — periksa parameter Anda
401Tidak terotorisasi — API key hilang atau tidak valid
402Kredit tidak cukup
404Resource tidak ditemukan
429Rate limited — tunggu dan coba lagi
500Error server — coba lagi dengan backoff

Siap untuk mengintegrasikan?

Buat API key dan mulai menerjemahkan manga secara programatis.

Buat API key
API Documentation -- MangaGloss REST API | MangaGloss