Создаёт песни и фоновую музыку, а также помогает работать с аудио и вокалом. Цена — 7 ₽ за песню или фоновую музыку, загрузка аудио — 2 ₽, анализ трека — 15 ₽, клонирование вокала — 700 ₽.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Mureka AI V9 создаёт музыку: песни с вокалом по вашему тексту и инструментальную фоновую музыку по описанию. Через API доступны два режима:
generate_song - песня: вы передаёте текст в song_lyrics и при желании описываете стиль в song_prompt;generate_bgm - фоновая музыка без вокала по описанию в bgm_prompt.Остальные режимы формы сайта (загрузка аудио, клонирование голоса и разбор трека) через API недоступны. Каждый вызов создаёт асинхронную операцию: вы получаете id, а результат забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Сценарии, которые поддерживает модель:
generation_type: "generate_song" - песня по своему тексту.generation_type: "generate_bgm" - фоновая музыка по описанию.{
"tool": "mureka-ai-v9",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "mureka-ai-v9".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
generation_type | enum | Нет | Режим: generate_song (песня, по умолчанию) или generate_bgm (фоновая музыка). |
generate_song)| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
song_lyrics | string | Да | Текст песни, от 2 до 3000 символов. Размечайте части тегами [Verse], [Chorus], [Bridge] - так модель строит структуру. Русский текст поддерживается. |
song_prompt | string | Нет | Стиль и настроение, до 1024 символов: жанр, темп, вокал, инструменты, аранжировка. Например: русская поп-баллада, женский вокал, фортепиано, струнные, медленный темп. |
song_output_format | enum | Нет | Формат файла: mp3 (по умолчанию), wav или flac. |
song_reference_id | string | Нет | ID референсного трека, если он уже загружен через форму сайта. |
song_vocal_id | string | Нет | ID вокального файла, если он уже загружен через форму сайта. |
song_melody_id | string | Нет | ID файла с мелодией, если он уже загружен через форму сайта. |
generate_bgm)| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
bgm_prompt | string | Да | Описание музыки, от 2 до 1024 символов: настроение, инструменты, темп, характер. Вокала в этом режиме нет. |
bgm_output_format | enum | Нет | Формат файла: mp3 (по умолчанию), wav или flac. |
bgm_instrumental_id | string | Нет | ID инструментального файла, если он уже загружен через форму сайта. |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "mureka-ai-v9",
"input": {
"generation_type": "generate_song",
"song_lyrics": "[Verse]\nГород засыпает, фонари горят,\nЯ иду по улице, мысли не молчат.\n[Chorus]\nЭто наш вечер, только ты и я,\nПусть весь мир подождёт до утра.",
"song_prompt": "русская поп-баллада, женский вокал, фортепиано, струнные, медленный темп",
"song_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: 'mureka-ai-v9',
input: {
generation_type: 'generate_song',
song_lyrics: [
'[Verse]',
'Город засыпает, фонари горят,',
'Я иду по улице, мысли не молчат.',
'[Chorus]',
'Это наш вечер, только ты и я,',
'Пусть весь мир подождёт до утра.',
].join('\n'),
song_prompt:
'русская поп-баллада, женский вокал, фортепиано, струнные, медленный темп',
song_output_format: 'mp3',
},
}),
})
const data = await response.json()
import requests
lyrics = """[Verse]
Город засыпает, фонари горят,
Я иду по улице, мысли не молчат.
[Chorus]
Это наш вечер, только ты и я,
Пусть весь мир подождёт до утра."""
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'mureka-ai-v9',
'input': {
'generation_type': 'generate_song',
'song_lyrics': lyrics,
'song_prompt': 'русская поп-баллада, женский вокал, фортепиано, струнные, медленный темп',
'song_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": "mureka-ai-v9",
"input": {
"generation_type": "generate_bgm",
"bgm_prompt": "Спокойный lo-fi хип-хоп для учёбы, виниловый треск, мягкий бас, электропиано, 80 BPM",
"bgm_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: 'mureka-ai-v9',
input: {
generation_type: 'generate_bgm',
bgm_prompt:
'Спокойный lo-fi хип-хоп для учёбы, виниловый треск, мягкий бас, электропиано, 80 BPM',
bgm_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': 'mureka-ai-v9',
'input': {
'generation_type': 'generate_bgm',
'bgm_prompt': 'Спокойный lo-fi хип-хоп для учёбы, виниловый треск, мягкий бас, электропиано, 80 BPM',
'bgm_output_format': 'wav',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "mureka-ai-v9",
"cost": 7,
"balance_after": 495,
"created_at": "2026-09-17T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "mureka-ai-v9",
"cost": 7,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:02:05Z",
"result": {
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/mureka-ai-v9/track.mp3"
],
"files": [
{ "url": "https://storage.bratuha.ru/results/mureka-ai-v9/track.mp3", "name": "track" }
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "mureka-ai-v9",
"cost": 7,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:00:30Z",
"result": null,
"error_message": "Произошла ошибка, сервис временно недоступен. Попробуйте повторить запрос позже."
}
После создания операции сохраните id и проверяйте её статус запросом:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
const response = await fetch(
'https://bratuha.ru/api/v1/operations/op_uuid-123',
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
}
)
const data = await response.json()
Пока трек создаётся, status будет queued или processing. Опрашивайте статус раз в 10-15 секунд.
После успешного завершения result содержит один аудиофайл:
{
"type": "audio",
"urls": [
"https://storage.bratuha.ru/results/mureka-ai-v9/track.mp3"
],
"files": [
{ "url": "https://storage.bratuha.ru/results/mureka-ai-v9/track.mp3", "name": "track" }
]
}
type всегда равен "audio".urls содержит одну ссылку; расширение файла соответствует выбранному формату: .mp3, .wav или .flac.files дублирует ту же ссылку с именем файла.cost ответа. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.generate_song и generate_bgm. Значения upload_audio, vocal_clone и describe_song вернут validation_error.song_lyrics: без него запрос получит validation_error. Стиль в song_prompt не обязателен, но без него модель выберет жанр сама.song_reference_id, song_vocal_id, song_melody_id и bgm_instrumental_id принимают только идентификаторы файлов, полученные при загрузке через форму сайта; если таких файлов нет, не передавайте эти поля.wav и flac дают файлы без потерь, но заметно больше по размеру; для черновиков удобнее mp3.