Перейти к основному содержимому

Синтез по API

Aimyvoice предоставляет HTTP API для синтеза речи голосом из каталога. Так вы можете использовать голоса в сторонних приложениях — например, интегрировать их в голосовых ассистентов.

Запрос

Адрес

  • POST https://aimyvoice.com/api/v1/synthesize

Заголовки

  • Content-Type — application/x-www-form-urlencoded.

  • api-key — токен для доступа к голосу.

    подсказка
    Чтобы получить токен, выберите нужный голос в каталоге и нажмите Подключить по API.

Тело

В теле запроса передайте параметр text — текст на русском языке, который вы хотите озвучить.

подсказка
В тексте вы можете использовать разметку синтеза речи, чтобы управлять его звучанием: задавать паузы, ударения, тон и другие особенности произношения.

Требования к тексту:

  • Текст должен быть на русском языке. Отдельные слова и словосочетания могут быть на латинице.
  • Ограничение на длину: от 1 до 250 символов без учета разметки.
  • Допустимые спецсимволы: € £ ₽ $ % № # & - — – + * = . , ! ? ; : " ` ' ° \ / ( ) < > « » ± ^.

Примеры

предупреждение
При отправке запроса текст должен быть закодирован как URL (через percent-encoding).
import requests

# Формирование запроса
url = "https://aimyvoice.com//api/v1/synthesize"
headers = {
"Content-Type": "application/x-www-form-urlencoded",
"api-key": "<api-key>"
}
payload = {
"text": requests.utils.quote('Мой дядя <break time="1s"/> самых честных правил')
}

# Отправка запроса
response = requests.post(url, headers=headers, data=payload)

# Сохранение ответа в аудиофайл
if response.status_code == 200:
with open("result.wav", "wb") as result:
result.write(response.content)

Ответ

Если синтез прошел успешно, в ответ придет строка с бинарными данными. Сохраните содержимое строки в файл с расширением .wav.

HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 19 Nov 2021 12:35:54 GMT
Content-Type: audio/wav
...

(Строка с бинарными данными)