API синхронного синтеза речи (HTTP)
Чтобы синтезировать речь, отправьте POST-запрос с параметрами синтеза и токеном, а также текстом для синтеза в теле запроса. Текст может быть в формате UTF8 или в виде SSML-разметки.
Максимальный размер тела запроса — 4 000 символов, включая пробелы и SSML-разметку.
В случае успешной обработки в ответе вы получите бинарное представление синтезированного звука в запрошенном формате.
Запрос
Отправьте запрос на адрес:
https://smartspeech.sber.ru/rest/v1/text:synthesize
Заголовки запроса
Параметры запроса
Возможные форматы аудио
Формат | Описание |
---|---|
| Возвращается Частота дискретизации берется из параметра Один фрейм звука — 16 бит, однако HTTP не гарантирует, что будет прочитано четное количество байт на каждый чанк. Учитывайте это при имплементации клиента |
| Возвращается Частота дискретизации берется из параметра Один фрейм звука — 16 бит, однако HTTP не гарантирует, что будет прочитано четное количество байт на каждый чанк. Учитывайте это при имплементации клиента |
| Возвращается Используется |
| Возвращается Алгоритм сжатия звуковых данных с потерей информации |
Пример запроса
curl -H "Authorization: Bearer eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4R0NNIiwidHlwIjoiSldUIn0..2EpRX7W33f8Bn7eL.uXPQt0QXDFPNKaC6uADyF24hiiYxVkdQI0G1AXV3YHaTyFWYnVbeIbw_aR8No8eiZaUbzlwT05HvUcKp.6df0vRM3DcDZmxWfwYcVUA" /
-H "Content-Type: application/text" /
--data-binary "Текст для синтеза" "https://smartspeech.sber.ru/rest/v1/text:synthesize?format=opus&voice=May_24000" > out.opus
Ответ
Если запрос обработан успешно, в ответе возвращается код 200, а тело ответа содержит бинарное представление синтезированного звука в запрошенном формате.
Нет необходимости ждать полной обработки всего аудиопотока, вы получаете заголовки ответа в течение секунды, а затем в потоковом режиме приходят бинарные данные. Для потоковой передачи аудио в теле ответа используется Transfer-Encoding: chunked
(см. RFC).
Заголовки ответа
В случае ошибки заголовок Content-Type
имеет формат application/json
.
Параметры ответа
При успешном запросе вы получаете в ответ HTTP-код 200.
Значение параметра format | Описание формата |
---|---|
| audio/x-wav |
| audio/x-pcm; bit=16; rate=<частота дискретизации> |
| audio/ogg; codecs=opus |
| audio/x-pcm;bit=16;rate=<частота дискретизации> |
Коды ошибок
Код | Описание |
---|---|
400 | Ошибка в параметрах запроса. Пример {"status": 400, "message": "Id must not be empty"} |
401 | Не предоставлен токен для аутентификации. Пример {"status": 401, "message": "Unauthorized"} |
402 | Требуется оплатить сервис. Пример {"status": 402, "message": "Payment Required"} |
429 | Слишком много запросов. Пример {"status": 429, "message": "Too Many Requests"} |
500 | Внутренняя ошибка сервиса. Пример {"status": 500, "message": "Internal Server Error"} |