Изолирует и улучшает голос в аудио или видео, убирая шумы и фоновую музыку, чтобы речь звучала чище. Цена: 0,4 ₽/сек. (для аудио и видео).
Общая документация Public API · API-ключ можно создать в настройках аккаунта
ElevenLabs Audio Isolation вытаскивает голос из записи: убирает шум улицы, гул кафе, фоновую музыку, эхо комнаты и оставляет чистую речь. На вход можно дать аудиофайл или видео, на выходе всегда приходит аудиофайл MP3 с очищенным голосом той же длины.
Где пригодится:
Каждый вызов создаёт асинхронную операцию: сначала вы получаете id, затем проверяете статус, пока не придёт готовый файл.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Что подаётся на вход, выбирает параметр generation_type:
generation_type | Что на входе | Что на выходе |
|---|---|---|
audio | Ссылка на аудио в audio_url | MP3 с очищенным голосом |
video | Ссылка на видео в video_url | MP3 с очищенным голосом из звуковой дорожки видео |
В режиме video модель возвращает только звук. Видео с очищенным звуком нужно собрать у себя, например заменить дорожку через ffmpeg.
{
"tool": "elevenlabs-audio-isolation",
"input": {
"generation_type": "audio",
"audio_url": "https://cdn.example.com/source-audio-1.mp3"
}
}
tool - slug нейросети, всегда "elevenlabs-audio-isolation".input - параметры запуска. Все поля передаются прямо внутри этого объекта, без дополнительной вложенности.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
generation_type | enum | Да | Что вы отправляете: audio - аудиофайл, video - видео. Если поле не передать, будет audio. |
audio_url | string (url) | Да, в режиме audio | Ссылка на аудиофайл с речью. Внешний http/https URL с расширением .mp3, .wav, .m4a, .aac, .flac, .ogg или .opus. Длительность до 1 часа. Только для audio. |
video_url | string (url) | Да, в режиме video | Ссылка на видео со звуковой дорожкой. Внешний http/https URL с расширением .mp4, .mov или .webm. Длительность до 1 часа. Только для video. |
Поле другого режима передавать не нужно: в режиме audio учитывается только audio_url, в режиме video - только video_url.
audio)Запись длиной 20 секунд. Стоимость - 8 ₽.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-audio-isolation",
"input": {
"generation_type": "audio",
"audio_url": "https://cdn.example.com/source-audio-1.mp3"
}
}'
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-audio-isolation',
input: {
generation_type: 'audio',
audio_url: 'https://cdn.example.com/source-audio-1.mp3',
},
}),
})
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-audio-isolation',
'input': {
'generation_type': 'audio',
'audio_url': 'https://cdn.example.com/source-audio-1.mp3',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
video)Ролик длиной 20 секунд, записанный в шумной кофейне. Стоимость - 8 ₽, на выходе MP3 с голосом.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "elevenlabs-audio-isolation",
"input": {
"generation_type": "video",
"video_url": "https://cdn.example.com/source-video-1.mp4"
}
}'
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-audio-isolation',
input: {
generation_type: 'video',
video_url: 'https://cdn.example.com/source-video-1.mp4',
},
}),
})
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-audio-isolation',
'input': {
'generation_type': 'video',
'video_url': 'https://cdn.example.com/source-video-1.mp4',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "elevenlabs-audio-isolation",
"cost": 8,
"balance_after": 492,
"created_at": "2026-09-30T19:49:42Z"
}
cost - сколько списано за операцию, в рублях.balance_after - баланс после списания.Ответ одинаковый для обоих режимов:
{
"id": "op_uuid-123",
"status": "completed",
"tool": "elevenlabs-audio-isolation",
"cost": 8,
"created_at": "2026-09-30T19:49:42Z",
"completed_at": "2026-09-30T19:49:52Z",
"result": {
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/elevenlabs-audio-isolation/voice-1.mp3"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/elevenlabs-audio-isolation/voice-1.mp3",
"name": "result"
}
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "elevenlabs-audio-isolation",
"cost": 2,
"created_at": "2026-09-30T19:49:42Z",
"completed_at": "2026-09-30T19:49:47Z",
"result": null,
"error_message": "Текст ошибки"
}
Сохраните id из ответа на создание и запрашивайте статус операции по нему:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
async function waitForResult(id) {
while (true) {
const response = await fetch(`https://bratuha.ru/api/v1/operations/${id}`, {
headers: { Authorization: 'Bearer brth_ваш_ключ' },
})
const operation = await response.json()
if (operation.status === 'completed' || operation.status === 'failed') {
return operation
}
await new Promise((resolve) => setTimeout(resolve, 3000))
}
}
Статус операции:
queued - операция создана и ждёт запуска;processing - идёт очистка звука;completed - готово, ссылка лежит в result;failed - не получилось, причина в error_message.Запись на 20 секунд обычно готова примерно за 10-20 секунд, длинные файлы обрабатываются дольше. Опрашивать одну операцию можно не чаще раза в секунду, иначе придёт 429.
{
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/elevenlabs-audio-isolation/voice-1.mp3"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/elevenlabs-audio-isolation/voice-1.mp3",
"name": "result"
}
]
}
type - всегда "audio", в том числе в режиме video.urls - массив из одной ссылки на готовый файл.files - та же ссылка в виде объекта с url и name.Файл - MP3. Длина совпадает с исходником: в тестовом запуске из 19,5-секундного видео пришёл MP3 длиной 19,5 секунды, 320 кбит/с, 44,1 кГц.
Цена - 0,4 ₽ за секунду исходного файла, одинаково для аудио и видео. Длительность сервер сам определяет по файлу и считает в целых секундах, дробная часть округляется вверх.
| Длительность файла | Цена |
|---|---|
| 5 с | 2 ₽ |
| 20 с | 8 ₽ |
| 1 мин | 24 ₽ |
| 10 мин | 240 ₽ |
| 1 час (максимум) | 1440 ₽ |
Точная сумма приходит в поле cost ответа на создание операции и сразу списывается с баланса.
POST /api/v1/operations не идемпотентен: каждый запрос создаёт новую операцию и списывает деньги. Не повторяйте запрос автоматически при обрыве связи.queued, результат нужно забирать запросом статуса по id.http/https URL, который открывается без авторизации. Адреса localhost и внутренних сетей не принимаются. Размер файла - до 128 МБ.400, операция не создастся и деньги не спишутся.400 validation_error ещё до создания операции, деньги не списываются.