وثائق API
دمج ترجمة المانغا في تطبيقك باستخدام REST API بسيط.
البدء السريع
احصل على مفتاح API
أنشئ مفتاحاً من إعدادات لوحة التحكم الخاصة بك. تبدأ المفاتيح بـ mg_live_ أو mg_test_.
ارفع صورة
اطلب URL موقعاً مسبقاً، ثم أرسل بيانات الصورة إليه باستخدام PUT.
أنشئ مهمة
أرسل مفتاح الرفع لبدء الترجمة. استعلم عن المهمة حتى تكتمل.
المصادقة
ضمّن مفتاح API الخاص بك كـ Bearer token في رأس Authorization.
Authorization: Bearer mg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx- مفاتيح الوضع المباشر (mg_live_) تستخدم رصيدك الحقيقي.
- مفاتيح وضع الاختبار (mg_test_) تستخدم 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الحصول على حالة المهمة
استعلم عن نقطة النهاية هذه حتى تصبح الحالة مكتملة أو فاشلة. تتضمن النتائج URLs الصور المترجمة ومناطق النص.
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 | خطأ في الخادم -- أعد المحاولة مع تأخير تصاعدي |