Синтез речи
Превращайте текст в речь с 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 управляет тем, как говорит готовый или клонированный голос: эмоция, темп, громкость, шёпот, акцент. Пишите так, как поставили бы задачу актёру озвучивания, на любом языке:
{ "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 создаст под это описание новый голос:
{ "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 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 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.mp3transcript— это то, что звучит в записи. С ним 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 кбит/с |
opus | Ogg Opus, 64 кбит/с |
aac | AAC (ADTS) |
flac | FLAC |
wav | WAV, 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.