[Документация Yandex Cloud](../../index.md) > [speechkit](../index.md) > [Начало работы](index.md) > Как синтезировать речь в API v1

# Как синтезировать речь в SpeechKit API v1


{% note warning %}

API v1 доступно только в [регионе Россия](../../overview/concepts/region.md). Воспользуйтесь [инструкцией](tts-quickstart-v3.md) для синтеза речи в API v3.

{% endnote %}


[Синтез речи](../tts/index.md) преобразует текст в речь и сохраняет ее в аудиофайл. В этом разделе вы научитесь синтезировать речь из текста с помощью SpeechKit [API v1](../tts/request.md) (REST).

Для работы с API в примере используется утилита [cURL](https://curl.se/).

## Аутентификация для работы с API {#auth}

Для работы с API SpeechKit пройдите аутентификацию. Ее способ зависит от типа аккаунта:

{% list tabs group=authentication %}

- Аккаунт на Яндексе, федеративный или локальный аккаунт {#yandex-account}

  1. Получите IAM-токен для [аккаунта на Яндексе](../../iam/operations/iam-token/create.md), [федеративного](../../iam/operations/iam-token/create-for-federation.md) или [локального](../../iam/operations/iam-token/create-for-local.md) аккаунта.
  1. Получите [идентификатор каталога](../../resource-manager/operations/folder/get-id.md), на который у вашего аккаунта есть роли `ai.speechkit-stt.user`, `ai.speechkit-tts.user` или выше.
  1. При обращении к SpeechKit через API в каждом запросе передавайте полученные параметры: 
     
     * Для API v1 и API v2:
     
        Указывайте IAM-токен в заголовке `Authorization` в следующем формате:
     
        ```
        Authorization: Bearer <IAM-токен>
        ```
       
        Идентификатор каталога указывайте в теле запроса в параметре `folderId`.
     
     * Для API v3:
     
        * в заголовке `Authorization` указывайте IAM-токен;
        * в заголовке `x-folder-id` указывайте идентификатор каталога.
     
        ```
        Authorization: Bearer <IAM-токен> 
        x-folder-id: <идентификатор_каталога>
        ```

- Сервисный аккаунт {#service-account}

  SpeechKit поддерживает два способа аутентификации с сервисным аккаунтом:

   * С помощью [IAM-токена](../../iam/concepts/authorization/iam-token.md):

      1. [Получите IAM-токен](../../iam/operations/iam-token/create-for-sa.md).
      1. Полученный IAM-токен передавайте в заголовке `Authorization` в следующем формате:

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

   * С помощью [API-ключей](../../iam/concepts/authorization/api-key.md).

     Используйте API-ключи, если у вас нет возможности автоматически запрашивать [IAM-токен](../../iam/concepts/authorization/iam-token.md).

      1. [Получите API-ключ](../../iam/operations/authentication/manage-api-keys.md#create-api-key).
      1. Полученный API-ключ передавайте в заголовке `Authorization` в следующем формате:

          ```yaml
          Authorization: Api-Key <API-ключ>
          ```

   Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.

{% endlist %}

В примере ниже аутентификация выполняется от имени аккаунта на Яндексе.

## Выполните запрос {#execute}

Отправьте запрос на преобразование текста в речь:

```bash
read -r -d '' TEXT << EOM
Я Яндекс Спичк+ит.
Я могу превратить любой текст в речь.
Теперь и в+ы — можете!
EOM
export FOLDER_ID=<идентификатор_каталога>
export IAM_TOKEN=<IAM-токен>
curl \
  --request POST \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "text=${TEXT}" \
  --data "lang=ru-RU&voice=filipp&folderId=${FOLDER_ID}" \
  "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" > speech.ogg
```

Где:

* `FOLDER_ID` — идентификатор каталога, полученный [ранее](#auth).
* `IAM_TOKEN` — IAM-токен, полученный [ранее](#auth).
* `TEXT` — текст с примененным URL-кодированием, который нужно распознать.
* `lang` — [язык](../tts/index.md#langs) текста.
* `voice` — [голос](../tts/voices.md) для синтеза речи.
* `speech.ogg` – файл, в который будет записан ответ.

{% note info %}

Для передачи слов-омографов используйте `+` перед ударной гласной: `з+амок`, `зам+ок`. Чтобы отметить паузу между словами, используйте `-`. Ограничение на длину строки: 5000 символов.

{% endnote %}

Синтезированная речь будет записана в файл `speech.ogg` в папке, из которой вы выполнили эту команду.

По умолчанию аудио создается в формате [OggOpus](https://wiki.xiph.org/OggOpus). Прослушать созданный файл можно в браузере, например в [Яндекс Браузере](https://browser.yandex.ru) или [Mozilla Firefox](http://www.mozilla.org).

Смотрите подробнее [описание формата запроса на синтез речи](../tts/request.md).

#### Практические руководства {#tutorials}

* [Синтез речи в формате OggOpus с помощью API v1](../tts/api/tts-ogg.md)
* [Синтез речи из текста в формате SSML с помощью API v1](../tts/api/tts-ssml.md)
* [Синтез речи в формате WAV с помощью API v1](../tts/api/tts-wav.md)