Убирает фоновый шум из записи речи в аудио или видео, не теряя тихие слова, и выравнивает громкость голоса. Цена — 3 ₽ за минуту записи.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
VEED Clean Audio убирает фоновый шум из записи речи: улицу, гул кондиционера и вентилятора, шум кафе, шипение микрофона. Тихие и дальние слова при этом не обрезаются, а громкость голоса выравнивается по всей записи. На вход подходит и аудио, и видео - у видео берётся звуковая дорожка. Результат - чистый звук в WAV или FLAC той же длины, что и исходник.
Где пригодится:
Каждый вызов создаёт асинхронную операцию: сначала вы получаете id, затем проверяете статус, пока не придёт готовый файл.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Режимы задаются полем generation_type:
audio - очистка аудиофайла, ссылка передаётся в audio_url;video - очистка звука из видео, ссылка передаётся в video_url. Вернётся только очищенный звук, без картинки.{
"tool": "veed-clean-audio",
"input": {
"generation_type": "audio",
"audio_url": "https://cdn.example.com/source-audio-1.mp3",
"loudness": "-19",
"output_format": "wav"
}
}
tool - slug нейросети, всегда "veed-clean-audio".input - параметры запуска. Все поля передаются прямо внутри этого объекта, без дополнительной вложенности.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
generation_type | enum | Нет | Что загружаете: audio или video. Если поле не передать, будет audio. |
audio_url | string (url) | Да, в режиме audio | Ссылка на запись с речью. Один файл до 30 минут. Внешний http/https URL с расширением .mp3, .wav, .m4a, .aac, .flac, .ogg, .opus или .webm. |
video_url | string (url) | Да, в режиме video | Ссылка на видео, из которого нужно очистить звук. Один файл до 30 минут. Внешний http/https URL с расширением .mp4, .mov или .webm. В видео должна быть звуковая дорожка. |
loudness | enum | Нет | Итоговая громкость голоса: -19 - стандартная, как в видеоредакторах; -16 - для подкастов; -14 - громче, для соцсетей и YouTube; keep - оставить уровень как в исходнике и только убрать шум. Значения передаются строкой. Если поле не передать, будет -19. |
output_format | enum | Нет | Формат готового файла: wav или flac. Оба без потери качества, 48 кГц, моно, 16 бит. flac примерно вдвое легче, wav открывается в любой программе. Если поле не передать, будет wav. |
use_advanced | boolean | Нет | Включает ручную настройку strength. Без true значение strength не учитывается. |
strength | number | Нет | Сила очистки от 0 до 1, работает только вместе с use_advanced: true. Чем меньше, тем больше живой атмосферы помещения остаётся под голосом. Паузы между словами очищаются полностью при любом значении. Без ручной настройки используется проверенное значение около . |
Запись интервью на 4 минуты 20 секунд, стандартная громкость, результат в WAV. Стоимость - 15 ₽ (5 начатых минут).
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "veed-clean-audio",
"input": {
"generation_type": "audio",
"audio_url": "https://cdn.example.com/source-audio-1.mp3",
"loudness": "-19",
"output_format": "wav"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'veed-clean-audio',
input: {
generation_type: 'audio',
audio_url: 'https://cdn.example.com/source-audio-1.mp3',
loudness: '-19',
output_format: 'wav',
},
}),
})
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': 'veed-clean-audio',
'input': {
'generation_type': 'audio',
'audio_url': 'https://cdn.example.com/source-audio-1.mp3',
'loudness': '-19',
'output_format': 'wav',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Ролик на 40 секунд, снятый на улице. Громкость для соцсетей, результат в FLAC. Стоимость - 3 ₽.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "veed-clean-audio",
"input": {
"generation_type": "video",
"video_url": "https://cdn.example.com/source-video-1.mp4",
"loudness": "-14",
"output_format": "flac"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'veed-clean-audio',
input: {
generation_type: 'video',
video_url: 'https://cdn.example.com/source-video-1.mp4',
loudness: '-14',
output_format: 'flac',
},
}),
})
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': 'veed-clean-audio',
'input': {
'generation_type': 'video',
'video_url': 'https://cdn.example.com/source-video-1.mp4',
'loudness': '-14',
'output_format': 'flac',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Запись на 1 минуту 30 секунд: шум уходит, но под голосом остаётся немного атмосферы помещения, громкость как в исходнике. Стоимость - 6 ₽.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "veed-clean-audio",
"input": {
"generation_type": "audio",
"audio_url": "https://cdn.example.com/source-audio-2.wav",
"loudness": "keep",
"output_format": "wav",
"use_advanced": true,
"strength": 0.6
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'veed-clean-audio',
input: {
generation_type: 'audio',
audio_url: 'https://cdn.example.com/source-audio-2.wav',
loudness: 'keep',
output_format: 'wav',
use_advanced: true,
strength: 0.6,
},
}),
})
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': 'veed-clean-audio',
'input': {
'generation_type': 'audio',
'audio_url': 'https://cdn.example.com/source-audio-2.wav',
'loudness': 'keep',
'output_format': 'wav',
'use_advanced': True,
'strength': 0.6,
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "veed-clean-audio",
"cost": 15,
"balance_after": 485,
"created_at": "2026-10-02T19:49:42Z"
}
cost - сколько списано за операцию, в рублях.balance_after - баланс после списания.{
"id": "op_uuid-123",
"status": "completed",
"tool": "veed-clean-audio",
"cost": 15,
"created_at": "2026-10-02T19:49:42Z",
"completed_at": "2026-10-02T19:51:10Z",
"result": {
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/veed-clean-audio/clean-1.wav"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/veed-clean-audio/clean-1.wav",
"name": "result"
}
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "veed-clean-audio",
"cost": 15,
"created_at": "2026-10-02T19:49:42Z",
"completed_at": "2026-10-02T19:49:50Z",
"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, 5000))
}
}
Статус операции:
queued - операция создана и ждёт запуска;processing - идёт очистка;completed - готово, ссылка лежит в result;failed - не получилось, причина в error_message.Обработка занимает примерно от пятой части до половины длины записи: 10 минут звука будут готовы за 2-5 минут. Опрашивать одну операцию можно не чаще раза в секунду, иначе придёт 429.
{
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/veed-clean-audio/clean-1.wav"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/veed-clean-audio/clean-1.wav",
"name": "result"
}
]
}
type - всегда "audio".urls - массив из одной ссылки на готовый файл.files - та же ссылка в виде объекта с url и name.Файл в формате из output_format: .wav или .flac, 48 кГц, моно, 16 бит. Длина совпадает с исходником, стерео и многоканальный звук сводятся в моно. Для видео возвращается только звук: чтобы получить ролик с чистым звуком, замените им звуковую дорожку в монтажной программе.
Цена - 3 ₽ за каждую начатую минуту исходной записи. Длительность сервер сам определяет по файлу, округляет до целых секунд, а затем вверх до целой минуты. Минимум - одна минута. Режим, громкость, формат и сила очистки на цену не влияют.
| Длительность записи | Цена |
|---|---|
| до 1 мин | 3 ₽ |
| 1 мин 1 с | 6 ₽ |
| 4 мин 20 с | 15 ₽ |
| 10 мин | 30 ₽ |
| 30 мин (максимум) | 90 ₽ |
Точная сумма приходит в поле cost ответа на создание операции и сразу списывается с баланса.
POST /api/v1/operations не идемпотентен: каждый запрос создаёт новую операцию и списывает деньги. Не повторяйте запрос автоматически при обрыве связи.queued, результат нужно забирать запросом статуса по id.http/https URL, который открывается без авторизации. Адреса localhost и внутренних сетей не принимаются. Размер файла - до 100 МБ.400, операция не создастся и деньги не спишутся. Длинную запись разрежьте на части до 30 минут.strength до 0.6-0.7 вместе с use_advanced: true.0.87