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
Créer une clé API
Depuis la page API Keys.
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 :
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 :
- Premier appel avec une clé donnée : traité normalement.
- Appel suivant avec la même clé (par clé API) : renvoie
409 Conflictainsi que lerecordIdd'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
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
imageBase64 | string | oui | Image 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. |
sourceLanguage | string | oui | Code ISO, ou auto pour la détection automatique. Voir codes de langue. |
targetLanguage | string | oui | Code ISO. Voir codes de langue. |
mode | string | non | Style de rendu. Valeur par défaut : general. Voir valeurs mode. |
translator | string | non | Modèle de traduction. Valeur par défaut : grok-4. Voir modèles translator. |
customPrompt | string | non | Instructions complémentaires transmises au modèle. 1000 caractères maximum. |
Réponse
| Champ | Type | Description |
|---|---|---|
success | boolean | true si la traduction a abouti. |
recordId | string | Identifiant unique du log associé à cet appel. À communiquer au support en cas de problème. |
resultImage | string | Image 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. |
remainingCredit | number | Solde d'advanced credits restant après l'appel. |
Exemples
Exemple de réponse
Codes d'erreur
| Status | Signification |
|---|---|
400 | Format de requête invalide, ou imageBase64 n'est pas un base64 valide. |
401 | Clé API manquante ou invalide. Créez-en une depuis API Keys. |
402 | Solde d'advanced credits insuffisant. Rechargez depuis la page tarifs. Cet appel n'a pas consommé de crédit. |
403 | Le plan actuel n'inclut pas l'accès à l'API. Passez à Professional ou supérieur depuis la page tarifs. |
409 | Idempotency-Key déjà utilisée. Renvoie { "error": "idempotency_replay", "recordId": "<id>" }. Crédit non débité. |
413 | L'image dépasse 20 Mo après décodage base64. Compressez-la ou redimensionnez-la. |
422 | Validation du corps de la requête échouée (champ manquant/invalide). Le corps contient un tableau detail avec la position de l'erreur. |
429 | Limite 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 :
| Plan | Limite |
|---|---|
| Free | non disponible |
| Starter | non disponible |
| Professional | 60 req/min |
| Enterprise | 300 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 :
| Code | Langue | Code | Langue |
|---|---|---|---|
auto | Détection automatique (source uniquement) | pt | Portugais |
en | Anglais | ru | Russe |
zh | Chinois | ar | Arabe |
zh-cn | Chinois simplifié | hi | Hindi |
zh-tw | Chinois traditionnel | th | Thaï |
ja | Japonais | vi | Vietnamien |
ko | Coréen | id | Indonésien |
es | Espagnol | tr | Turc |
fr | Français | it | Italien |
de | Allemand | nl | Néerlandais |
Liste complète — plus de 130 langues, classées par région
Asie de l'Est
| Code | Langue |
|---|---|
zh | Chinois |
zh-cn | Chinois simplifié |
zh-tw | Chinois traditionnel |
ja | Japonais |
ko | Coréen |
mn | Mongol |
jv | Javanais |
su | Soundanais |
Asie du Sud-Est
| Code | Langue |
|---|---|
vi | Vietnamien |
th | Thaï |
id | Indonésien |
ms | Malais |
my | Birman |
km | Khmer |
lo | Lao |
fil | Filipino |
ceb | Cebuano |
ilo | Ilocano |
Asie du Sud
| Code | Langue | Code | Langue |
|---|---|---|---|
hi | Hindi | ne | Népalais |
bn | Bengali | si | Cinghalais |
ur | Ourdou | as | Assamais |
ta | Tamoul | bho | Bhojpuri |
te | Télougou | dv | Dhivehi |
ml | Malayalam | doi | Dogri |
gu | Gujarati | gom | Konkani |
kn | Kannada | mai | Maithili |
mr | Marathi | lus | Mizo |
or | Odia | pa | Pendjabi |
sa | Sanskrit | sd | Sindhi |
Afrique
| Code | Langue | Code | Langue |
|---|---|---|---|
am | Amharique | kri | Krio |
sw | Swahili | ln | Lingala |
ha | Haoussa | nso | Sotho du Nord |
yo | Yorouba | om | Oromo |
zu | Zoulou | st | Sesotho |
xh | Xhosa | sn | Shona |
af | Afrikaans | ti | Tigrigna |
mg | Malgache | ts | Tsonga |
so | Somali | ak | Twi |
bm | Bambara | ee | Ewe |
ny | Chichewa | lg | Ganda |
ig | Igbo | rw | Kinyarwanda |
Europe
| Code | Langue | Code | Langue |
|---|---|---|---|
fr | Français | lt | Lituanien |
de | Allemand | lv | Letton |
es | Espagnol | et | Estonien |
it | Italien | is | Islandais |
ru | Russe | sq | Albanais |
pl | Polonais | hy | Arménien |
uk | Ukrainien | az | Azéri |
nl | Néerlandais | eu | Basque |
pt | Portugais | be | Biélorusse |
el | Grec | bs | Bosniaque |
cs | Tchèque | ca | Catalan |
hu | Hongrois | co | Corse |
sv | Suédois | fy | Frison |
da | Danois | gl | Galicien |
fi | Finnois | ka | Géorgien |
no | Norvégien | kk | Kazakh |
ro | Roumain | ky | Kirghize |
bg | Bulgare | lb | Luxembourgeois |
hr | Croate | mk | Macédonien |
sk | Slovaque | mt | Maltais |
sl | Slovène | sr | Serbe |
tg | Tadjik | tt | Tatar |
tk | Turkmène | ug | Ouïghour |
uz | Ouzbek |
Moyen-Orient
| Code | Langue |
|---|---|
ar | Arabe |
fa | Persan |
tr | Turc |
he | Hébreu |
ku | Kurde |
ckb | Kurde sorani |
ps | Pachto |
Amériques & Océanie
| Code | Langue |
|---|---|
ay | Aymara |
gn | Guarani |
ht | Créole haïtien |
haw | Hawaïen |
qu | Quechua |
sm | Samoan |
mi | Maori |
Autres
| Code | Langue |
|---|---|
eo | Espéranto |
la | Latin |
cy | Gallois |
ga | Irlandais |
gd | Gaélique écossais |
hmn | Hmong |
yi | Yiddish |
Valeurs mode
mode définit le style de rendu. Choisissez celui qui correspond le mieux à votre image.
| Value | Description |
|---|---|
general (par défaut) | Mode standard, sans rendu spécifique. |
manga | Préserve la mise en page d'origine et ajoute un contour autour du texte. |
e-commerce | Préserve la mise en page d'origine, sans contour de texte. |
light-novel | Superpose 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)GeminiDeepseekChatGPTClaude
Pour commencer
Prêt à intégrer l'API ? Créez votre première clé API →