Yandex Translate API: Перевести HTML с терминами из глоссария

Сценарий из mcp-everything. Актуально на 2026-10-24.

Перевод страниц и писем с разметкой, где названия продуктов и термины должны переводиться одинаково.

  1. Отправь запрос: POST /translate/v2/translate с format = HTML — разметка сохранится, переведётся только текст.
  2. Для глоссария обязательно укажи sourceLanguageCode и передай glossaryConfig.glossaryData.glossaryPairs — до 50 пар sourceText и translatedText (до 20 000 символов).
  3. Чтобы термин переводился ровно как в глоссарии, поставь exact = true.
curl -X POST https://translate.api.cloud.yandex.net/translate/v2/translate \
  -H "Authorization: Api-Key $YANDEX_API_KEY" -H 'Content-Type: application/json' \
  -d '{
        "sourceLanguageCode": "ru",
        "targetLanguageCode": "en",
        "format": "HTML",
        "texts": ["<p>Оформите <b>Подписку Плюс</b> и получайте бесплатную доставку.</p>"],
        "glossaryConfig": {"glossaryData": {"glossaryPairs": [{"sourceText": "Подписка Плюс", "translatedText": "Plus Membership", "exact": true}]}}
      }'

Базовые URL

Авторизация

Тип: Bearer-токен

Пользовательский аккаунт авторизуется только IAM-токеном и обязательно передаёт folderId в теле запроса; для сервисного аккаунта folderId не указывается.

Методы сценария

POST /translate/v2/translate — Перевод текста

Пример тела:

В ответе — массив translations: text (перевод) и detectedLanguageCode (язык исходного текста).

Параметр Где Тип Обяз. Описание
targetLanguageCode body string да Язык перевода, до 3 символов (обычно ISO 639-1)
texts body array да Строки для перевода, суммарно до 10 000 символов
sourceLanguageCode body string нет Язык исходного текста; нужен для перевода с глоссарием
format body string нет PLAIN_TEXT (по умолчанию) или HTML
folderId body string нет ID каталога; обязателен для пользовательского аккаунта
model body string нет ID пользовательской модели
glossaryConfig.glossaryData.glossaryPairs body array нет Пары глоссария: от 1 до 50
glossaryConfig.glossaryData.glossaryPairs[].sourceText body string да Текст на исходном языке
glossaryConfig.glossaryData.glossaryPairs[].translatedText body string да Текст на целевом языке
glossaryConfig.glossaryData.glossaryPairs[].exact body boolean нет Точный перевод термина (нейроглоссарий)
speller body boolean нет Проверка орфографии

Пример запроса:

{
    "folderId": "<идентификатор_каталога>",
    "texts": ["Hello", "World"],
    "targetLanguageCode": "ru"
}

Пример ответа:

export API_KEY=<API-ключ>
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data '@body.json' \
  "https://translate.api.cloud.yandex.net/translate/v2/translate"

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://aistudio.yandex.ru/ru/docs/translate/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-translate.md