API-ключи
…
Быстрый старт
Создайте ключ выше и передавайте его как Bearer-токен. Символы списываются с баланса за каждый запрос и возвращаются, если запрос не удался.
curl https://api.translay.app/v1/translate \
-H "Authorization: Bearer tr_live_…" \
-H "Content-Type: application/json" \
-d '{
"text": "Where meaning travels intact.",
"source_language": "auto",
"target_language": "ru",
"mode": "quality"
}'Запрос
Ответ содержит перевод, использованную модель, расход токенов и число частей, на которые был разбит текст.
| field | type | notes |
|---|---|---|
text | string | required, up to 100,000 characters |
target_language | string | required, ISO code or language name |
source_language | string | optional, default auto |
mode | fast | quality | optional, default fast |
stream | boolean | optional, server-sent events |
{
"translation": {
"text": "Там, где смысл доходит без потерь.",
"model": "glm5.3-flash",
"prompt_tokens": 61,
"completion_tokens": 14,
"chunks": 1
},
"remaining_chars": 4999971
}Стриминг
Добавьте "stream": true или отправьте Accept: text/event-stream, чтобы получать server-sent events: событие chunk на каждую часть по порядку, затем done.
event: chunk
data: {"index":0,"total":3,"text":"Первая часть…"}
event: chunk
data: {"index":1,"total":3,"text":"Вторая часть…"}
event: done
data: {"translation":{"model":"qwen3.7-flash","chunks":3,"prompt_tokens":2410,"completion_tokens":2388},"remaining_chars":4988120}Ошибки
Каждая ошибка — это JSON со стабильным кодом. Ветвитесь по коду, показывайте сообщение.
{
"error": "Not enough characters on the balance",
"code": "INSUFFICIENT_BALANCE",
"details": { "required": 1834, "balance": 120 }
}| code | status |
|---|---|
INVALID_API_KEY | 401 |
INVALID_REQUEST | 400 |
INVALID_TRANSLATION | 400 |
INSUFFICIENT_BALANCE | 402 |
RATE_LIMITED | 429 |
TRANSLATION_FAILED | 503 |
Лимиты
До 100 000 символов за запрос и 300 запросов в минуту на ключ. Длинные тексты делятся по границам абзацев и переводятся параллельно.
Языки
Передавайте ISO-коды вроде en, de, zh-TW или название языка. Используйте auto для определения исходного языка.
GET https://api.translay.app/v1/languages Authorization: Bearer tr_live_…