Войти

ElevenLabs Eleven v4 Text to Speech

Озвучка текста естественным голосом с выбором голоса и настройкой дикции.

Запрос
Текст, который нужно озвучить. От 15 до 10 000 символов. В текст можно вставлять audio-теги в квадратных скобках на английском, например [whispering], [laughing].
Выберите голос для озвучки.
Alicia
Aria
Roger
Sarah
Laura
Charlie
George
Callum
River
Liam
Charlotte
Alice
Matilda
Will
Jessica
Eric
Chris
Brian
Daniel
Lily
Bill
Adam
Bella
Harry
Wyatt
Sawyer
Baxter
Caleb
Finley
Eldrin
Kaelen
Jade
Elara
Lawrence
Florence
Maisie
Elowen
Darian
Talia
Warren
Eddie
Настройте баланс между ровной дикцией и выразительностью речи.
0.5
Настройте, насколько близко результат должен сохранять выбранный голос.
0.75

О модели ElevenLabs Eleven v4 Text to Speech

Обзор

ElevenLabs Eleven v4 — модель синтеза речи, представленная 28 сентября 2026 года. В линейке это вариант максимального качества: готовая озвучка, где важна подача, — аудиокниги, голос персонажа, закадр и дубляж. Низкозадержечный Eleven v4 Turbo в этой операции не используется: на выходе файл, а не живой ответ. На фоне Eleven v3 речь выразительнее, точнее следует аудиотегам и охватывает 90+ языков вместо 70+. Один запрос берёт до 10 000 символов (у Eleven v3 — 5 000) и один голос. Диалог нескольких дикторов за один проход, как у v3, здесь не собирается. Эмоцию задают теги в квадратных скобках, например [whispering] или [laughing]. Стабильность сдвигает подачу: ниже — живее и разнообразнее, выше — ближе к ровной базе. Высокое сходство с голосом может снижать естественность. Регуляторов скорости и стиля нет, пауза фиксированной длины через SSML не поддерживается: ритм держат теги вроде [pause] и пунктуация. Без явной режиссуры речь часто звучит слишком актёрски и быстро, теги срабатывают не всегда. Если язык текста не совпадает с языком голоса, акцент стремится к языку текста. Модель ещё дорабатывают, поэтому одну и ту же сцену стоит переслушать.

Сценари использования (use cases)

Ограничения и недостатки

Советы

FAQ

Когда выбирать обычный Eleven v4, а не Eleven v3 или Eleven v4 Turbo?

Обычный Eleven v4 — вариант максимального качества для готовой озвучки: аудиокниг, видео и персонажной речи. По документации ElevenLabs он в целом точнее передаёт голос, эмоцию и аудиотеги, чем Eleven v3, но тот же голос может зазвучать заметно иначе, и в обсуждениях часть людей возвращается на v3 из‑за быстрого темпа и слишком актёрской подачи. Eleven v4 Turbo сохраняет тот же выразительный диапазон, однако это низкозадержечный вариант для живого диалога: медианная задержка инференса около 100 мс.

Почему Eleven v4 говорит слишком быстро и как поставить паузу без регулятора скорости?

У обычного Eleven v4 нет ползунка скорости, а пауза фиксированной длины в секундах через SSML не поддерживается: темп выбирает модель, и в отзывах его чаще всего называют слишком быстрым, с короткими промежутками между фразами. Паузу можно наметить тегами [pause] или [long pause] и пунктуацией — многоточием, тире, короткими фразами, — но длина подстраивается под сцену и голос, а не под заданный интервал, и тег срабатывает не каждый раз. В ответе ElevenLabs по этой жалобе подтверждено, что пауз местами не хватает и ритм модели ещё дорабатывают.

Почему речь звучит слишком театрально и что меняет ползунок стабильности?

Eleven v4 заточен под эмоциональную речь, поэтому без явных указаний фразы часто звучат актёрски: ровный деловой тон и спокойное чтение держатся плохо, о чём пишут и в обычной озвучке, и на длинных текстах. Ползунок стабильности сдвигает баланс: более низкое значение даёт живую и разную подачу, более высокое держит её ближе к одной ровной базе, но монотонность не гарантирует и сила игры зависит от выбранного голоса. Для спокойного тона поднимите стабильность, возьмите менее выразительный голос и не ставьте сильный эмоциональный тег на каждую фразу.

Почему акцент голоса пропадает или скачет, особенно на другом языке?

Если язык текста совпадает с языком голоса, Eleven v4 должен сохранять его акцент. Если язык другой, модель по умолчанию говорит бегло, с акцентом языка текста, и не переносит акцент голоса: переключателя нет, ElevenLabs называет это задуманным поведением и пишет, что режим ещё дорабатывают. На практике акцент всё равно нестабилен: в обсуждениях голоса, которые держали окраску на Eleven v3, на v4 уходят в другую, а по ходу текста акцент может переключаться. Тег акцента — только подсказка, результат нужно прослушивать; устойчивее голос, который уже говорит на языке текста с нужной окраской.

Почему аудиотег не даёт нужную подачу или превращается в звук?

Тег в квадратных скобках — подсказка, а не команда: Eleven v4 следует им лучше прошлых моделей, но ElevenLabs прямо пишет, что следование ещё не идеально. Расплывчатую пометку модель иногда понимает как звуковой эффект, а не как манеру речи, потому что умеет синтезировать и то и другое; тег паузы в отзывах срабатывает лишь иногда, а слишком сильный тег делает фразу заметно более актёрской, чем соседние. Надёжнее писать явно, что нужно от голоса, например [low, gravelly voice], ставить один тег на фразу и прослушивать дубль: если такой подачи не было у голоса, результат слабее.

Цены

Цена при активной подписке

Стоимость необязательной подписки 299 ₽/месяц Подробнее

API

Инструкция ниже является выдержкой из документации.

Параметры

Поля тела JSON-запроса, которые используются в Playground и доступны для настройки через API. Порядок совпадает с формой на странице.

Параметр Тип Обязательный По умолчанию Допустимые значения Описание
text string Да — длина 15–10000 символов Текст, который нужно озвучить. От 15 до 10 000 символов. В текст можно вставлять audio-теги в квадратных скобках на английском, например [whispering], [laughing].
voice_id string Да — Alicia, Aria, Roger, Sarah, Laura, Charlie, George, Callum, River, Liam, Charlotte, Alice, Matilda, Will, Jessica, Eric, Chris, Brian, Daniel, Lily, Bill, Adam, Bella, Harry, Wyatt, Sawyer, Baxter, Caleb, Finley, Eldrin, Kaelen, Jade, Elara, Lawrence, Florence, Maisie, Elowen, Darian, Talia, Warren, Eddie Выберите голос для озвучки.
stability number Нет 0.5 0–1 Настройте баланс между ровной дикцией и выразительностью речи.
similarity number Нет 0.75 0–1 Настройте, насколько близко результат должен сохранять выбранный голос.

Запрос

Асинхронный запуск: POST https://api.flixa.io/v1/audio/speech-elevenlabs/eleven-v4 с заголовком Authorization: Bearer $FLIXA_API_KEY и телом JSON. Ниже — пример с полями из Playground.

curl -X POST "https://api.flixa.io/v1/audio/speech-elevenlabs/eleven-v4" \
  -H "Authorization: Bearer $FLIXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "Ночь над набережной пахнет мокрым камнем и горячим хлебом из круглосуточной пекарни. [short pause] Фонари дрожат в чёрной воде, и город дышит медленнее, чем днём. [whispering] Слышите, как далеко закрывается ставня — тихо, будто кто-то боится разбудить реку. [laughing] А на мосту кто-то всё-таки не выдерживает и смеётся в голос: слишком громко для такого часа и слишком тепло, чтобы сердиться. [excited] И вдруг пароход даёт гудок, низкий и долгий, и вся набережная на секунду оборачивается к воде. [warmly] Остаётся шаг, потом ещё один, и бумажный кулёк, который греет ладони всю дорогу домой.",
  "voice_id": "Sarah",
  "stability": 0.5,
  "similarity": 0.75,
  "prompt": "Превратите это фото товара в премиальную студийную рекламу: мягкий кинематографический свет, чистый бежевый фон, лёгкие тени, реалистичные отражения и эстетика люксового бренда."
}'
import json
import os
import requests

url = "https://api.flixa.io/v1/audio/speech-elevenlabs/eleven-v4"
payload = json.loads({"prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "similarity": 0.75, "stability": 0.5, "text": "\u041d\u043e\u0447\u044c \u043d\u0430\u0434 \u043d\u0430\u0431\u0435\u0440\u0435\u0436\u043d\u043e\u0439 \u043f\u0430\u0445\u043d\u0435\u0442 \u043c\u043e\u043a\u0440\u044b\u043c \u043a\u0430\u043c\u043d\u0435\u043c \u0438 \u0433\u043e\u0440\u044f\u0447\u0438\u043c \u0445\u043b\u0435\u0431\u043e\u043c \u0438\u0437 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u043f\u0435\u043a\u0430\u0440\u043d\u0438. [short pause] \u0424\u043e\u043d\u0430\u0440\u0438 \u0434\u0440\u043e\u0436\u0430\u0442 \u0432 \u0447\u0451\u0440\u043d\u043e\u0439 \u0432\u043e\u0434\u0435, \u0438 \u0433\u043e\u0440\u043e\u0434 \u0434\u044b\u0448\u0438\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u0434\u043d\u0451\u043c. [whispering] \u0421\u043b\u044b\u0448\u0438\u0442\u0435, \u043a\u0430\u043a \u0434\u0430\u043b\u0435\u043a\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u043d\u044f \u2014 \u0442\u0438\u0445\u043e, \u0431\u0443\u0434\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u0431\u043e\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0440\u0435\u043a\u0443. [laughing] \u0410 \u043d\u0430 \u043c\u043e\u0441\u0442\u0443 \u043a\u0442\u043e-\u0442\u043e \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u0441\u043c\u0435\u0451\u0442\u0441\u044f \u0432 \u0433\u043e\u043b\u043e\u0441: \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u043e\u043c\u043a\u043e \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0430\u0441\u0430 \u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0442\u0435\u043f\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0434\u0438\u0442\u044c\u0441\u044f. [excited] \u0418 \u0432\u0434\u0440\u0443\u0433 \u043f\u0430\u0440\u043e\u0445\u043e\u0434 \u0434\u0430\u0451\u0442 \u0433\u0443\u0434\u043e\u043a, \u043d\u0438\u0437\u043a\u0438\u0439 \u0438 \u0434\u043e\u043b\u0433\u0438\u0439, \u0438 \u0432\u0441\u044f \u043d\u0430\u0431\u0435\u0440\u0435\u0436\u043d\u0430\u044f \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u043e\u0434\u0435. [warmly] \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0448\u0430\u0433, \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d, \u0438 \u0431\u0443\u043c\u0430\u0436\u043d\u044b\u0439 \u043a\u0443\u043b\u0451\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0440\u0435\u0435\u0442 \u043b\u0430\u0434\u043e\u043d\u0438 \u0432\u0441\u044e \u0434\u043e\u0440\u043e\u0433\u0443 \u0434\u043e\u043c\u043e\u0439.", "voice_id": "Sarah"})

response = requests.post(
    url,
    headers={"Authorization": f"Bearer {os.environ['FLIXA_API_KEY']}"},
    json=payload,
    timeout=120,
)
print(response.json())
const response = await fetch(
  "https://api.flixa.io/v1/audio/speech-elevenlabs/eleven-v4",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.FLIXA_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "similarity": 0.75, "stability": 0.5, "text": "\u041d\u043e\u0447\u044c \u043d\u0430\u0434 \u043d\u0430\u0431\u0435\u0440\u0435\u0436\u043d\u043e\u0439 \u043f\u0430\u0445\u043d\u0435\u0442 \u043c\u043e\u043a\u0440\u044b\u043c \u043a\u0430\u043c\u043d\u0435\u043c \u0438 \u0433\u043e\u0440\u044f\u0447\u0438\u043c \u0445\u043b\u0435\u0431\u043e\u043c \u0438\u0437 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u043f\u0435\u043a\u0430\u0440\u043d\u0438. [short pause] \u0424\u043e\u043d\u0430\u0440\u0438 \u0434\u0440\u043e\u0436\u0430\u0442 \u0432 \u0447\u0451\u0440\u043d\u043e\u0439 \u0432\u043e\u0434\u0435, \u0438 \u0433\u043e\u0440\u043e\u0434 \u0434\u044b\u0448\u0438\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u0434\u043d\u0451\u043c. [whispering] \u0421\u043b\u044b\u0448\u0438\u0442\u0435, \u043a\u0430\u043a \u0434\u0430\u043b\u0435\u043a\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u043d\u044f \u2014 \u0442\u0438\u0445\u043e, \u0431\u0443\u0434\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u0431\u043e\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0440\u0435\u043a\u0443. [laughing] \u0410 \u043d\u0430 \u043c\u043e\u0441\u0442\u0443 \u043a\u0442\u043e-\u0442\u043e \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u0441\u043c\u0435\u0451\u0442\u0441\u044f \u0432 \u0433\u043e\u043b\u043e\u0441: \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u043e\u043c\u043a\u043e \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0430\u0441\u0430 \u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0442\u0435\u043f\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0434\u0438\u0442\u044c\u0441\u044f. [excited] \u0418 \u0432\u0434\u0440\u0443\u0433 \u043f\u0430\u0440\u043e\u0445\u043e\u0434 \u0434\u0430\u0451\u0442 \u0433\u0443\u0434\u043e\u043a, \u043d\u0438\u0437\u043a\u0438\u0439 \u0438 \u0434\u043e\u043b\u0433\u0438\u0439, \u0438 \u0432\u0441\u044f \u043d\u0430\u0431\u0435\u0440\u0435\u0436\u043d\u0430\u044f \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u043e\u0434\u0435. [warmly] \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0448\u0430\u0433, \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d, \u0438 \u0431\u0443\u043c\u0430\u0436\u043d\u044b\u0439 \u043a\u0443\u043b\u0451\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0440\u0435\u0435\u0442 \u043b\u0430\u0434\u043e\u043d\u0438 \u0432\u0441\u044e \u0434\u043e\u0440\u043e\u0433\u0443 \u0434\u043e\u043c\u043e\u0439.", "voice_id": "Sarah"}),
  }
);

console.log(await response.json());

Пример ответа

Сразу после POST приходит объект с идентификатором задачи и статусом (queued или processing). Готовый результат — в поле outputs после завершения.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "created_at": "2026-05-22T12:00:00Z"
}

После успешного завершения:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "outputs": [
    { "url": "https://storage.example/result.png", "type": "image" }
  ]
}

Поллинг

Пока задача в работе, опрашивайте GET https://api.flixa.io/v1/predictions/{id}/result с тем же API-ключом. Рекомендуемый интервал — 1–2 секунды; остановитесь при completed, failed или cancelled.

  • queued / processing — продолжайте опрос.
  • completed — заберите URL из outputs.
  • failed — смотрите error в теле ответа.
curl "https://api.flixa.io/v1/predictions/{id}/result" \
  -H "Authorization: Bearer $FLIXA_API_KEY"