API-Dokumentation
Öffentliche REST-API von imagetranslate.ai. Per Bearer-Token authentifizieren, base64-kodiertes Bild senden, übersetztes Bild zurückerhalten.
Übersetzt Text in Bildern, behält das ursprüngliche Layout bei und rendert das Ergebnis zurück ins Bild.
Schnellstart
API-Key erstellen
Unter API Keys einen neuen Key generieren.
Antwort verarbeiten
response.resultImage ist ein base64-kodiertes PNG mit dem Präfix data:image/png;base64, — keine HTTP-URL. Im Browser direkt via <img src={response.resultImage} /> einbinden; zum Abspeichern das Präfix entfernen und den base64-Teil dekodieren.
Authentifizierung
Jede Anfrage muss den API-Key als Bearer-Token im Authorization-Header übergeben:
API-Keys sind 32-Byte-Zufallsstrings mit dem Präfix sk_imagetranslate_. Wie Passwörter behandeln — im serverseitigen Secret-Manager ablegen, nicht ins Repository committen und nicht im Frontend-Code ausliefern.
Idempotenz
Wird eine Anfrage nach einem Netzwerk-Timeout wiederholt, denselben Idempotency-Key-Header mitschicken, um doppelten Credit-Abzug zu vermeiden:
- Erster Aufruf mit einem Key: wird regulär verarbeitet.
- Folgeaufruf mit demselben Key (pro API-Key): liefert
409 Conflictsamt der ursprünglichenrecordId. Der Retry verbraucht kein Credit. - Verschiedene Keys = verschiedene Aufrufe.
Den Key clientseitig generieren (UUIDv4 reicht). Ohne Key verbraucht jeder Retry frische Credits und ruft Torii erneut auf.
Bild übersetzen
Synchroner Endpoint. Liefert das übersetzte Bild als base64-kodiertes PNG mit Präfix data:image/png;base64, zurück.
Base URL
Request Body
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
imageBase64 | string | ja | base64-kodiertes Bild. Akzeptiert sowohl reinen base64-String als auch vollständige Data-URL (data:image/png;base64,...). Maximal 20 MB nach Dekodierung. |
sourceLanguage | string | ja | ISO-Sprachcode oder auto zur automatischen Erkennung. Siehe Sprachcodes. |
targetLanguage | string | ja | ISO-Sprachcode. Siehe Sprachcodes. |
mode | string | nein | Renderstil. Standardwert: general. Siehe mode-Werte. |
translator | string | nein | Übersetzungsmodell. Standardwert: grok-4. Siehe translator-Modelle. |
customPrompt | string | nein | Zusätzliche Anweisungen an das Modell. Maximal 1000 Zeichen. |
Response
| Feld | Typ | Beschreibung |
|---|---|---|
success | boolean | true bei erfolgreicher Übersetzung. |
recordId | string | Eindeutige Log-ID dieses Aufrufs. Bei Problemen dem Support mitteilen. |
resultImage | string | Übersetztes Bild als base64-kodiertes PNG mit Präfix data:image/png;base64, (keine HTTP-URL). Direkt via <img src={...} /> rendern oder zum Abspeichern das Präfix entfernen und base64 dekodieren. |
remainingCredit | number | Verbleibendes Advanced-Credit-Guthaben nach diesem Aufruf. |
Beispiele
Beispiel-Response
Fehlercodes
| Status | Bedeutung |
|---|---|
400 | Ungültiges Request-Format oder imageBase64 ist kein gültiger base64-String. |
401 | API-Key fehlt oder ist ungültig. Unter API Keys einen neuen anlegen. |
402 | Advanced Credits reichen nicht aus. Auf der Preisseite aufladen. Dieser Aufruf verbraucht keine Credits. |
403 | Der aktuelle Plan umfasst keinen API-Zugriff. Upgrade auf Professional oder höher über die Preisseite. |
409 | Idempotency-Key bereits verwendet. Liefert { "error": "idempotency_replay", "recordId": "<id>" }. Credit nicht abgebucht. |
413 | Bild überschreitet nach base64-Dekodierung 20 MB. Bitte komprimieren oder verkleinern. |
422 | Request-Body-Validierung fehlgeschlagen (fehlendes/ungültiges Feld). Body enthält detail-Array mit Fehlerort. |
429 | Rate-Limit für deinen Plan überschritten. Keine Credits abgebucht. |
500 | Übersetzung fehlgeschlagen. Credits werden automatisch erstattet. |
Fehler-Response-Format
- 4xx / 500:
{ "detail": "<message>" } - 422:
{ "detail": [{ "loc": [...], "msg": "...", "type": "..." }] } - 409:
{ "error": "idempotency_replay", "recordId": "<id>", "message": "..." }
Rate Limits
Pro API-Key und Minute, abhängig vom Kontoplan.
| Plan | Limit |
|---|---|
| Free | nicht verfügbar |
| Starter | nicht verfügbar |
| Professional | 60 req/min |
| Enterprise | 300 req/min |
Höhere Limits erforderlich? Eine kurze Mail an [email protected] genügt.
Preise
10 Advanced Credits pro Aufruf. Pläne und Credit-Pakete sind auf der Preisseite zu finden.
Anhang
Sprachcodes
sourceLanguage akzeptiert ISO-639-1- bzw. BCP-47-Codes oder auto zur automatischen Erkennung.
targetLanguage akzeptiert dieselben Codes (außer auto).
Gängige Codes:
| Code | Sprache | Code | Sprache |
|---|---|---|---|
auto | Auto-Erkennung (nur source) | pt | Portugiesisch |
en | Englisch | ru | Russisch |
zh | Chinesisch | ar | Arabisch |
zh-cn | Vereinfachtes Chinesisch | hi | Hindi |
zh-tw | Traditionelles Chinesisch | th | Thai |
ja | Japanisch | vi | Vietnamesisch |
ko | Koreanisch | id | Indonesisch |
es | Spanisch | tr | Türkisch |
fr | Französisch | it | Italienisch |
de | Deutsch | nl | Niederländisch |
Vollständige Liste — über 130 Sprachen, nach Region gruppiert
Ostasien
| Code | Sprache |
|---|---|
zh | Chinesisch |
zh-cn | Vereinfachtes Chinesisch |
zh-tw | Traditionelles Chinesisch |
ja | Japanisch |
ko | Koreanisch |
mn | Mongolisch |
jv | Javanisch |
su | Sundanesisch |
Südostasien
| Code | Sprache |
|---|---|
vi | Vietnamesisch |
th | Thai |
id | Indonesisch |
ms | Malaiisch |
my | Birmanisch |
km | Khmer |
lo | Laotisch |
fil | Filipino |
ceb | Cebuano |
ilo | Ilokano |
Südasien
| Code | Sprache | Code | Sprache |
|---|---|---|---|
hi | Hindi | ne | Nepali |
bn | Bengalisch | si | Singhalesisch |
ur | Urdu | as | Assamesisch |
ta | Tamil | bho | Bhojpuri |
te | Telugu | dv | Dhivehi |
ml | Malayalam | doi | Dogri |
gu | Gujarati | gom | Konkani |
kn | Kannada | mai | Maithili |
mr | Marathi | lus | Mizo |
or | Odia | pa | Punjabi |
sa | Sanskrit | sd | Sindhi |
Afrika
| Code | Sprache | Code | Sprache |
|---|---|---|---|
am | Amharisch | kri | Krio |
sw | Swahili | ln | Lingala |
ha | Hausa | nso | Nord-Sotho |
yo | Yoruba | om | Oromo |
zu | Zulu | st | Sesotho |
xh | Xhosa | sn | Shona |
af | Afrikaans | ti | Tigrinya |
mg | Madagassisch | ts | Tsonga |
so | Somali | ak | Twi |
bm | Bambara | ee | Ewe |
ny | Chichewa | lg | Luganda |
ig | Igbo | rw | Kinyarwanda |
Europa
| Code | Sprache | Code | Sprache |
|---|---|---|---|
fr | Französisch | lt | Litauisch |
de | Deutsch | lv | Lettisch |
es | Spanisch | et | Estnisch |
it | Italienisch | is | Isländisch |
ru | Russisch | sq | Albanisch |
pl | Polnisch | hy | Armenisch |
uk | Ukrainisch | az | Aserbaidschanisch |
nl | Niederländisch | eu | Baskisch |
pt | Portugiesisch | be | Weißrussisch |
el | Griechisch | bs | Bosnisch |
cs | Tschechisch | ca | Katalanisch |
hu | Ungarisch | co | Korsisch |
sv | Schwedisch | fy | Friesisch |
da | Dänisch | gl | Galicisch |
fi | Finnisch | ka | Georgisch |
no | Norwegisch | kk | Kasachisch |
ro | Rumänisch | ky | Kirgisisch |
bg | Bulgarisch | lb | Luxemburgisch |
hr | Kroatisch | mk | Mazedonisch |
sk | Slowakisch | mt | Maltesisch |
sl | Slowenisch | sr | Serbisch |
tg | Tadschikisch | tt | Tatarisch |
tk | Turkmenisch | ug | Uigurisch |
uz | Usbekisch |
Naher Osten
| Code | Sprache |
|---|---|
ar | Arabisch |
fa | Persisch |
tr | Türkisch |
he | Hebräisch |
ku | Kurdisch |
ckb | Sorani-Kurdisch |
ps | Paschtu |
Amerika & Ozeanien
| Code | Sprache |
|---|---|
ay | Aymara |
gn | Guaraní |
ht | Haitianisches Kreolisch |
haw | Hawaiisch |
qu | Quechua |
sm | Samoanisch |
mi | Maori |
Sonstige
| Code | Sprache |
|---|---|
eo | Esperanto |
la | Latein |
cy | Walisisch |
ga | Irisch |
gd | Schottisch-Gälisch |
hmn | Hmong |
yi | Jiddisch |
mode-Werte
mode legt den Renderstil fest. Den jeweils passendsten Wert für das Bild wählen.
| Value | Beschreibung |
|---|---|
general (Standard) | Standardmodus ohne spezielle Darstellung. |
manga | Originallayout mit Textumrandung. |
e-commerce | Originallayout ohne Textumrandung. |
light-novel | Übersetzten Text über das Originalbild legen. |
translator-Modelle
translator bestimmt das KI-Modell für die Übersetzung. Alle Modelle kosten 10 Credits pro Aufruf.
grok-4(Standard)gemini-2.5-flashdeepseekgpt-5claude-sonnet-4-5
Loslegen
Bereit für die Integration? Ersten API-Key erstellen →