CyHUB
EnglishПолучить ключ

ElevenLabs API

Голоса ElevenLabs: озвучка текста и диалогов готовыми голосами, смена голоса в своей записи и дубляж записи на другой язык.

Разработчик: ElevenLabsКлюч модели в API: elevenlabs

Для нейросети:Скачать .mdВся документация .mdОткрыть как текст

Подключение в три шага

  1. Получите ключКлюч создаётся в кабинете после подтверждения почты. Один ключ открывает все модели.
  2. Узнайте ценуPOST /v1/price считает стоимость запуска заранее, деньги при этом не списываются.
  3. Запустите задачу и заберите результатPOST /v1/tasks ставит задачу, GET /v1/tasks/{id} показывает её статус и файлы.

Готовый код

Замените YOUR_API_KEY своим ключом. Код ставит задачу и ждёт результата. В cURL второй запрос повторяйте, подставив вместо TASK_ID поле id из ответа первого, пока status не станет succeeded.

cURL
curl -X POST "https://api.cyhub.ai/v1/tasks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "elevenlabs",
  "settings": {
    "mode": "text_to_dialogue",
    "text": "Привет! Сегодня расскажу, как за пять минут сварить идеальный кофе дома.",
    "voice": "cgSgspJ2msm6clMCkdW9",
    "language_code": "ru"
  }
}'

curl "https://api.cyhub.ai/v1/tasks/TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import time

import requests

API = "https://api.cyhub.ai/v1"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

body = {
    "model": "elevenlabs",
    "settings": {
        "mode": "text_to_dialogue",
        "text": "Привет! Сегодня расскажу, как за пять минут сварить идеальный кофе дома.",
        "voice": "cgSgspJ2msm6clMCkdW9",
        "language_code": "ru",
    },
}

response = requests.post(f"{API}/tasks", json=body, headers=HEADERS, timeout=60)
response.raise_for_status()
task = response.json()
while task["status"] in ("queued", "running"):
    time.sleep(5)
    task = requests.get(f"{API}/tasks/{task['id']}", headers=HEADERS, timeout=30).json()
print(task["status"], task["result"])
Node.js
const API = "https://api.cyhub.ai/v1";
const HEADERS = { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const body = {
  "model": "elevenlabs",
  "settings": {
    "mode": "text_to_dialogue",
    "text": "Привет! Сегодня расскажу, как за пять минут сварить идеальный кофе дома.",
    "voice": "cgSgspJ2msm6clMCkdW9",
    "language_code": "ru"
  }
};

async function main() {
  let response = await fetch(`${API}/tasks`, { method: "POST", headers: HEADERS, body: JSON.stringify(body) });
  if (!response.ok) throw new Error(await response.text());
  let task = await response.json();
  while (task.status === "queued" || task.status === "running") {
    await new Promise((resolve) => setTimeout(resolve, 5000));
    response = await fetch(`${API}/tasks/${task.id}`, { headers: HEADERS });
    task = await response.json();
  }
  console.log(task.status, task.result);
}

main();
Получить ключ

Цена до запуска

Цены на 15.10.2026: от 1 ₽. Точную цену своих настроек покажет POST /v1/price.

РежимЦена
Озвучка текстаот 1 ₽
Смена голоса с файлом на 1 сот 1 ₽
Дубляж на другой язык с файлом на 1 сот 2 ₽

Отправьте те же настройки в POST /v1/price: ответ покажет цену запуска, деньги при этом не списываются.

cURL
curl -X POST "https://api.cyhub.ai/v1/price" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "elevenlabs",
  "settings": {
    "mode": "text_to_dialogue",
    "text": "Привет! Сегодня расскажу, как за пять минут сварить идеальный кофе дома.",
    "voice": "cgSgspJ2msm6clMCkdW9",
    "language_code": "ru"
  }
}'
  • amount_minor: цена запуска в копейках (для рублей)
  • currency: валюта кошелька
  • available_minor: сколько сейчас доступно на балансе для новых задач

Режимы

У каждого режима свои параметры и примеры. Режим выбирает поле mode.

Озвучка текста

Текст читается выбранным голосом. Для диалога у каждой реплики свой текст и голос.

Значение поля mode: text_to_dialogue

Цена в этом режиме от 1 ₽.

Параметры

Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

textОбязательно

Текст, который нужно озвучить. Подачу можно подсказать тегами на английском в квадратных скобках, например [whispering] или [laughing]. В диалоге это первая реплика, следующие передаются полями text_2, text_3 и так далее до text_20: по порядку, без пропусков, по тем же правилам.

Тип: СтрокаМинимум символов: 1Максимум символов: 5000
voiceОбязательно

Голос, которым читается текст (в диалоге голос первой реплики). Готовые голоса ElevenLabs, в подписи имя и характер голоса. У каждой следующей реплики свой голос: voice_2 для text_2, voice_3 для text_3 и так далее до voice_20, значения те же, что у voice.

Тип: СтрокаДопустимые значения: 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
tts_versionНеобязательно

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

Тип: СтрокаДопустимые значения: v4v3По умолчанию: "v4"
stabilityНеобязательно

Насколько ровно звучит голос: 0 выразительнее, но менее предсказуемо, 0.5 баланс, 1 ровно и предсказуемо.

Тип: СтрокаДопустимые значения: 00.51По умолчанию: "0.5"
language_codeНеобязательно

Язык озвучки. auto: определяется по тексту. Лучше задать язык текста явно. Список зависит от версии: у v4 он больше.

Тип: СтрокаДопустимые значения: autoruenafarhyasazbebnbsbgcacebnyhrcsdanletfilfifrglkadeelguhahehihuisidgaitjajvknkkkykolvlnltlbmkmsmlzhmrnenopsfaplptparosrsdskslsoesswsvtatethtrukurvicyНабор зависит от tts_version.
Исключения
tts_versionlanguage_code
v4и ещё ast, my, yue, mt, mi, mn, oc, or, tg, uz, yo
По умолчанию: "auto"

Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

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

  • До 20 реплик и до 5000 знаков во всём тексте вместе, до 10 разных голосов.
  • ElevenLabs надёжно озвучивает до 2000 знаков за раз: длинный текст может оборваться или не пройти, его лучше делить на несколько запусков.
  • Цена по числу знаков текста и по голосам: за часть голосов их владельцы в библиотеке ElevenLabs берут доплату, и знаки таким голосом стоят дороже.

Пример запроса

Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

Озвучка текста одним голосом

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "text_to_dialogue",
    "text": "Привет! Сегодня расскажу, как за пять минут сварить идеальный кофе дома.",
    "voice": "cgSgspJ2msm6clMCkdW9",
    "language_code": "ru"
  }
}

Диалог двух голосов

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "text_to_dialogue",
    "text": "[cheerfully] Привет! Ты уже видел новый парк у реки?",
    "voice": "cgSgspJ2msm6clMCkdW9",
    "text_2": "[curious] Ещё нет. Там правда так красиво?",
    "voice_2": "iP95p4xoKVk53GoZ742B",
    "stability": "0.5",
    "language_code": "ru"
  }
}

Цена считается при приёме задачи, валюта RUB.

Полный пример запуска

Результат

  • Один файл MP3 с озвучкой.
  • Озвучка занимает от нескольких секунд до минуты в зависимости от длины текста.
Вид (kind)ФорматыСколькоПояснение
audiomp31

Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

JSON
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "status": "succeeded",
  "finished_at": "2026-10-01T12:03:41+00:00",
  "result": {
    "caption": "Подпись к результату: модель и настройки",
    "texts": [],
    "files_expire_at": "2026-10-08T12:03:41+00:00",
    "files_expired": false,
    "artifacts": [
      {
        "index": 0,
        "kind": "audio",
        "filename": "audio.mp3",
        "size": 4194304,
        "caption": "",
        "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
      }
    ]
  }
}
Как читать результат и скачивать файлы

Смена голоса

Та же запись, но другим голосом: интонации, паузы и темп остаются как в исходнике. Звук или видео до 5 минут.

Значение поля mode: voice_change

Цена в этом режиме от 1 ₽, с файлом на 1 с.

Параметры

Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

audio_urlНеобязательно

Ссылка на звук, в котором нужно сменить голос. Нужна она или video_url.

Тип: Список (Строка, uri)Максимум элементов: 1
video_urlНеобязательно

Ссылка на видео, в котором нужно сменить голос: придёт то же видео с новым голосом. Нужна она или audio_url.

Тип: Список (Строка, uri)Максимум элементов: 1
voiceОбязательно

Голос, которым зазвучит запись. Готовые голоса ElevenLabs, в подписи имя и характер голоса.

Тип: СтрокаДопустимые значения: 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

Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

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

  • Файл передаётся ссылкой, ровно один: звук (mp3, wav, m4a, ogg, oga, flac) до 20 МБ в audio_url или видео (mp4, mov, webm, mkv) до 100 МБ в video_url. В видео должна быть звуковая дорожка.
  • Годится и ссылка без расширения в адресе, например на файл прошлой генерации: формат определяется по самому файлу.
  • Длину записи для цены сервер измеряет по самому файлу, скачав его по ссылке, и ждёт недолго: большой файл с медленного сервера может не успеть скачаться, тогда цену не посчитать и запрос не примут. Для больших файлов нужна ссылка на быстрый сервер.
  • Ссылка должна отдавать один и тот же файл до конца генерации: при запуске файл скачивается заново, и если он окажется другим, генерация может не начаться.
  • Запись до 5 минут: столько ElevenLabs меняет за один раз. Цена по длине записи, за каждую минуту, и по голосу: за часть голосов их владельцы в библиотеке ElevenLabs берут доплату, и минута таким голосом стоит дороже.
ПолеЧто принимаетФорматыФайловРазмер файла до
audio_urlАудиоmp3, wav, m4a, ogg, oga, flac120 МБ
video_urlВидеоmp4, mov, webm, mkv1100 МБ
Как передать файлы

Пример запроса

Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

Другой голос в записи

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "voice_change",
    "audio_url": [
      "https://example.com/voice.mp3"
    ],
    "voice": "iP95p4xoKVk53GoZ742B"
  }
}

Другой голос в видео

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "voice_change",
    "video_url": [
      "https://example.com/clip.mp4"
    ],
    "voice": "cgSgspJ2msm6clMCkdW9"
  }
}

Цена считается при приёме задачи, валюта RUB.

Полный пример запуска

Результат

  • Звук MP3, а если на входе видео, то же видео с новым голосом.
  • Смена голоса занимает до минуты в зависимости от длины записи.
Вид (kind)ФорматыСколькоПояснение
audio или videomp3, mp41Звук на audio_url, видео на video_url.

Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

JSON
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "status": "succeeded",
  "finished_at": "2026-10-01T12:03:41+00:00",
  "result": {
    "caption": "Подпись к результату: модель и настройки",
    "texts": [],
    "files_expire_at": "2026-10-08T12:03:41+00:00",
    "files_expired": false,
    "artifacts": [
      {
        "index": 0,
        "kind": "audio",
        "filename": "audio.mp3",
        "size": 4194304,
        "caption": "",
        "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
      }
    ]
  }
}
Как читать результат и скачивать файлы

Дубляж на другой язык

Речь в записи переводится на другой язык и звучит похожими голосами. Звук или видео до 30 минут.

Значение поля mode: dubbing

Цена в этом режиме от 2 ₽, с файлом на 1 с.

Параметры

Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

audio_urlНеобязательно

Ссылка на звук, который нужно перевести. Нужна она или video_url.

Тип: Список (Строка, uri)Максимум элементов: 1
video_urlНеобязательно

Ссылка на видео, которое нужно перевести: придёт то же видео с переведённой речью. Нужна она или audio_url.

Тип: Список (Строка, uri)Максимум элементов: 1
dubbing_versionНеобязательно

Версия дубляжа. v1 дешевле, с тонкими настройками. v2 дороже, переводит и озвучивает точнее и знает диалекты, но ElevenLabs называет её альфа-версией: возможны шероховатости.

Тип: СтрокаДопустимые значения: v1v2По умолчанию: "v1"
dubbing_target_langОбязательно

Язык, на который переводится и озвучивается запись. Список зависит от версии: у v2 есть диалекты, но нет части редких языков v1.

Тип: СтрокаДопустимые значения: ruenarbghrcsdanlfilfifrdeelhihuiditjakomszhnoplptroskessvtatrukviНабор зависит от dubbing_version.
Исключения
dubbing_versiondubbing_target_lang
v2и ещё en-US, en-GB, en-AU, en-CA, af, ak, sq, am, ar-EG, hy, as, az, eu, be, bs, my, yue, ca, ceb, zh-TW, cmn, dgo, et, fr-FR, fr-CA, gl, ka, gu, ha, he, is, jv, kn, kk, ki, rw, rn, ky, lv, lt, lg, mk, ml, mr, mn, ne, fa, pt-BR, pt-PT, pa, nso, st, sd, sl, es-ES, es-MX, es-AR, es-CL, su, sw, ss, tg, te, th, bo, ts, tn, ur, ug, uz, ve, war, cy, wo, yo, zu
dubbing_source_langНеобязательно

Язык оригинала. auto: ElevenLabs определит сам.

Тип: СтрокаДопустимые значения: autoruenafarhyasazbebnbsbgcacebnyhrcsdanletfilfifrglkadeelguhahehihuisidgaitjajvknkkkykolvlnltlbmkmsmlzhmrnenopsfaplptparosrsdskslsoesswsvtatethtrukurvicyНабор зависит от dubbing_version.
Исключения
dubbing_versiondubbing_source_lang
v2auto, ru, en, af, ak, sq, am, ar, hy, as, az, eu, be, bs, bg, my, yue, ca, ceb, zh, cmn, hr, cs, da, dgo, nl, et, fil, fi, fr, gl, ka, de, el, gu, ha, he, hi, hu, is, id, it, ja, jv, kn, kk, ki, rw, rn, ko, ky, lv, lt, lg, mk, ms, ml, mr, mn, ne, no, fa, pl, pt, pa, ro, nso, st, sd, sk, sl, es, su, sw, ss, sv, tg, ta, te, th, bo, ts, tn, tr, uk, ur, ug, uz, ve, vi, war, cy, wo, yo, zu
По умолчанию: "auto"
dubbing_num_speakersНеобязательно

Сколько разных голосов в записи. 0: определить само. Только v1.

Тип: Целое числоМинимум: 0Максимум: 9По умолчанию: 0
dubbing_drop_background_audioНеобязательно

Убрать музыку и фоновые звуки, оставить только переведённую речь. Для лекций и интервью, не для клипов. Только v1.

Тип: Да/нетПо умолчанию: false
dubbing_disable_voice_cloningНеобязательно

Не повторять тембр исходного голоса, а взять похожий голос из библиотеки ElevenLabs. Помогает на шумных записях. Только v1.

Тип: Да/нетПо умолчанию: false
dubbing_use_profanity_filterНеобязательно

Заменять ругательства на [censored]. Может пропустить слово или сработать зря. Только v1.

Тип: Да/нетПо умолчанию: false
dubbing_highest_resolutionНеобязательно

Сохранить исходное разрешение видео, обработка чуть дольше. Только для видео. Только v1.

Тип: Да/нетПо умолчанию: false
dubbing_target_accentНеобязательно

Подсказка по акценту озвучки на английском, например british или american. Может не сработать. Только v1.

Тип: Строка

Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

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

  • Файл передаётся ссылкой, ровно один: звук (mp3, wav, m4a, ogg, oga, flac) до 50 МБ в audio_url или видео (mp4, mov, webm, mkv) до 500 МБ в video_url. В видео должна быть звуковая дорожка.
  • Годится и ссылка без расширения в адресе, например на файл прошлой генерации: формат определяется по самому файлу.
  • Длину записи для цены сервер измеряет по самому файлу, скачав его по ссылке, и ждёт недолго: большой файл с медленного сервера может не успеть скачаться, тогда цену не посчитать и запрос не примут. Для больших файлов нужна ссылка на быстрый сервер.
  • Ссылка должна отдавать один и тот же файл до конца генерации: при запуске файл скачивается заново, и если он окажется другим, генерация может не начаться.
  • Запись до 30 минут, дубляж идёт по всей записи. Цена по длине записи, за каждую минуту, у v2 дороже.
  • Тонкие настройки (число голосов, фон, клонирование, цензура, разрешение, акцент) есть только у v1: с v2 запрос с ними не принимается.
ПолеЧто принимаетФорматыФайловРазмер файла до
audio_urlАудиоmp3, wav, m4a, ogg, oga, flac150 МБ
video_urlВидеоmp4, mov, webm, mkv1500 МБ
Как передать файлы

Пример запроса

Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

Видео на английский

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "dubbing",
    "video_url": [
      "https://example.com/lecture.mp4"
    ],
    "dubbing_target_lang": "en"
  }
}

Интервью на испанский Мексики, v2

JSON
{
  "model": "elevenlabs",
  "settings": {
    "mode": "dubbing",
    "audio_url": [
      "https://example.com/interview.mp3"
    ],
    "dubbing_version": "v2",
    "dubbing_target_lang": "es-MX",
    "dubbing_source_lang": "ru"
  }
}

Цена считается при приёме задачи, валюта RUB.

Полный пример запуска

Результат

  • Звуковая дорожка на новом языке, а если на входе видео, то же видео с переведённой речью.
  • Дубляж занимает от 1 до 15 минут в зависимости от длины записи.
Вид (kind)ФорматыСколькоПояснение
audio или videomp3, mp41Звук на audio_url, видео на video_url.

Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

JSON
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "status": "succeeded",
  "finished_at": "2026-10-01T12:03:41+00:00",
  "result": {
    "caption": "Подпись к результату: модель и настройки",
    "texts": [],
    "files_expire_at": "2026-10-08T12:03:41+00:00",
    "files_expired": false,
    "artifacts": [
      {
        "index": 0,
        "kind": "audio",
        "filename": "audio.mp3",
        "size": 4194304,
        "caption": "",
        "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
      }
    ]
  }
}
Как читать результат и скачивать файлы

Смотрите также

Попробуйте ElevenLabs через API

Один ключ открывает все модели CyHUB. Оплата в рублях, цену видно до запуска.

Получить ключ API