Lovely RouterДокументация
Получить ключ
Models API

Синтез речи

Превращайте текст в речь с Qwen3-TTS и ZONOS2 через speech API OpenAI — готовые голоса, голоса по описанию, клонирование голоса по короткому фрагменту, эмоции, от 10 до 40+ языков — с оплатой за минуту аудио.

Lovely Router обслуживает эндпоинт синтеза речи OpenAI, POST /v1/audio/speech, с помощью голосовых моделей с открытыми весами на наших собственных GPU. Направьте OpenAI SDK на https://lovelyrouter.com/v1, используйте свой ключ Lovely Router — и аудио придёт в ответе. Помимо полей OpenAI, можно создать голос по описанию, клонировать голос по короткой записи, выбрать язык, а в ZONOS2 — задать эмоцию. Все поля описаны в справочнике Аудиоэндпоинты.

Модели#

МодельЦенаЛучше всего подходит дляЯзыки
qwen3-tts$0.036 за минутуГолоса по описанию, 9 готовых голосов с инструкциями по стилю, клонирование10: китайский, английский, японский, корейский, немецкий, французский, русский, португальский, испанский, итальянский
zonos2$0.036 за минутуТочные клоны голоса, эмоции (радость, грусть, гнев, удивление)40+, лучше всего английский, китайский и японский

Обе модели тарифицируются посекундно по длительности созданного аудио, не менее одной секунды за запрос. Qwen3-TTS распространяется командой Qwen из Alibaba по лицензии Apache-2.0; ZONOS2 — компанией Zyphra по лицензии Apache-2.0.

Обе модели работают на хостируемых GPU, которые засыпают, когда ими никто не пользуется: первый запрос после простоя ждёт около 45 секунд (qwen3-tts) или до 2 минут (zonos2), пока загружается модель. После этого Qwen3-TTS говорит примерно вдвое быстрее реального времени, а ZONOS2 — примерно в реальном времени на один запрос и быстрее, если несколько запросов выполняются одновременно.

Озвучивание текста#

curl https://lovelyrouter.com/v1/audio/speech \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-tts",
    "input": "Welcome back! Your order has shipped and should arrive on Thursday.",
    "voice": "serena",
    "instructions": "Warm and cheerful, a little fast"
  }' \
  --output welcome.mp3

Ответ — это само аудио (MP3, если вы не задали response_format), а его длительность в секундах указана в заголовке x-lovely-audio-seconds. Тексты до 4096 символов; длинный текст озвучивается по предложениям одним и тем же голосом.

Голоса#

voice принимает один из готовых голосов модели, id сохранённого голоса или название голоса OpenAI, которое сопоставляется с ближайшим готовым голосом, так что код, написанный для OpenAI, работает без изменений.

Голос qwen3-ttsЗвучаниеРодной язык
vivianЯркая, немного дерзкая молодая женщинаКитайский
serenaТёплая, мягкая молодая женщинаКитайский
uncle_fuЗрелый мужчина, низкий и бархатный голосКитайский
dylanМолодой мужчина, чистый и естественный голосКитайский (пекинский диалект)
ericЖивой мужчина, слегка хрипловатый голосКитайский (сычуаньский диалект)
ryanЭнергичный мужчина с чётким ритмомАнглийский
aidenЖизнерадостный американецАнглийский
ono_annaИгривая, лёгкая молодая женщинаЯпонский
soheeТёплая женщина, богатая эмоциямиКорейский

У zonos2 три голоса: american_female, american_male и british_female.

Каждый голос говорит на всех языках, которые поддерживает его модель, лучше всего — на родном. Без voice модель выбирает готовый голос, подходящий к language (в qwen3-tts: vivian для китайского, ono_anna для японского, sohee для корейского, иначе ryan).

Инструкции по стилю#

В qwen3-tts поле instructions управляет тем, как говорит готовый или клонированный голос: эмоция, темп, громкость, шёпот, акцент. Пишите так, как поставили бы задачу актёру озвучивания, на любом языке:

JSON
{ "model": "qwen3-tts", "voice": "uncle_fu", "input": "Gather round, and I'll tell you how it really happened.", "instructions": "Slow and conspiratorial, half whispering" }

Создание голоса#

Не указывайте voice и опишите голос в instructions — возраст, пол, тембр, темп, настроение, акцент, — и qwen3-tts создаст под это описание новый голос:

JSON
{ "model": "qwen3-tts", "input": "Ahoy! Lower the sails, we're coming into port.", "instructions": "A gravelly old pirate captain with a booming voice, amused and a little drunk" }

Голос по описанию каждый раз получается немного другим. Чтобы закрепить его, сохраните результат как голос и дальше используйте его id.

Эмоции (ZONOS2)#

zonos2 вместо инструкций принимает emotion: одно из значений happy, sad, angry, surprised или веса от 0 до 1, например {"happy": 0.7, "surprised": 0.3}. Голос говорящего остаётся прежним, меняется только подача.

Клонирование голоса#

Обе модели клонируют голос по короткой записи: от 3 до 15 секунд чёткой речи одного человека без музыки. Сохраните её один раз и используйте её id как voice:

cURL
curl https://lovelyrouter.com/v1/audio/voices \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -F name="Narrator" \
  -F transcript="Thanks for listening. See you next week on the show." \
  -F consent=true \
  -F file=@narrator.wav

В ответе приходит объект голоса. Затем озвучивайте текст с его id:

cURL
curl https://lovelyrouter.com/v1/audio/speech \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "qwen3-tts", "voice": "voice_8f2c4a1e9b7d3f60a5c2e1d4", "input": "Today we talk about the history of tea."}' \
  --output episode.mp3
  • transcript — это то, что звучит в записи. С ним Qwen3-TTS клонирует точнее; без него совпадает только звучание голоса. ZONOS2 он не нужен.
  • consent: true обязателен: вы подтверждаете, что голос принадлежит вам или у вас есть разрешение говорящего на его клонирование, и вы отвечаете за то, как его используете. Не клонируйте голоса, чтобы обманывать людей или выдавать себя за других.
  • Сохранённые голоса бесплатны, доступны только вашей учётной записи и хранятся, пока вы их не удалите, — до 100 на учётную запись. WAV, MP3, M4A, OGG/Opus, FLAC или WebM до 10 МБ.
  • Сохранённый голос работает с обеими моделями, на всех языках, которые они поддерживают, а в qwen3-tts — и с instructions.

Для разового клонирования отправьте запись прямо в запросе: reference_audio (URL https, URL data: или base64), reference_text и consent: true.

Выходные данные#

response_formatЧто вы получаете
mp3 (по умолчанию)MP3, 128 кбит/с
opusOgg Opus, 64 кбит/с
aacAAC (ADTS)
flacFLAC
wavWAV, 16 бит
pcmСырые 16-битные сэмплы little-endian, 24 кГц, моно (как у OpenAI)

Qwen3-TTS выдаёт аудио 24 кГц, ZONOS2 — 44,1 кГц. speed (от 0.25 до 4.0) меняет темп, не меняя высоту тона; вы платите за полученные секунды.

Цены и ограничения#

  • $0.036 за минуту аудио на обеих моделях, с посекундной тарификацией ($0.0006 за секунду), не менее одной секунды за запрос. Неудачный запрос не тарифицируется.
  • Для запросов нужен положительный баланс; резервирование не применяется. Вызовы отображаются на странице Логи с числом созданных секунд.
  • Входной текст до 4096 символов, инструкции — до 1000.
  • Без потоковой передачи: аудио приходит, когда полностью готово. stream_format: "sse" возвращает 400.
  • Речевые модели отвечают только на /v1/audio/speech. Отправленные в Chat Completions, они возвращают 404 со ссылкой на эту страницу. Они обслуживаются в группе каналов creative-hosted.