REST API

Documentation API

Intégrez la traduction de manga dans votre application avec une simple API REST.

Démarrage rapide

1

Obtenir une clé API

Créez une clé depuis les paramètres de votre tableau de bord. Les clés commencent par mg_live_ ou mg_test_.

2

Téléverser une image

Demandez une URL présignée, puis envoyez les octets de l'image avec PUT.

3

Créer une tâche

Soumettez la clé de téléversement pour démarrer la traduction. Interrogez la tâche jusqu'à ce qu'elle soit terminée.

Authentification

Incluez votre clé API comme jeton Bearer dans l'en-tête Authorization.

Authorization: Bearer mg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Les clés en mode production (mg_live_) utilisent vos vrais crédits.
  • Les clés en mode test (mg_test_) utilisent le mock GPU — aucun crédit consommé.

Référence des endpoints

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

POST/v1/uploads/presignObtenir une URL de téléversement présignée

Renvoie une URL présignée pour téléverser une image vers le stockage R2.

Request

{
  "count": 1
}

Response

{
  "uploads": [
    { "key": "abc123...", "url": "https://..." }
  ]
}
PUT/v1/uploads/direct/:keyTéléverser une image

Téléversez les octets bruts de l'image vers l'URL présignée. Envoyez le type de contenu de l'image dans l'en-tête.

Request

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

Response

{ "ok": true }
POST/v1/jobsCréer une tâche de traduction

Démarrez une tâche de traduction pour les images téléversées. Nécessite des crédits (1 par page).

Request

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

Response

{ "job_id": "x7k9m2..." }
GET/v1/jobs/:idObtenir le statut de la tâche

Interrogez cet endpoint jusqu'à ce que le statut soit terminé ou échoué. Les résultats incluent les URL des images traduites et les régions de texte.

Response

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

Exemples de code

Flux complet de traduction d'une page dans le langage de votre choix.

# 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 taux et erreurs

Les clés API sont limitées à 30 requêtes par minute. Les crédits sont la véritable garde-fou.

StatutSignification
200Succès
400Requête invalide — vérifiez vos paramètres
401Non autorisé — clé API manquante ou invalide
402Crédits insuffisants
404Ressource introuvable
429Limite de taux atteinte — attendez et réessayez
500Erreur serveur — réessayez avec un délai exponentiel

Prêt à intégrer ?

Créez une clé API et commencez à traduire des manga par programmation.

Créer une clé API
API Documentation -- MangaGloss REST API | MangaGloss