Documentation

Documentation de l'API

API REST publique d'imagetranslate.ai. Authentification par jeton Bearer, envoi d'une image en base64, récupération de l'image traduite.

Traduit le texte contenu dans une image tout en préservant la mise en page d'origine, puis réinjecte la traduction directement dans l'image.

Démarrage rapide

Envoyer la première requête

curl -X POST https://api.imagetranslate.ai/translate/image \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "imageBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
    "sourceLanguage": "ja",
    "targetLanguage": "en",
    "mode": "general",
    "translator": "Grok"
  }'

Exploiter la réponse

response.resultImage contient une image PNG encodée en base64, préfixée par data:image/png;base64, (et non une URL HTTP). Affichez-la directement dans le navigateur via <img src={response.resultImage} />, ou enregistrez-la sur disque en retirant le préfixe puis en décodant le base64.

Authentification

Chaque requête doit inclure la clé API dans l'en-tête Authorization au format Bearer :

Authorization: Bearer YOUR_KEY

Les clés API sont des chaînes aléatoires de 32 octets préfixées par sk_imagetranslate_. Traitez-les comme des mots de passe : stockez-les dans un gestionnaire de secrets côté serveur, ne les versionnez jamais dans un dépôt et ne les exposez pas dans du code front-end.

Idempotence

Si vous relancez une requête après un délai d'attente réseau, renvoyez le même en-tête Idempotency-Key afin d'éviter de débiter deux fois des crédits :

Idempotency-Key: <votre-uuid>
  • Premier appel avec une clé donnée : traité normalement.
  • Appel suivant avec la même clé (par clé API) : renvoie 409 Conflict ainsi que le recordId d'origine. La nouvelle tentative ne consomme pas de crédit.
  • Des clés différentes correspondent à des appels différents.

Générez la clé côté client (un UUIDv4 convient). Sans elle, chaque nouvelle tentative consomme un crédit supplémentaire et relance Torii.

Traduire une image

Endpoint synchrone. Renvoie l'image traduite encodée en base64 (avec le préfixe data:image/png;base64,).

URL de base

https://api.imagetranslate.ai

Corps de la requête

ChampTypeRequisDescription
imageBase64stringouiImage encodée en base64. Chaîne base64 brute ou data URL complète (data:image/png;base64,...) acceptées. 20 Mo maximum après décodage.
sourceLanguagestringouiCode ISO, ou auto pour la détection automatique. Voir codes de langue.
targetLanguagestringouiCode ISO. Voir codes de langue.
modestringnonStyle de rendu. Valeur par défaut : general. Voir valeurs mode.
translatorstringnonModèle de traduction. Valeur par défaut : grok-4. Voir modèles translator.
customPromptstringnonInstructions complémentaires transmises au modèle. 1000 caractères maximum.

Réponse

ChampTypeDescription
successbooleantrue si la traduction a abouti.
recordIdstringIdentifiant unique du log associé à cet appel. À communiquer au support en cas de problème.
resultImagestringImage traduite, encodée en base64 et préfixée par data:image/png;base64, (et non une URL HTTP). À afficher directement via <img src={...} />, ou à enregistrer après avoir retiré le préfixe et décodé le base64.
remainingCreditnumberSolde d'advanced credits restant après l'appel.

Exemples

curl -X POST https://api.imagetranslate.ai/translate/image \
  -H "Authorization: Bearer $IMAGETRANSLATE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "imageBase64": "YOUR_BASE64_IMAGE",
    "sourceLanguage": "ja",
    "targetLanguage": "en",
    "mode": "general",
    "translator": "Grok"
  }'

Exemple de réponse

{
  "success": true,
  "recordId": "Z3l4abc...",
  "resultImage": "data:image/png;base64,iVBORw0KGgoAAAANSU...",
  "remainingCredit": 9990
}

Codes d'erreur

StatusSignification
400Format de requête invalide, ou imageBase64 n'est pas un base64 valide.
401Clé API manquante ou invalide. Créez-en une depuis API Keys.
402Solde d'advanced credits insuffisant. Rechargez depuis la page tarifs. Cet appel n'a pas consommé de crédit.
403Le plan actuel n'inclut pas l'accès à l'API. Passez à Professional ou supérieur depuis la page tarifs.
409Idempotency-Key déjà utilisée. Renvoie { "error": "idempotency_replay", "recordId": "<id>" }. Crédit non débité.
413L'image dépasse 20 Mo après décodage base64. Compressez-la ou redimensionnez-la.
422Validation du corps de la requête échouée (champ manquant/invalide). Le corps contient un tableau detail avec la position de l'erreur.
429Limite de débit du plan dépassée. Aucun crédit débité.
500Échec de la traduction. Crédit remboursé automatiquement.

Format de la réponse d'erreur

  • 4xx / 500: { "detail": "<message>" }
  • 422: { "detail": [{ "loc": [...], "msg": "...", "type": "..." }] }
  • 409: { "error": "idempotency_replay", "recordId": "<id>", "message": "..." }

Limites de débit

Appliquées par clé API et par minute, selon le plan :

PlanLimite
Freenon disponible
Starternon disponible
Professional60 req/min
Enterprise300 req/min

Besoin d'une limite plus élevée ? Contactez [email protected].

Tarifs

10 advanced credits par appel. Détail des plans et des packs sur la page tarifs.

Annexe

Codes de langue

sourceLanguage accepte un code ISO 639-1 / BCP-47, ou auto pour détecter automatiquement la langue source. targetLanguage accepte les mêmes codes, à l'exception de auto.

Codes courants :

CodeLangueCodeLangue
autoDétection automatique (source uniquement)ptPortugais
enAnglaisruRusse
zhChinoisarArabe
zh-cnChinois simplifiéhiHindi
zh-twChinois traditionnelthThaï
jaJaponaisviVietnamien
koCoréenidIndonésien
esEspagnoltrTurc
frFrançaisitItalien
deAllemandnlNéerlandais
Liste complète — plus de 130 langues, classées par région

Asie de l'Est

CodeLangue
zhChinois
zh-cnChinois simplifié
zh-twChinois traditionnel
jaJaponais
koCoréen
mnMongol
jvJavanais
suSoundanais

Asie du Sud-Est

CodeLangue
viVietnamien
thThaï
idIndonésien
msMalais
myBirman
kmKhmer
loLao
filFilipino
cebCebuano
iloIlocano

Asie du Sud

CodeLangueCodeLangue
hiHindineNépalais
bnBengalisiCinghalais
urOurdouasAssamais
taTamoulbhoBhojpuri
teTélougoudvDhivehi
mlMalayalamdoiDogri
guGujaratigomKonkani
knKannadamaiMaithili
mrMarathilusMizo
orOdiapaPendjabi
saSanskritsdSindhi

Afrique

CodeLangueCodeLangue
amAmhariquekriKrio
swSwahililnLingala
haHaoussansoSotho du Nord
yoYoroubaomOromo
zuZouloustSesotho
xhXhosasnShona
afAfrikaanstiTigrigna
mgMalgachetsTsonga
soSomaliakTwi
bmBambaraeeEwe
nyChichewalgGanda
igIgborwKinyarwanda

Europe

CodeLangueCodeLangue
frFrançaisltLituanien
deAllemandlvLetton
esEspagnoletEstonien
itItalienisIslandais
ruRussesqAlbanais
plPolonaishyArménien
ukUkrainienazAzéri
nlNéerlandaiseuBasque
ptPortugaisbeBiélorusse
elGrecbsBosniaque
csTchèquecaCatalan
huHongroiscoCorse
svSuédoisfyFrison
daDanoisglGalicien
fiFinnoiskaGéorgien
noNorvégienkkKazakh
roRoumainkyKirghize
bgBulgarelbLuxembourgeois
hrCroatemkMacédonien
skSlovaquemtMaltais
slSlovènesrSerbe
tgTadjikttTatar
tkTurkmèneugOuïghour
uzOuzbek

Moyen-Orient

CodeLangue
arArabe
faPersan
trTurc
heHébreu
kuKurde
ckbKurde sorani
psPachto

Amériques & Océanie

CodeLangue
ayAymara
gnGuarani
htCréole haïtien
hawHawaïen
quQuechua
smSamoan
miMaori

Autres

CodeLangue
eoEspéranto
laLatin
cyGallois
gaIrlandais
gdGaélique écossais
hmnHmong
yiYiddish

Valeurs mode

mode définit le style de rendu. Choisissez celui qui correspond le mieux à votre image.

ValueDescription
general (par défaut)Mode standard, sans rendu spécifique.
mangaPréserve la mise en page d'origine et ajoute un contour autour du texte.
e-commercePréserve la mise en page d'origine, sans contour de texte.
light-novelSuperpose le texte traduit sur l'image d'origine.

Modèles translator

translator désigne le modèle d'IA chargé de la traduction. Chaque modèle coûte 10 crédits par appel.

  • Grok (par défaut)
  • Gemini
  • Deepseek
  • ChatGPT
  • Claude

Pour commencer

Prêt à intégrer l'API ? Créez votre première clé API →