Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Translate
  • Начало работы
    • Все инструкции
    • Перевод текста
    • Повышение точности перевода
    • Определение языка текста
    • Получение списка поддерживаемых языков
    • Настройка доступа с помощью API-ключа
  • Управление доступом
  • Правила тарификации

В этой статье:

  • Перед началом работы
  • Перевести текст с любого языка
  1. Пошаговые инструкции
  2. Перевод текста

Перевод текста с помощью Translate

Статья создана
Yandex Cloud
Улучшена
Shadow P.
Обновлена 2 апреля 2025 г.
  • Перед началом работы
  • Перевести текст с любого языка

Чтобы перевести текст, используйте метод translate.

Перед началом работыПеред началом работы

Для аутентификации от имени сервисного аккаунта вы можете использовать API-ключ или IAM-токен, для аутентификации от имени пользовательского аккаунта — только IAM-токен.

Получите данные вашего аккаунта для аутентификации в API Translate:

API-ключ
IAM-токен
  1. Если у вас еще нет сервисного аккаунта, создайте его.

  2. Назначьте сервисному аккаунту роль ai.translate.user на каталог.

  3. Получите идентификатор каталога, в котором создан ваш сервисный аккаунт. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  4. Создайте API-ключ с областью действия yc.ai.translate.execute.

    Передавайте полученный ключ в заголовке Authorization каждого запроса в формате:

    Authorization: Api-Key <API-ключ>
    
  1. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль ai.translate.user или выше. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  2. Получите IAM-токен для аккаунта на Яндексе, федеративного аккаунта или сервисного аккаунта.

    Передавайте полученный токен в заголовке Authorization каждого запроса в формате:

    Authorization: Bearer <IAM-токен>
    

Перевести текст с любого языкаПеревести текст с любого языка

Чтобы перевести текст с любого поддерживаемого языка, передайте его с помощью метода translate:

cURL
Python
PHP

Чтобы воспользоваться примерами, установите cURL.

Пример ниже разработан для выполнения в операционных системах MacOS и Linux. Чтобы выполнить его в системе Windows, ознакомьтесь с особенностями работы с Bash в Microsoft Windows.

В этом примере показано, как выполнить перевод на русский язык двух строк с текстом: «Hello» и «World». Язык исходного текста будет определен автоматически.

  1. Создайте файл с телом запроса (например, body.json):

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

    Где:

    • folderId — идентификатор каталога, полученный перед началом работы.
    • texts — текст для перевода в виде списка из строк.
    • targetLanguageCode — язык, на который переводится текст. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  2. Передайте файл на перевод, выполнив команду:

    export API_KEY=<API-ключ>
    curl \
      --request POST \
      --header "Content-Type: application/json" \
      --header "Authorization: Api-Key ${API_KEY}" \
      --data '@<путь_до_файла_json>' \
      "https://translate.api.cloud.yandex.net/translate/v2/translate"
    

    Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

    В ответе сервис вернет переведенные строки текста:

    {
        "translations": [
            {
            "text": "Привет",
            "detectedLanguageCode": "en"
            },
            {
            "text": "Мир",
            "detectedLanguageCode": "en"
            }
        ]
    }
    

В этом примере показано, как перевести на русский язык две строки с текстом: Hello и World. Язык исходного текста будет определен автоматически.

Создайте файл с телом запроса (например, body.py):

import requests

# Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
API_KEY = "<API-ключ>"
# Параметры для аутентификации с помощью IAM-токена:
# IAM_TOKEN = '<IAM-токен>'
folder_id = "<идентификатор_каталога>"
target_language = "ru"
texts = ["Hello", "World"]

body = {
    "targetLanguageCode": target_language,
    "texts": texts,
    "folderId": folder_id,
}

headers = {
    "Content-Type": "application/json",
    # Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
    "Authorization": "Api-Key {0}".format(API_KEY),
    # Параметры для аутентификации с помощью IAM-токена:
    # "Authorization": "Bearer {0}".format(IAM_TOKEN)
}

response = requests.post(
    "https://translate.api.cloud.yandex.net/translate/v2/translate",
    json=body,
    headers=headers,
)

print(response.text)

Где:

  • Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

  • folder_id — идентификатор каталога, полученный перед началом работы.
  • target_language — язык, на который переводится текст. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • texts — текст для перевода в виде списка из строк.

API-ключ можно сохранить в файл. В таком случае укажите путь к этому файлу в переменной key_path:

body.py
import os
import requests

# Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
key_path = "<путь_к_файлу_с_API-ключом>"
# Параметры для аутентификации с помощью IAM-токена:
# token_path = '<путь_к_файлу_с_IAM-токеном>'
folder_id = "<идентификатор_каталога>"
target_language = "ru"
texts = ["Hello", "World"]

# Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
API_KEY = os.path.join(os.getcwd(), key_path)
with open(API_KEY) as f:
    API_KEY = f.read().strip()
# Параметры для аутентификации с помощью IAM-токена:
# IAM_TOKEN = os.path.join(os.getcwd(), token_path)
# with open(IAM_TOKEN) as f:
#     IAM_TOKEN = f.read().strip()

body = {
    "targetLanguageCode": target_language,
    "texts": texts,
    "folderId": folder_id,
}

headers = {
    "Content-Type": "application/json",
    # Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
    "Authorization": "Api-Key {0}".format(API_KEY),
    # Параметры для аутентификации с помощью IAM-токена:
    # "Authorization": "Bearer {0}".format(IAM_TOKEN)
}

response = requests.post(
    "https://translate.api.cloud.yandex.net/translate/v2/translate",
    json=body,
    headers=headers,
)

print(response.text)

В этом примере показано, как перевести на русский язык две строки с текстом: Hello и World. Язык исходного текста будет определен автоматически.

Создайте файл с телом запроса (например, body.php):

<?php

// Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
$API_KEY = '<API-ключ>';
// Параметры для аутентификации с помощью IAM-токена:
// $IAM_TOKEN = '<IAM-токен>';
$folder_id = '<идентификатор_каталога>';
$target_language = 'ru';
$texts = ["Hello", "World"];

$url = 'https://translate.api.cloud.yandex.net/translate/v2/translate';

$headers = [
    'Content-Type: application/json',
    // Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
    "Authorization: Api-Key $API_KEY"
    // Параметры для аутентификации с помощью IAM-токена:
    // "Authorization: Bearer $IAM_TOKEN"
];

$post_data = [
    "targetLanguageCode" => $target_language,
    "texts" => $texts,
    "folderId" => $folder_id,
];

$data_json = json_encode($post_data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);

$result = curl_exec($curl);

curl_close($curl);

var_dump($result);

?>

Где:

  • Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

  • folder_id — идентификатор каталога, полученный перед началом работы.
  • target_language — язык, на который переводится текст. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • texts — текст для перевода в виде массива строк.

API-ключ можно сохранить в файл. В таком случае укажите путь к этому файлу в переменной key_path:

body.php
<?php

// Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
$key_path = '<путь_к_файлу_с_API-ключом>';
// Параметры для аутентификации с помощью IAM-токена:
// $token_path = '<путь_к_файлу_с_IAM-токеном>';
$folder_id = '<идентификатор_каталога>';
$target_language = 'ru';
$texts = ["Hello", "World"];

$url = 'https://translate.api.cloud.yandex.net/translate/v2/translate';

// Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
$API_KEY = trim(file_get_contents(realpath($key_path)));
// Параметры для аутентификации с помощью IAM-токена:
// $IAM_TOKEN = trim(file_get_contents(realpath($token_path)));

$headers = [
    'Content-Type: application/json',
    // Параметры для аутентификации с помощью API-ключа от имени сервисного аккаунта:
    "Authorization: Api-Key $API_KEY"
    // Параметры для аутентификации с помощью IAM-токена:
    // "Authorization: Bearer $IAM_TOKEN"
];

$post_data = [
    "targetLanguageCode" => $target_language,
    "texts" => $texts,
    "folderId" => $folder_id,
];

$data_json = json_encode($post_data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);

$result = curl_exec($curl);

curl_close($curl);

var_dump($result);

?>

Что дальшеЧто дальше

  • Как повысить точность перевода

Была ли статья полезна?

Предыдущая
Все инструкции
Следующая
Повышение точности перевода
Проект Яндекса
© 2025 ООО «Яндекс.Облако»