Озвучивает текст живыми голосами и умеет передавать эмоции, интонации и манеру речи. Цена - 0,03 ₽ за 1 символ текста.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
ElevenLabs Eleven v3 озвучивает текст живыми голосами: с паузами, интонацией и эмоциями. Модель хорошо говорит по-русски и на десятках других языков. Её берут для закадрового голоса в роликах, рекламы, аудиокниг, голосовых сообщений и озвучки персонажей.
Вы выбираете один из 64 готовых голосов, задаёте подачу и при желании добавляете в текст теги эмоций. Каждый вызов создаёт асинхронную операцию: вы получаете id, а готовый MP3 забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Режим у модели один - озвучка текста. Отличаются голос, подача и необязательные ручные настройки.
{
"tool": "elevenlabs-eleven-v3",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "elevenlabs-eleven-v3".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
text | string | Да | Текст для озвучки, от 1 до 5000 символов. Можно добавлять теги эмоций в квадратных скобках, например [whispers] или [laughs] - подробнее ниже. |
voice | enum | Нет | Готовый голос из таблицы ниже. Если не передать, используется Alicia. |
stability | enum | Нет | Подача: creative - больше эмоций и выразительности, но результат менее предсказуем; natural - баланс для большинства текстов; robust - ровная и спокойная речь, почти без эмоций. Если не передать, используется natural. |
use_advanced | boolean | Нет | Включает ручные настройки similarity и speaker_boost. Без true эти два поля не применяются. |
similarity | number | Нет | Сходство с голосом от 0 до 1. 1 - максимально близко к исходному тембру, меньше - голос звучит свободнее. Работает только вместе с use_advanced: true. |
speaker_boost | enum | Нет | on или off. Дополнительно подтягивает звучание к выбранному голосу, генерация может идти чуть дольше. Работает только вместе с use_advanced: true. |
voice | Голос |
|---|---|
Adam | мужской |
Alice | женский |
Alicia | женский |
Aria | женский |
Baxter | мужской |
Bella | женский |
Bill | мужской |
Brian | мужской |
Caleb | мужской |
Callum | мужской |
Charlie | мужской |
Charlotte | женский |
Chris | мужской |
Clyde | мужской |
Daniel | мужской |
Darian | мужской |
Dave | мужской |
Dorothy | женский |
Drew | мужской |
Eddie | мужской |
Elara | женский |
Eldrin | мужской |
Elowen | женский |
Emily | женский |
Eric | мужской |
Ethan | мужской |
Fin | мужской |
Finley | женский |
Florence | женский |
Freya | женский |
George | мужской |
Gigi | женский |
Giovanni | мужской |
Glinda | женский |
Grace | женский |
Harry | мужской |
Jade | женский |
James | мужской |
Jeremy | мужской |
Jessica | женский |
Jessie | мужской |
Joseph | мужской |
Kaelen | мужской |
Laura | женский |
Lawrence | мужской |
Liam | мужской |
Lily | женский |
Maisie | женский |
Matilda | женский |
Michael | мужской |
Mimi | женский |
Nicole | женский |
Patrick | мужской |
Paul | мужской |
River | мужской |
Roger | мужской |
Sarah | женский |
Sawyer | мужской |
Serena | женский |
Talia | женский |
Thomas | мужской |
Warren | мужской |
Will | мужской |
Wyatt | мужской |
Послушать каждый голос можно на странице нейросети в форме сайта: у кнопки голоса есть пример звучания на русском.
Теги пишутся по-английски в квадратных скобках прямо в text, перед фразой, к которой относятся. Модель их не озвучивает, а играет. Например:
[whispers] - шёпотом;[laughs] - со смехом;[sighs] - со вздохом;[excited] - с восторгом;[sarcastic] - с сарказмом;[curious] - с любопытством.Лучше всего теги работают с подачей creative и natural. С robust модель почти не меняет интонацию.
Самый простой вызов: текст и голос. Подача по умолчанию - natural.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v3",
"input": {
"text": "Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.",
"voice": "Alicia"
}
}'
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-v3',
input: {
text: 'Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.',
voice: 'Alicia',
},
}),
})
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-v3',
'input': {
'text': 'Добрый день! Мы открылись после ремонта и ждём вас в новом зале. Всю неделю действует скидка двадцать процентов на всё меню.',
'voice': 'Alicia',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Теги в квадратных скобках подсказывают модели, как сыграть фразу: шёпотом, со смехом, с восторгом. Сами теги не озвучиваются. Для живой игры лучше подходит подача creative.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v3",
"input": {
"text": "[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!",
"voice": "Adam",
"stability": "creative"
}
}'
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-v3',
input: {
text: '[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!',
voice: 'Adam',
stability: 'creative',
},
}),
})
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-v3',
'input': {
'text': '[whispers] Слушай, я расскажу тебе секрет. [laughs] Ну ладно, никакого секрета нет! [excited] Зато у нас новые голоса!',
'voice': 'Adam',
'stability': 'creative',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
use_advanced: true включает настройки similarity и speaker_boost. Здесь speaker_boost усиливает сходство с выбранным голосом, а ровная подача robust подходит для объявления.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-eleven-v3",
"input": {
"text": "Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.",
"voice": "George",
"stability": "robust",
"use_advanced": true,
"similarity": 0.8,
"speaker_boost": "on"
}
}'
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-v3',
input: {
text: 'Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.',
voice: 'George',
stability: 'robust',
use_advanced: true,
similarity: 0.8,
speaker_boost: 'on',
},
}),
})
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-v3',
'input': {
'text': 'Hello! Our store opens on October 1, 2026, at 9:30 AM. The first 100 visitors get a 15% discount.',
'voice': 'George',
'stability': 'robust',
'use_advanced': True,
'similarity': 0.8,
'speaker_boost': 'on',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "elevenlabs-eleven-v3",
"cost": 3.72,
"balance_after": 496.28,
"created_at": "2026-09-24T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "elevenlabs-eleven-v3",
"cost": 3.72,
"created_at": "2026-09-24T12:00:00Z",
"completed_at": "2026-09-24T12:00:15Z",
"result": {
"type": "audio",
"urls": [
"https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790253222409-5shi2t9e.mp3"
],
"files": [
{
"url": "https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790253222409-5shi2t9e.mp3",
"name": "result"
}
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "elevenlabs-eleven-v3",
"cost": 3.72,
"created_at": "2026-09-24T12:00:00Z",
"completed_at": "2026-09-24T12:00:14Z",
"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. Опрашивайте статус раз в 5-10 секунд.
После успешного завершения result содержит один аудиофайл MP3:
type всегда равен "audio";urls содержит одну ссылку на MP3;files дублирует ту же ссылку с именем файла.Длительность файла зависит от длины текста и подачи: 120 символов русского текста звучат примерно 8 секунд.
text стоит 0,03 ₽. Считаются все символы, включая пробелы, знаки препинания и теги эмоций.cost. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.voice, stability и speaker_boost, а также текст длиннее 5000 символов вернут validation_error ещё до создания операции.voice_gender - фильтр голосов в форме сайта, в API его передавать не нужно. Если передадите male или female, голос должен быть того же пола, иначе вернётся validation_error.similarity и speaker_boost без use_advanced: true не применяются: модель читает с обычными настройками.