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