Озвучивает текст живым голосом с эмоциями, паузами и звуками по тегам в тексте. Цена - 0,007 ₽ за 1 символ.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
ElevenLabs Eleven v4 Turbo - быстрая версия Eleven v4. Голоса, теги эмоций и параметры те же, но модель отвечает быстрее и стоит дешевле. Подходит для массовой озвучки: карточек товаров, уведомлений, коротких роликов, голосовых ответов бота.
Вы выбираете один из 22 готовых голосов и язык текста, а подачу задаёте тегами в квадратных скобках и необязательными настройками. Каждый вызов создаёт асинхронную операцию: вы получаете id, а готовый MP3 забираете отдельным запросом статуса.
Если нужна максимальная выразительность, например для аудиокниги или рекламы с игрой голосом, посмотрите elevenlabs-eleven-v4: те же голоса и параметры, но подача богаче.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Режим у модели один - озвучка текста. Отличаются голос, язык, теги в тексте и необязательные настройки подачи.
{
"tool": "elevenlabs-eleven-v4-turbo",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "elevenlabs-eleven-v4-turbo".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
text | string | Да | Текст для озвучки, от 1 до 5000 символов. Можно добавлять теги в квадратных скобках, например [whispers] или [laughs], и задавать произношение слова в косых чертах - подробнее ниже. |
voice | enum | Нет | Готовый голос из таблицы ниже. Если не передать, используется Sarah. |
language | enum | Нет | Язык текста из таблицы ниже, от него зависит произношение. Если не передать, используется ru. Значение auto - модель определит язык сама, это удобно для текста на нескольких языках. |
stability | number | Нет | Стабильность подачи от 0 до 1. Меньше - больше эмоций и живости, но результат менее предсказуем. Больше - ровная, одинаковая подача от запуска к запуску. Если не передать, используется 0.5. |
similarity_boost | number | Нет | Сходство с голосом от 0 до 1. Больше - тембр ближе к примеру голоса, но речь может звучать менее естественно. Если не передать, используется 0.75. |
apply_text_normalization | enum | Нет | Чтение чисел, дат и сокращений: auto - модель решает сама, on - сначала переводит их в слова, off - читает как есть. Если не передать, используется auto. |
seed | integer | Нет | Число от 0 до 4294967295. Одинаковый seed при тех же параметрах помогает получить похожую озвучку, но полного совпадения модель не гарантирует. |
voice | Голос |
|---|---|
Adam | мужской |
Alice | женский |
Aria | женский |
Bill | мужской |
Brian | мужской |
Callum | мужской |
Charlie | мужской |
Charlotte | женский |
Chris | мужской |
Daniel | мужской |
Eric | мужской |
George | мужской |
Jessica | женский |
Laura | женский |
Liam | мужской |
Lily | женский |
Matilda | женский |
Rachel | женский |
River | мужской |
Roger | мужской |
Sarah | женский |
Will | мужской |
Послушать каждый голос можно на странице нейросети в форме сайта: у кнопки голоса есть пример звучания на русском. Все голоса говорят на всех языках из списка ниже.
language | Язык |
|---|---|
ru | Русский |
auto | Определить автоматически |
en | Английский |
uk | Украинский |
be | Белорусский |
kk | Казахский |
uz | Узбекский |
hy | Армянский |
ka | Грузинский |
az | Азербайджанский |
de | Немецкий |
fr | Французский |
es | Испанский |
it | Итальянский |
pt | Португальский |
pl | Польский |
cs | Чешский |
bg | Болгарский |
sr | Сербский |
ro | Румынский |
hu | Венгерский |
el | Греческий |
nl | Нидерландский |
sv | Шведский |
no | Норвежский |
da | Датский |
fi | Финский |
tr | Турецкий |
ar | Арабский |
he | Иврит |
hi | Хинди |
zh | Китайский |
ja |
Теги пишутся по-английски в квадратных скобках прямо в text, перед фразой, к которой относятся. Модель их не озвучивает, а играет. Например:
[excited], [happy], [sad], [angry], [calm], [curious], [sarcastic], [nervous], [whispers], [shouts];[laughs], [chuckles], [sighs], [gasps], [crying], [clears throat];[pause];[door slams], [applause], [light rain];[slowly and solemnly], [strong French accent].Чтобы слово звучало определённым образом, запишите его произношение в косых чертах по Международному фонетическому алфавиту, например /təˈmɑːtoʊ/.
Теги сильнее проявляются при низкой stability. При значениях ближе к 1 модель почти не меняет интонацию.
Самый простой вызов: текст и голос. Язык по умолчанию - русский.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v4-turbo",
"input": {
"text": "Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.",
"voice": "Sarah"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'elevenlabs-eleven-v4-turbo',
input: {
text: 'Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.',
voice: 'Sarah',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'elevenlabs-eleven-v4-turbo',
'input': {
'text': 'Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.',
'voice': 'Sarah',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Теги подсказывают модели, как сыграть фразу: шёпотом, со смехом, с восторгом. Сами теги не озвучиваются. Низкая stability делает подачу живее.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v4-turbo",
"input": {
"text": "[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!",
"voice": "George",
"stability": 0.3
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'elevenlabs-eleven-v4-turbo',
input: {
text: '[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!',
voice: 'George',
stability: 0.3,
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'elevenlabs-eleven-v4-turbo',
'input': {
'text': '[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!',
'voice': 'George',
'stability': 0.3,
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Для английского текста передайте language: "en". apply_text_normalization: "on" помогает правильно прочитать дату, время и проценты, высокая stability даёт ровную подачу для объявления, а seed помогает повторить похожий результат.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v4-turbo",
"input": {
"text": "Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.",
"voice": "Brian",
"language": "en",
"stability": 0.8,
"similarity_boost": 0.8,
"apply_text_normalization": "on",
"seed": 12345
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'elevenlabs-eleven-v4-turbo',
input: {
text: 'Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.',
voice: 'Brian',
language: 'en',
stability: 0.8,
similarity_boost: 0.8,
apply_text_normalization: 'on',
seed: 12345,
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'elevenlabs-eleven-v4-turbo',
'input': {
'text': 'Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.',
'voice': 'Brian',
'language': 'en',
'stability': 0.8,
'similarity_boost': 0.8,
'apply_text_normalization': 'on',
'seed': 12345,
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "elevenlabs-eleven-v4-turbo",
"cost": 0.87,
"balance_after": 499.13,
"created_at": "2026-09-28T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "elevenlabs-eleven-v4-turbo",
"cost": 0.87,
"created_at": "2026-09-28T12:00:00Z",
"completed_at": "2026-09-28T12:00:09Z",
"result": {
"type": "audio",
"urls": [
"https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790626911971-j1ixo5h7.mp3"
],
"files": [
{
"url": "https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790626911971-j1ixo5h7.mp3",
"name": "result"
}
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "elevenlabs-eleven-v4-turbo",
"cost": 0.87,
"created_at": "2026-09-28T12:00:00Z",
"completed_at": "2026-09-28T12:00:08Z",
"result": null,
"error_message": "По вашему запросу не удалось получить результат. Пожалуйста, измените запрос или входные данные и попробуйте снова."
}
После создания операции сохраните id и проверяйте её статус запросом:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
const response = await fetch(
'https://bratuha.ru/api/v1/operations/op_uuid-123',
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
}
)
const data = await response.json()
Пока озвучка создаётся, status будет queued или processing. Опрашивайте статус раз в 3-5 секунд.
После успешного завершения result содержит один аудиофайл MP3 (44,1 кГц, 128 кбит/с):
type всегда равен "audio";urls содержит одну ссылку на MP3;files дублирует ту же ссылку с именем файла.Длительность файла зависит от длины текста и подачи: 110-120 символов русского текста звучат примерно 9 секунд.
text стоит 0,007 ₽, итог округляется вверх до копейки. Считаются все символы, включая пробелы, знаки препинания и теги.cost. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.voice, language и apply_text_normalization, числа вне допустимых диапазонов, а также текст длиннее 5000 символов вернут validation_error ещё до создания операции.voice_gender - фильтр голосов в форме сайта, в API его передавать не нужно. Если передадите male или female, голос должен быть того же пола, иначе вернётся validation_error.use_advanced - переключатель дополнительных настроек в форме сайта. В API он не нужен: stability, similarity_boost, apply_text_normalization и seed применяются и без него.language по языку текста: с неверным языком модель читает с акцентом.[pause]: теги разметки вроде <break> модель не поддерживает.| Японский |
ko | Корейский |
vi | Вьетнамский |
th | Тайский |
id | Индонезийский |