# ElevenLabs API

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

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

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

1. [Получите ключ](https://api.cyhub.ai/docs/connection.md?lang=ru): Ключ создаётся в кабинете после подтверждения почты. Один ключ открывает все модели.
2. [Узнайте цену](https://api.cyhub.ai/docs/generations.md?lang=ru): POST /v1/price считает стоимость запуска заранее, деньги при этом не списываются.
3. [Запустите задачу и заберите результат](https://api.cyhub.ai/docs/tasks.md?lang=ru): POST /v1/tasks ставит задачу, GET /v1/tasks/{id} показывает её статус и файлы.

## Готовый код

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

```bash
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"])
```

```javascript
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();
```

[Получить ключ](https://cyhub.ai/cabinet/keys)

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

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

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

```bash
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: сколько сейчас доступно на балансе для новых задач

## <a id="text_to_dialogue"></a>Озвучка текста

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

Значение поля 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.

- Тип: Строка
- Допустимые значения: `BIvP0GN1cAtSRTxNHnWS` (Ellen - Serious, Direct and Confident), `aMSt68OGf4xUZAnLpTU8` (Juniper - Grounded and Professional), `RILOU7YmBhvwJGDGjNmP` (Jane - Professional Audiobook Reader), `EkK5I93UQWFDigLMpZcX` (James - Husky, Engaging and Bold), `Z3R5wn05IrDiVCyEkUrK` (Arabella - Mysterious and Emotive), `tnSpp4vdxKPjI9w0GnoV` (Hope - upbeat and clear), `NNl6r8mD7vthiJatiJt1` (Bradford - Expressive and Articulate), `YOq2y2Up4RgXP2HyXjE5` (Xavier - Dominating, Metalic Announcer), `Bj9UqZbhQsanLzgalpEG` (Austin - Deep, Raspy and Authentic), `c6SfcYrb2t09NHXiT80T` (Jarnathan - Confident and Versatile), `B8gJV1IhpuegLxdpXFOE` (Kuon - Cheerful, Clear and Steady), `exsUS4vynmxd379XN4yO` (Blondie - Conversational), `BpjGufoPiobT79j2vtj4` (Priyanka - Calm, Neutral and Relaxed), `2zRM7PkgwBPiau2jvVXc` (Monika Sogam - Deep and Natural), `1SM7GgM6IMuvQlz2BwM3` (Mark - Casual, Relaxed and Light), `ouL9IsyrSnUkCmfnD02u` (Grimblewood Thornwhisker - Snarky Gnome & Magical Maintainer), `5l5f8iK3YPeGga21rQIX` (Adeline - Feminine and Conversational), `scOwDtmlUjD3prqpp97I` (Sam - Support Agent), `NOpBlnGInO9m6vDvFkFC` (Spuds Oxley - Wise and Approachable), `BZgkqPqms7Kj9ulSkVzn` (Eve - Authentic, Energetic and Happy), `wo6udizrrtpIxWGp2qJk` (Northern Terry), `yjJ45q8TVCrtMhEKurxY` (Dr. Von - Quirky, Mad Scientist), `gU0LNdkMOQCOrPrwtbee` (British Football Announcer), `DGzg6RaUqxGRTHSBjfgF` (Brock - Commanding and Loud Sergeant), `DGTOOUoGpoP6UZ9uSWfA` (Célian - Documentary Narrator), `x70vRnQBMBu4FAYhjJbO` (Nathan - Virtual Radio Host), `Sm1seazb4gs7RSlUVw7c` (Anika - Animated, Friendly and Engaging), `P1bg08DkjqiVEzOn76yG` (Viraj - Rich and Soft), `qDuRKMlYmrm8trt5QyBn` (Taksh - Calm, Serious and Smooth), `kUUTqKQ05NMGulF08DDf` (Guadeloupe Merryweather - Emotional), `qXpMhyvQqiRxWQs4qSSB` (Horatius - Energetic Character Voice), `TX3LPaxmHKxFdv7VOQHJ` (Liam - Energetic, Social Media Creator), `iP95p4xoKVk53GoZ742B` (Chris - Charming, Down-to-Earth), `SOYHLrjzK2X1ezoPC6cr` (Harry - Fierce Warrior), `N2lVS1w4EtoT3dr4eOWO` (Callum - Husky Trickster), `FGY2WhTYpPnrIDTdsKH5` (Laura - Enthusiast, Quirky Attitude), `XB0fDUnXU5powFXDhCwa` (Charlotte), `cgSgspJ2msm6clMCkdW9` (Jessica - Playful, Bright, Warm), `LG95yZDEHg6fCZdQjLqj` (Phil - Explosive, Passionate Announcer), `CeNX9CMwmxDxUF5Q2Inm` (Johnny Dynamite - Vintage Radio DJ), `st7NwhTPEzqo2riw7qWC` (Blondie - Radio Host), `aD6riP1btT197c6dACmy` (Rachel M - Pro British Radio Presenter), `FF7KdobWPaiR0vkcALHF` (David - Movie Trailer Narrator), `mtrellq69YZsNwzUSyXh` (Rex Thunder - Deep N Tough), `dHd5gvgSOzSfduK4CvEg` (Ed - Late Night Announcer), `cTNP6ZM2mLTKj2BFhxEh` (Paul French - Podcaster), `ZF6FPAbjXT4488VcRRnw` (Amelia - Enthusiastic and Expressive), `8JVbfL6oEdmuxKn5DK2C` (Johnny Kid - Serious and Calm Narrator), `iCrDUkL56s3C8sCRl7wb` (Hope - Poetic, Romantic and Captivating), `1hlpeD1ydbI2ow0Tt3EW` (Olivia - Smooth, Warm and Engaging), `wJqPPQ618aTW29mptyoc` (Ana Rita - Smooth, Expressive and Bright), `EiNlNiXeDU1pqqOPrYMO` (John Doe - Deep), `FUfBrNit0NNZAwb58KWH` (Angela - Conversational and Friendly), `4YYIPFl9wE5c4L2eu2Gb` (Burt Reynolds™ - Deep, Smooth and clear), `OYWwCdDHouzDwiZJWOOu` (David - Gruff Cowboy), `6F5Zhi321D3Oq7v1oNT4` (Hank - Deep and Engaging Narrator), `qNkzaJoHLLdpvgh5tISm` (Carter - Rich, Smooth and Rugged), `YXpFCvM1S3JbWEJhoskW` (Wyatt- Wise Rustic Cowboy), `KTPVrSVAEUSJRClDzBw7` (Bob - Rugged and Warm Cowboy), `9PVP7ENhDskL0KYHAKtD` (Jerry B. - Southern/Cowboy), `vfaqCOvlrKi4Zp7C2IAm` (Malyx - Echoey, Menacing and Deep Demon), `piI8Kku0DcvcL6TTSeQt` (Flicker - Cheerful Fairy & Sparkly Sweetness), `flHkNRp1BlvT73UL6gyz` (Jessica Anne Bogart - Eloquent Villain), `9yzdeviXkFddZ4Oz8Mok` (Lutz - Chuckling, Giggly and Cheerful), `pPdl9cQBQq4p6mRkZy2Z` (Emma - Adorable and Upbeat), `0SpgpJ4D3MpHCiWdyTg3` (Matthew Schmitz - Elitist, Arrogant, Conniving Tyrant), `UFO0Yv86wqRxAt1DmXUu` (Sarcastic and Sultry Villain), `oR4uRy4fHDUGGISL0Rev` (Myrrdin - Wise and Magical Narrator), `zYcjlYFOd3taleS0gkk3` (Edward - Loud, Confident and Cocky), `nzeAacJi50IvxcyDnMXa` (Marshal - Friendly, Funny Professor), `ruirxsoakN0GWmGNIo04` (John Morgan - Gritty, Rugged Cowboy), `1KFdM0QCwQn4rmn5nn9C` (Parasyte - Whispers from the Deep Dark), `TC0Zp7WVFzhA8zpTlRqV` (Aria - Sultry Villain), `ljo9gAlSqKOvF6D8sOsX` (Viking Bjorn - Epic Medieval Raider), `PPzYpIqttlTYA83688JI` (Pirate Marshal), `eVItLK1UvXctxuaRV2Oq` (Jean - Alluring and Playful Femme Fatale), `U1Vk2oyatMdYs096Ety7` (Michael - Deep, Dark and Urban), `esy0r39YPLQjOczyOib8` (Britney - Calm and Calculative Villain), `bwCXcoVxWNYMlC6Esa8u` (Matthew Schmitz - Gravel, Deep Anti-Hero), `D2jw4N9m4xePLTQ3IHjU` (Ian - Strange and Distorted Alien), `Tsns2HvNFKfGiNjllgqo` (Sven - Emotional and Nice), `MnUw1cSnpiLoLhpd3Hqp` (Heather Rey - Rushed and Friendly), `kPzsL2i3teMYv0FxEYQ6` (Brittney - Social Media Voice - Fun, Youthful & Informative), `UgBBYS2sOqTuMpoF3BR0` (Mark - Natural Conversations), `IjnA9kwZJHJ20Fp7Vmy6` (Matthew - Casual, Friendly and Smooth), `KoQQbl9zjAdLgKZjm8Ol` (Pro Narrator - Convincing story teller), `hpp4J3VqNfWAUOO0d1Us` (Bella - Professional, Bright, Warm), `pNInz6obpgDQGcFmaJgB` (Adam - Dominant, Firm), `nPczCjzI2devNBz1zQrb` (Brian - Deep, Resonant and Comforting), `Atp5cNFg1Wj5gyKD7HWV` (Natasha - Gentle Meditation), `1cxc5c3E9K6F1wlqOJGV` (Emily - Gentile, Soft and Meditative), `1U02n4nD6AdIZ9CjF053` (Viraj - Smooth and Gentle), `HgyIHe81F3nXywNwkraY` (Nate - Sultry, Whispery and Seductive), `AeRdCCKzvd23BpJoofzx` (Nathaniel - Engaging, British and Calm), `LruHrtVF6PSyGItzMNHS` (Benjamin - Deep, Warm, Calming), `Qggl4b0xRMiqOwhPtVWT` (Clara - Relaxing, Calm and Soothing), `zA6D7RyKdc2EClouEMkP` (AImee - Tranquil ASMR and Meditation), `1wGbFxmAM3Fgw63G1zZJ` (Allison - Calm, Soothing and Meditative), `hqfrgApggtO1785R4Fsn` (Theodore HQ - Serene and Grounded), `sH0WdfE5fsKuM2otdQZr` (Koraly - Soft-spoken and Gentle), `MJ0RnG71ty4LH3dvNfSd` (Leon - Soothing and Grounded), `L0Dsvb3SLTyegXwtm47J` (Archer), `uYXf8XasLslADfZ2MB4u` (Hope - Bubbly, Gossipy and Girly), `gs0tAILXbY5DNrJrsM6F` (Jeff - Classy, Resonating and Strong), `DTKMou8ccj1ZaWGBiotd` (Jamahal - Young, Vibrant, and Natural), `vBKc2FfBKJfcZNyEt1n6` (Finn - Youthful, Eager and Energetic), `TmNe0cCqkZBMwPWOd3RD` (Smith - Mellow, Spontaneous, and Bassy), `DYkrAHD8iwork3YSUBbs` (Tom - Conversations & Books), `56AoDkrOh6qfVPDXZ7Pt` (Cassidy - Crisp, Direct and Clear), `eR40ATw9ArzDf9h3v7t7` (Addison 2.0 - Australian Audiobook & Podcast), `g6xIsTj2HwM6VR4iXFCw` (Jessica Anne Bogart - Chatty and Friendly), `lcMyyd2HUfFzxdCaC4Ta` (Lucy - Fresh & Casual), `6aDn1KB0hjpdcocrUkmq` (Tiffany - Natural and Welcoming), `Sq93GQT4X1lKDXsQcixO` (Felix - Warm, positive & contemporary RP)

#### `tts_version` (Необязательно)

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

- Тип: Строка
- Допустимые значения: `v4`, `v3`
- По умолчанию: `"v4"`

#### `stability` (Необязательно)

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

- Тип: Строка
- Допустимые значения: `0` (Динамичный), `0.5` (Сбалансированный), `1` (Стабильный)
- По умолчанию: `"0.5"`

#### `language_code` (Необязательно)

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

- Тип: Строка
- Допустимые значения: `auto`, `ru`, `en`, `af`, `ar`, `hy`, `as`, `az`, `be`, `bn`, `bs`, `bg`, `ca`, `ceb`, `ny`, `hr`, `cs`, `da`, `nl`, `et`, `fil`, `fi`, `fr`, `gl`, `ka`, `de`, `el`, `gu`, `ha`, `he`, `hi`, `hu`, `is`, `id`, `ga`, `it`, `ja`, `jv`, `kn`, `kk`, `ky`, `ko`, `lv`, `ln`, `lt`, `lb`, `mk`, `ms`, `ml`, `zh`, `mr`, `ne`, `no`, `ps`, `fa`, `pl`, `pt`, `pa`, `ro`, `sr`, `sd`, `sk`, `sl`, `so`, `es`, `sw`, `sv`, `ta`, `te`, `th`, `tr`, `uk`, `ur`, `vi`, `cy`
- Набор зависит от `tts_version`.
- Исключения:

  | `tts_version` | `language_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`.

[Полный пример запуска](https://api.cyhub.ai/docs/generations.md?lang=ru)

### Результат

- Один файл MP3 с озвучкой.
- Озвучка занимает от нескольких секунд до минуты в зависимости от длины текста.

| Вид (kind) | Форматы | Сколько | Пояснение |
|---|---|---|---|
| `audio` | mp3 | 1 |  |

Так выглядит готовая задача в ответе 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"
      }
    ]
  }
}
```

[Как читать результат и скачивать файлы](https://api.cyhub.ai/docs/tasks.md?lang=ru#result)

## <a id="voice_change"></a>Смена голоса

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

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

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

### Параметры

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

#### `audio_url` (Необязательно)

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

- Тип: Список (Строка, uri)
- Максимум элементов: 1

#### `video_url` (Необязательно)

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

- Тип: Список (Строка, uri)
- Максимум элементов: 1

#### `voice` (Обязательно)

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

- Тип: Строка
- Допустимые значения: `BIvP0GN1cAtSRTxNHnWS` (Ellen - Serious, Direct and Confident), `aMSt68OGf4xUZAnLpTU8` (Juniper - Grounded and Professional), `RILOU7YmBhvwJGDGjNmP` (Jane - Professional Audiobook Reader), `EkK5I93UQWFDigLMpZcX` (James - Husky, Engaging and Bold), `Z3R5wn05IrDiVCyEkUrK` (Arabella - Mysterious and Emotive), `tnSpp4vdxKPjI9w0GnoV` (Hope - upbeat and clear), `NNl6r8mD7vthiJatiJt1` (Bradford - Expressive and Articulate), `YOq2y2Up4RgXP2HyXjE5` (Xavier - Dominating, Metalic Announcer), `Bj9UqZbhQsanLzgalpEG` (Austin - Deep, Raspy and Authentic), `c6SfcYrb2t09NHXiT80T` (Jarnathan - Confident and Versatile), `B8gJV1IhpuegLxdpXFOE` (Kuon - Cheerful, Clear and Steady), `exsUS4vynmxd379XN4yO` (Blondie - Conversational), `BpjGufoPiobT79j2vtj4` (Priyanka - Calm, Neutral and Relaxed), `2zRM7PkgwBPiau2jvVXc` (Monika Sogam - Deep and Natural), `1SM7GgM6IMuvQlz2BwM3` (Mark - Casual, Relaxed and Light), `ouL9IsyrSnUkCmfnD02u` (Grimblewood Thornwhisker - Snarky Gnome & Magical Maintainer), `5l5f8iK3YPeGga21rQIX` (Adeline - Feminine and Conversational), `scOwDtmlUjD3prqpp97I` (Sam - Support Agent), `NOpBlnGInO9m6vDvFkFC` (Spuds Oxley - Wise and Approachable), `BZgkqPqms7Kj9ulSkVzn` (Eve - Authentic, Energetic and Happy), `wo6udizrrtpIxWGp2qJk` (Northern Terry), `yjJ45q8TVCrtMhEKurxY` (Dr. Von - Quirky, Mad Scientist), `gU0LNdkMOQCOrPrwtbee` (British Football Announcer), `DGzg6RaUqxGRTHSBjfgF` (Brock - Commanding and Loud Sergeant), `DGTOOUoGpoP6UZ9uSWfA` (Célian - Documentary Narrator), `x70vRnQBMBu4FAYhjJbO` (Nathan - Virtual Radio Host), `Sm1seazb4gs7RSlUVw7c` (Anika - Animated, Friendly and Engaging), `P1bg08DkjqiVEzOn76yG` (Viraj - Rich and Soft), `qDuRKMlYmrm8trt5QyBn` (Taksh - Calm, Serious and Smooth), `kUUTqKQ05NMGulF08DDf` (Guadeloupe Merryweather - Emotional), `qXpMhyvQqiRxWQs4qSSB` (Horatius - Energetic Character Voice), `TX3LPaxmHKxFdv7VOQHJ` (Liam - Energetic, Social Media Creator), `iP95p4xoKVk53GoZ742B` (Chris - Charming, Down-to-Earth), `SOYHLrjzK2X1ezoPC6cr` (Harry - Fierce Warrior), `N2lVS1w4EtoT3dr4eOWO` (Callum - Husky Trickster), `FGY2WhTYpPnrIDTdsKH5` (Laura - Enthusiast, Quirky Attitude), `XB0fDUnXU5powFXDhCwa` (Charlotte), `cgSgspJ2msm6clMCkdW9` (Jessica - Playful, Bright, Warm), `LG95yZDEHg6fCZdQjLqj` (Phil - Explosive, Passionate Announcer), `CeNX9CMwmxDxUF5Q2Inm` (Johnny Dynamite - Vintage Radio DJ), `st7NwhTPEzqo2riw7qWC` (Blondie - Radio Host), `aD6riP1btT197c6dACmy` (Rachel M - Pro British Radio Presenter), `FF7KdobWPaiR0vkcALHF` (David - Movie Trailer Narrator), `mtrellq69YZsNwzUSyXh` (Rex Thunder - Deep N Tough), `dHd5gvgSOzSfduK4CvEg` (Ed - Late Night Announcer), `cTNP6ZM2mLTKj2BFhxEh` (Paul French - Podcaster), `ZF6FPAbjXT4488VcRRnw` (Amelia - Enthusiastic and Expressive), `8JVbfL6oEdmuxKn5DK2C` (Johnny Kid - Serious and Calm Narrator), `iCrDUkL56s3C8sCRl7wb` (Hope - Poetic, Romantic and Captivating), `1hlpeD1ydbI2ow0Tt3EW` (Olivia - Smooth, Warm and Engaging), `wJqPPQ618aTW29mptyoc` (Ana Rita - Smooth, Expressive and Bright), `EiNlNiXeDU1pqqOPrYMO` (John Doe - Deep), `FUfBrNit0NNZAwb58KWH` (Angela - Conversational and Friendly), `4YYIPFl9wE5c4L2eu2Gb` (Burt Reynolds™ - Deep, Smooth and clear), `OYWwCdDHouzDwiZJWOOu` (David - Gruff Cowboy), `6F5Zhi321D3Oq7v1oNT4` (Hank - Deep and Engaging Narrator), `qNkzaJoHLLdpvgh5tISm` (Carter - Rich, Smooth and Rugged), `YXpFCvM1S3JbWEJhoskW` (Wyatt- Wise Rustic Cowboy), `KTPVrSVAEUSJRClDzBw7` (Bob - Rugged and Warm Cowboy), `9PVP7ENhDskL0KYHAKtD` (Jerry B. - Southern/Cowboy), `vfaqCOvlrKi4Zp7C2IAm` (Malyx - Echoey, Menacing and Deep Demon), `piI8Kku0DcvcL6TTSeQt` (Flicker - Cheerful Fairy & Sparkly Sweetness), `flHkNRp1BlvT73UL6gyz` (Jessica Anne Bogart - Eloquent Villain), `9yzdeviXkFddZ4Oz8Mok` (Lutz - Chuckling, Giggly and Cheerful), `pPdl9cQBQq4p6mRkZy2Z` (Emma - Adorable and Upbeat), `0SpgpJ4D3MpHCiWdyTg3` (Matthew Schmitz - Elitist, Arrogant, Conniving Tyrant), `UFO0Yv86wqRxAt1DmXUu` (Sarcastic and Sultry Villain), `oR4uRy4fHDUGGISL0Rev` (Myrrdin - Wise and Magical Narrator), `zYcjlYFOd3taleS0gkk3` (Edward - Loud, Confident and Cocky), `nzeAacJi50IvxcyDnMXa` (Marshal - Friendly, Funny Professor), `ruirxsoakN0GWmGNIo04` (John Morgan - Gritty, Rugged Cowboy), `1KFdM0QCwQn4rmn5nn9C` (Parasyte - Whispers from the Deep Dark), `TC0Zp7WVFzhA8zpTlRqV` (Aria - Sultry Villain), `ljo9gAlSqKOvF6D8sOsX` (Viking Bjorn - Epic Medieval Raider), `PPzYpIqttlTYA83688JI` (Pirate Marshal), `eVItLK1UvXctxuaRV2Oq` (Jean - Alluring and Playful Femme Fatale), `U1Vk2oyatMdYs096Ety7` (Michael - Deep, Dark and Urban), `esy0r39YPLQjOczyOib8` (Britney - Calm and Calculative Villain), `bwCXcoVxWNYMlC6Esa8u` (Matthew Schmitz - Gravel, Deep Anti-Hero), `D2jw4N9m4xePLTQ3IHjU` (Ian - Strange and Distorted Alien), `Tsns2HvNFKfGiNjllgqo` (Sven - Emotional and Nice), `MnUw1cSnpiLoLhpd3Hqp` (Heather Rey - Rushed and Friendly), `kPzsL2i3teMYv0FxEYQ6` (Brittney - Social Media Voice - Fun, Youthful & Informative), `UgBBYS2sOqTuMpoF3BR0` (Mark - Natural Conversations), `IjnA9kwZJHJ20Fp7Vmy6` (Matthew - Casual, Friendly and Smooth), `KoQQbl9zjAdLgKZjm8Ol` (Pro Narrator - Convincing story teller), `hpp4J3VqNfWAUOO0d1Us` (Bella - Professional, Bright, Warm), `pNInz6obpgDQGcFmaJgB` (Adam - Dominant, Firm), `nPczCjzI2devNBz1zQrb` (Brian - Deep, Resonant and Comforting), `Atp5cNFg1Wj5gyKD7HWV` (Natasha - Gentle Meditation), `1cxc5c3E9K6F1wlqOJGV` (Emily - Gentile, Soft and Meditative), `1U02n4nD6AdIZ9CjF053` (Viraj - Smooth and Gentle), `HgyIHe81F3nXywNwkraY` (Nate - Sultry, Whispery and Seductive), `AeRdCCKzvd23BpJoofzx` (Nathaniel - Engaging, British and Calm), `LruHrtVF6PSyGItzMNHS` (Benjamin - Deep, Warm, Calming), `Qggl4b0xRMiqOwhPtVWT` (Clara - Relaxing, Calm and Soothing), `zA6D7RyKdc2EClouEMkP` (AImee - Tranquil ASMR and Meditation), `1wGbFxmAM3Fgw63G1zZJ` (Allison - Calm, Soothing and Meditative), `hqfrgApggtO1785R4Fsn` (Theodore HQ - Serene and Grounded), `sH0WdfE5fsKuM2otdQZr` (Koraly - Soft-spoken and Gentle), `MJ0RnG71ty4LH3dvNfSd` (Leon - Soothing and Grounded), `L0Dsvb3SLTyegXwtm47J` (Archer), `uYXf8XasLslADfZ2MB4u` (Hope - Bubbly, Gossipy and Girly), `gs0tAILXbY5DNrJrsM6F` (Jeff - Classy, Resonating and Strong), `DTKMou8ccj1ZaWGBiotd` (Jamahal - Young, Vibrant, and Natural), `vBKc2FfBKJfcZNyEt1n6` (Finn - Youthful, Eager and Energetic), `TmNe0cCqkZBMwPWOd3RD` (Smith - Mellow, Spontaneous, and Bassy), `DYkrAHD8iwork3YSUBbs` (Tom - Conversations & Books), `56AoDkrOh6qfVPDXZ7Pt` (Cassidy - Crisp, Direct and Clear), `eR40ATw9ArzDf9h3v7t7` (Addison 2.0 - Australian Audiobook & Podcast), `g6xIsTj2HwM6VR4iXFCw` (Jessica Anne Bogart - Chatty and Friendly), `lcMyyd2HUfFzxdCaC4Ta` (Lucy - Fresh & Casual), `6aDn1KB0hjpdcocrUkmq` (Tiffany - Natural and Welcoming), `Sq93GQT4X1lKDXsQcixO` (Felix - Warm, positive & contemporary RP)

Параметры, которых нет в списке, не принимаются: ответ 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, flac | 1 | 20 МБ |
| `video_url` | Видео | mp4, mov, webm, mkv | 1 | 100 МБ |

[Как передать файлы](https://api.cyhub.ai/docs/files.md?lang=ru)

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

Отправьте этот 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`.

[Полный пример запуска](https://api.cyhub.ai/docs/generations.md?lang=ru)

### Результат

- Звук MP3, а если на входе видео, то же видео с новым голосом.
- Смена голоса занимает до минуты в зависимости от длины записи.

| Вид (kind) | Форматы | Сколько | Пояснение |
|---|---|---|---|
| `audio` или `video` | mp3, mp4 | 1 | Звук на 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"
      }
    ]
  }
}
```

[Как читать результат и скачивать файлы](https://api.cyhub.ai/docs/tasks.md?lang=ru#result)

## <a id="dubbing"></a>Дубляж на другой язык

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

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

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

### Параметры

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

#### `audio_url` (Необязательно)

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

- Тип: Список (Строка, uri)
- Максимум элементов: 1

#### `video_url` (Необязательно)

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

- Тип: Список (Строка, uri)
- Максимум элементов: 1

#### `dubbing_version` (Необязательно)

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

- Тип: Строка
- Допустимые значения: `v1`, `v2`
- По умолчанию: `"v1"`

#### `dubbing_target_lang` (Обязательно)

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

- Тип: Строка
- Допустимые значения: `ru`, `en`, `ar`, `bg`, `hr`, `cs`, `da`, `nl`, `fil`, `fi`, `fr`, `de`, `el`, `hi`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `zh`, `no`, `pl`, `pt`, `ro`, `sk`, `es`, `sv`, `ta`, `tr`, `uk`, `vi`
- Набор зависит от `dubbing_version`.
- Исключения:

  | `dubbing_version` | `dubbing_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 определит сам.

- Тип: Строка
- Допустимые значения: `auto`, `ru`, `en`, `af`, `ar`, `hy`, `as`, `az`, `be`, `bn`, `bs`, `bg`, `ca`, `ceb`, `ny`, `hr`, `cs`, `da`, `nl`, `et`, `fil`, `fi`, `fr`, `gl`, `ka`, `de`, `el`, `gu`, `ha`, `he`, `hi`, `hu`, `is`, `id`, `ga`, `it`, `ja`, `jv`, `kn`, `kk`, `ky`, `ko`, `lv`, `ln`, `lt`, `lb`, `mk`, `ms`, `ml`, `zh`, `mr`, `ne`, `no`, `ps`, `fa`, `pl`, `pt`, `pa`, `ro`, `sr`, `sd`, `sk`, `sl`, `so`, `es`, `sw`, `sv`, `ta`, `te`, `th`, `tr`, `uk`, `ur`, `vi`, `cy`
- Набор зависит от `dubbing_version`.
- Исключения:

  | `dubbing_version` | `dubbing_source_lang` |
  |---|---|
  | `v2` | `auto`, `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, flac | 1 | 50 МБ |
| `video_url` | Видео | mp4, mov, webm, mkv | 1 | 500 МБ |

[Как передать файлы](https://api.cyhub.ai/docs/files.md?lang=ru)

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

Отправьте этот 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`.

[Полный пример запуска](https://api.cyhub.ai/docs/generations.md?lang=ru)

### Результат

- Звуковая дорожка на новом языке, а если на входе видео, то же видео с переведённой речью.
- Дубляж занимает от 1 до 15 минут в зависимости от длины записи.

| Вид (kind) | Форматы | Сколько | Пояснение |
|---|---|---|---|
| `audio` или `video` | mp3, mp4 | 1 | Звук на 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"
      }
    ]
  }
}
```

[Как читать результат и скачивать файлы](https://api.cyhub.ai/docs/tasks.md?lang=ru#result)

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

- [Нейросеть ElevenLabs: возможности и цены](https://api.cyhub.ai/models/elevenlabs)
- [Документация API](https://api.cyhub.ai/docs.md?lang=ru)
- [Ошибки API и что с ними делать](https://api.cyhub.ai/docs/errors.md?lang=ru)
