Справочник API
Публичный REST API imagetranslate.ai. Bearer-авторизация, отправка изображения в base64, получение переведённого изображения.
Переводит текст на изображении с сохранением исходной вёрстки и отрисовывает результат поверх картинки.
Быстрый старт
Получите API-ключ
Создайте ключ на странице API Keys.
Обработайте ответ
response.resultImage — PNG в base64 с префиксом data:image/png;base64,, а не HTTP-URL. В браузере подставляется напрямую: <img src={response.resultImage} />. Чтобы сохранить в файл, отбросьте префикс и декодируйте base64.
Аутентификация
Передавайте API-ключ в каждом запросе через заголовок Authorization как Bearer-токен:
API-ключ — случайная 32-байтовая строка с префиксом sk_imagetranslate_. Относитесь к нему как к паролю: храните в серверном секрет-менеджере, не коммитьте в репозиторий и не раскрывайте во фронтенд-коде.
Идемпотентность
Если повторяете запрос после сетевого таймаута, отправьте тот же заголовок Idempotency-Key, чтобы избежать двойного списания кредитов:
- Первый вызов с указанным ключом: обрабатывается обычным образом.
- Повторный вызов с тем же ключом (в рамках одного API-ключа): возвращает
409 Conflictи исходныйrecordId. Повтор не списывает кредит. - Разные ключи — разные вызовы.
Сгенерируйте ключ на клиенте (подойдёт UUIDv4). Без него каждый повтор списывает новый кредит и снова запускает Torii.
Перевод изображения
Синхронный эндпоинт. Возвращает переведённое изображение в base64 с префиксом data:image/png;base64,.
Base URL
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
imageBase64 | string | да | Изображение в base64. Принимается как чистая строка base64, так и полный data-URL (data:image/png;base64,...). До 20 МБ после декодирования. |
sourceLanguage | string | да | ISO-код языка или auto для автоопределения. См. коды языков. |
targetLanguage | string | да | ISO-код языка. См. коды языков. |
mode | string | нет | Стиль отрисовки. По умолчанию general. См. значения mode. |
translator | string | нет | Модель перевода. По умолчанию Grok. См. модели translator. |
customPrompt | string | нет | Дополнительные указания модели. До 1000 символов. |
Ответ
| Поле | Тип | Описание |
|---|---|---|
success | boolean | true при успешном переводе. |
recordId | string | Уникальный идентификатор записи о вызове. Передайте его в поддержку, если что-то пойдёт не так. |
resultImage | string | Переведённое изображение в base64 с префиксом data:image/png;base64, (не HTTP-URL). Подставляется напрямую через <img src={...} />. Чтобы сохранить в файл, отбросьте префикс и декодируйте base64. |
remainingCredit | number | Остаток advanced credit после вызова. |
Примеры
Пример ответа
Коды ошибок
| Status | Значение |
|---|---|
400 | Неверный формат запроса или некорректный base64 в imageBase64. |
401 | API-ключ отсутствует или недействителен. Создайте новый на странице API Keys. |
402 | Не хватает advanced credit. Пополните на странице тарифов. Кредит за этот вызов не списан. |
403 | Текущий тариф не даёт доступа к API. Перейдите на Professional или выше на странице тарифов. |
409 | Idempotency-Key уже использовался. Возвращает { "error": "idempotency_replay", "recordId": "<id>" }. Кредит не списан. |
413 | Размер изображения после декодирования превышает 20 МБ. Сожмите или уменьшите. |
422 | Ошибка валидации тела запроса (отсутствует/некорректное поле). В теле возвращается массив detail с местоположением ошибки. |
429 | Превышен лимит частоты вашего тарифа. Кредит не списан. |
500 | Ошибка перевода. Кредит возвращён автоматически. |
Формат ответа об ошибке
- 4xx / 500:
{ "detail": "<message>" } - 422:
{ "detail": [{ "loc": [...], "msg": "...", "type": "..." }] } - 409:
{ "error": "idempotency_replay", "recordId": "<id>", "message": "..." }
Лимиты запросов
Считаются на каждый API-ключ в минуту и зависят от тарифа:
| Тариф | Лимит |
|---|---|
| Free | недоступно |
| Starter | недоступно |
| Professional | 60 req/min |
| Enterprise | 300 req/min |
Нужен лимит выше — напишите на [email protected].
Тарификация
10 advanced credit за вызов. Подробности о тарифах и пакетах — на странице тарифов.
Приложение
Коды языков
В sourceLanguage укажите код ISO 639-1 / BCP-47 либо auto для автоопределения.
В targetLanguage — те же коды, кроме auto.
Часто используемые коды:
| Code | Язык | Code | Язык |
|---|---|---|---|
auto | Автоопределение (только sourceLanguage) | pt | Португальский |
en | Английский | ru | Русский |
zh | Китайский | ar | Арабский |
zh-cn | Китайский упрощённый | hi | Хинди |
zh-tw | Китайский традиционный | th | Тайский |
ja | Японский | vi | Вьетнамский |
ko | Корейский | id | Индонезийский |
es | Испанский | tr | Турецкий |
fr | Французский | it | Итальянский |
de | Немецкий | nl | Нидерландский |
Полный список — более 130 языков по регионам
Восточная Азия
| Code | Язык |
|---|---|
zh | Китайский |
zh-cn | Китайский упрощённый |
zh-tw | Китайский традиционный |
ja | Японский |
ko | Корейский |
mn | Монгольский |
jv | Яванский |
su | Сунданский |
Юго-Восточная Азия
| Code | Язык |
|---|---|
vi | Вьетнамский |
th | Тайский |
id | Индонезийский |
ms | Малайский |
my | Бирманский |
km | Кхмерский |
lo | Лаосский |
fil | Филиппинский |
ceb | Себуано |
ilo | Илокано |
Южная Азия
| Code | Язык | Code | Язык |
|---|---|---|---|
hi | Хинди | ne | Непальский |
bn | Бенгальский | si | Сингальский |
ur | Урду | as | Ассамский |
ta | Тамильский | bho | Бходжпури |
te | Телугу | dv | Мальдивский |
ml | Малаялам | doi | Догри |
gu | Гуджарати | gom | Конкани |
kn | Каннада | mai | Майтхили |
mr | Маратхи | lus | Мизо |
or | Ория | pa | Панджаби |
sa | Санскрит | sd | Синдхи |
Африка
| Code | Язык | Code | Язык |
|---|---|---|---|
am | Амхарский | kri | Крио |
sw | Суахили | ln | Лингала |
ha | Хауса | nso | Северный сото |
yo | Йоруба | om | Оромо |
zu | Зулу | st | Сесото |
xh | Коса | sn | Шона |
af | Африкаанс | ti | Тигринья |
mg | Малагасийский | ts | Тсонга |
so | Сомалийский | ak | Тви |
bm | Бамбара | ee | Эве |
ny | Чичева | lg | Луганда |
ig | Игбо | rw | Киньяруанда |
Европа
| Code | Язык | Code | Язык |
|---|---|---|---|
fr | Французский | lt | Литовский |
de | Немецкий | lv | Латышский |
es | Испанский | et | Эстонский |
it | Итальянский | is | Исландский |
ru | Русский | sq | Албанский |
pl | Польский | hy | Армянский |
uk | Украинский | az | Азербайджанский |
nl | Нидерландский | eu | Баскский |
pt | Португальский | be | Белорусский |
el | Греческий | bs | Боснийский |
cs | Чешский | ca | Каталонский |
hu | Венгерский | co | Корсиканский |
sv | Шведский | fy | Фризский |
da | Датский | gl | Галисийский |
fi | Финский | ka | Грузинский |
no | Норвежский | kk | Казахский |
ro | Румынский | ky | Киргизский |
bg | Болгарский | lb | Люксембургский |
hr | Хорватский | mk | Македонский |
sk | Словацкий | mt | Мальтийский |
sl | Словенский | sr | Сербский |
tg | Таджикский | tt | Татарский |
tk | Туркменский | ug | Уйгурский |
uz | Узбекский |
Ближний Восток
| Code | Язык |
|---|---|
ar | Арабский |
fa | Персидский |
tr | Турецкий |
he | Иврит |
ku | Курдский |
ckb | Сорани-курдский |
ps | Пушту |
Америки и Океания
| Code | Язык |
|---|---|
ay | Аймара |
gn | Гуарани |
ht | Гаитянский креольский |
haw | Гавайский |
qu | Кечуа |
sm | Самоанский |
mi | Маори |
Прочее
| Code | Язык |
|---|---|
eo | Эсперанто |
la | Латынь |
cy | Валлийский |
ga | Ирландский |
gd | Шотландский гэльский |
hmn | Хмонг |
yi | Идиш |
Значения mode
Параметр mode задаёт стиль отрисовки. Подбирайте под содержимое изображения.
| Value | Описание |
|---|---|
general (по умолчанию) | Базовый режим без специальной отрисовки. |
manga | Сохраняет исходную вёрстку, текст с обводкой. |
e-commerce | Сохраняет исходную вёрстку, текст без обводки. |
light-novel | Накладывает переведённый текст поверх исходного изображения. |
Модели translator
Параметр translator выбирает AI-модель, выполняющую перевод. Любая модель — 10 кредитов за вызов.
Grok(по умолчанию)GeminiDeepseekChatGPTClaude
Начало работы
Готовы интегрировать? Создайте первый API-ключ →