Конвертирует загруженное аудио в нужный формат - например, из MP3 в WAV, FLAC, AAC, OGG, M4A или WMA. Цена - 0.08 ₽ за секунду аудио.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Аудио-конвертер пересохраняет звуковой файл по ссылке в другой формат: MP3, WAV, AAC, FLAC, OGG, M4A или WMA. Запись не обрезается и не обрабатывается - меняется только формат файла.
Где это пригодится:
Один вызов - один файл. Вызов создаёт асинхронную операцию: сначала вы получаете id, затем проверяете статус, пока не появится ссылка на готовый файл. Короткая запись конвертируется примерно за 20-30 секунд.
POST /api/v1/operationsAuthorization: Bearer brth_...id операции и стартовый статус queued.Режим у нейросети один: исходный файл плюс нужный формат результата. Ниже два типичных случая: запись с телефона в MP3 и MP3 в WAV для монтажа.
{
"tool": "audio-converter",
"input": {
"audio": "https://cdn.example.com/voice-note-1.m4a",
"output_format": "mp3"
}
}
tool - slug нейросети, всегда "audio-converter".input - параметры запуска. Поля передаются прямо внутри этого объекта, без дополнительной вложенности.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
audio | string (url) | Да | Ссылка на исходный звуковой файл. Один файл, только внешний http/https URL с расширением .mp3, .wav, .m4a, .aac, .flac, .ogg, .opus или .wma. |
output_format | enum | Да | Формат готового файла. Варианты: mp3 - MP3, самый совместимый сжатый формат; wav - WAV без сжатия; aac - AAC; flac - FLAC, сжатие без потерь; ogg - OGG; m4a - M4A для телефонов и плееров Apple; wma - WMA для старых программ Windows. Если поле не передать, будет wav. |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "audio-converter",
"input": {
"audio": "https://cdn.example.com/voice-note-1.m4a",
"output_format": "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: 'audio-converter',
input: {
audio: 'https://cdn.example.com/voice-note-1.m4a',
output_format: 'mp3',
},
}),
})
const operation = await response.json()
console.log(operation.id, operation.status, operation.cost)
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'audio-converter',
'input': {
'audio': 'https://cdn.example.com/voice-note-1.m4a',
'output_format': 'mp3',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "audio-converter",
"input": {
"audio": "https://cdn.example.com/source-audio-1.mp3",
"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: 'audio-converter',
input: {
audio: 'https://cdn.example.com/source-audio-1.mp3',
output_format: 'wav',
},
}),
})
const operation = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'audio-converter',
'input': {
'audio': 'https://cdn.example.com/source-audio-1.mp3',
'output_format': 'wav',
},
},
timeout=30,
)
print(response.json())
Ответ на конвертацию записи длиной 9,2 секунды из MP3 в WAV:
{
"id": "op_uuid-123",
"status": "queued",
"tool": "audio-converter",
"cost": 0.8,
"balance_after": 499.2,
"created_at": "2026-09-30T19:48:38.209698+00:00"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "audio-converter",
"cost": 0.8,
"created_at": "2026-09-30T19:48:38.209698+00:00",
"completed_at": "2026-09-30T19:49:05.060895+00:00",
"result": {
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/audio-converter/result-1.wav"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/audio-converter/result-1.wav",
"name": "result"
}
]
},
"error_message": null
}
Пока операция выполняется, status будет queued или processing, а result - null. Если конвертация не удалась, придёт status: "failed" и текст причины в error_message.
Сохраните id из ответа на создание и запрашивайте операцию по нему:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
Пример ожидания результата на JavaScript / TypeScript:
async function waitForAudio(id: string): Promise<string> {
while (true) {
const res = await fetch(`https://bratuha.ru/api/v1/operations/${id}`, {
headers: { Authorization: 'Bearer brth_ваш_ключ' },
})
const op = await res.json()
if (op.status === 'completed') return op.result.urls[0]
if (op.status === 'failed') throw new Error(op.error_message)
await new Promise((r) => setTimeout(r, 3000))
}
}
Статус одной операции можно запрашивать не чаще раза в секунду, иначе придёт 429. Для конвертера достаточно опроса раз в 3-5 секунд.
{
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/audio-converter/result-1.wav"
],
"files": [
{
"url": "https://storage.bratuha.ru/results/audio-converter/result-1.wav",
"name": "result"
}
]
}
type - "audio".urls - массив ровно из одной ссылки на готовый файл. Проще всего брать ссылку отсюда: result.urls[0].files - та же ссылка в виде объекта с полем name. Это не второй файл, а дубль для клиентов, которые работают со списком файлов.Расширение в ссылке соответствует выбранному формату: .mp3, .wav, .aac, .flac, .ogg, .m4a или .wma. Длительность, частота дискретизации и число каналов сохраняются: моно-запись MP3 44,1 кГц на 9,2 секунды пришла WAV-файлом моно 44,1 кГц той же длины.
Цена зависит только от длительности исходной записи: 0,08 ₽ за секунду. Формат результата на цену не влияет.
Длительность сервер измеряет сам по файлу, передавать её не нужно. Неполная секунда округляется вверх: запись на 9,2 секунды считается как 10 секунд и стоит 0,80 ₽.
| Длительность записи | Цена |
|---|---|
| 10 секунд | 0,80 ₽ |
| 1 минута | 4,80 ₽ |
| 3 минуты 28 секунд (песня) | 16,64 ₽ |
| 10 минут | 48 ₽ |
| 1 час | 288 ₽ |
Сумма списывается при создании операции, поле cost в ответе показывает её точно.
POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги ещё раз. Если ответ на POST потерялся, не отправляйте тот же запрос вслепую.queued, результат забирайте через GET /api/v1/operations/{id}.audio принимаются только внешние http/https ссылки с расширениями .mp3, .wav, .m4a, .aac, .flac, .ogg, .opus или .wma. Ссылки на localhost и внутренние адреса отклоняются с validation_error. Файл должен открываться без авторизации и весить не больше 128 МБ.wav даёт самые тяжёлые файлы: минута стерео 44,1 кГц весит около 10 МБ. Для отправки в мессенджеры и на сайт лучше mp3 или m4a.