Войти

ElevenLabs Music

Создание музыки по текстовому описанию. Опишите стиль, настроение, инструменты и при необходимости структуру трека.

Запрос
Опишите жанр, настроение, инструменты, темп и структуру трека.
Укажите длительность трека. Например, 30000 = 30 секунд.
30000
Выберите формат и качество выходного аудиофайла.

О модели ElevenLabs Music

Обзор

ElevenLabs Music — модель генерации музыки по текстовым описаниям. API сервиса стал доступен 18 августа 2025 года. Модель обучена на лицензированном контенте совместно с музыкальными лейблами и издателями — это отличает её от многих конкурентов и даёт правовую основу для коммерческого использования результатов. Основная возможность — создание треков студийного уровня по описанию жанра, настроения, инструментов и структуры; в промпте поддерживаются структурные теги ([Verse], [Chorus] и т.д.). Модель понимает как обычный язык, так и профессиональную музыкальную терминологию. Поддерживается вокал на 59 языках. Максимальное качество звука (CD, 44,1 кГц) доступно при выборе формата wav_cd_quality. Эндпоинт Flixa добавляет расширенное управление: параметр force_instrumental для принудительного инструментального режима, выбор формата выхода (MP3 стандарт и высокое качество, WAV от 16 до 44,1 кГц) и задание длительности от 5 секунд до 5 минут. Важно: треки можно использовать в коммерческих проектах; в промпте нельзя указывать имена исполнителей, авторов и названия песен — иначе API вернёт ошибку bad_prompt. Структурные теги ([Verse], [Chorus]) заметно улучшают композицию и качество результата.

Ограничения и недостатки

Примеры промптов

Цены

Цена при активной подписке

Стоимость необязательной подписки 299 ₽/месяц Подробнее

API

Инструкция ниже является выдержкой из документации.

Параметры

Поля тела JSON-запроса, которые используются в Playground и доступны для настройки через API. Порядок совпадает с формой на странице.

Параметр Тип Обязательный По умолчанию Допустимые значения Описание
prompt string Да длина 1–15000 символов Опишите жанр, настроение, инструменты, темп и структуру трека.
music_length_ms integer Нет 30000 5000–300000 Укажите длительность трека. Например, 30000 = 30 секунд.
output_format string Нет mp3_standard mp3_standard, mp3_high_quality, wav_16khz, wav_22khz, wav_24khz, wav_cd_quality Выберите формат и качество выходного аудиофайла.
force_instrumental boolean Нет false Создать трек без вокала, даже если он описан в промпте.

Запрос

Асинхронный запуск: POST https://api.flixa.io/v1/audio/music-elevenlabs/music с заголовком Authorization: Bearer $FLIXA_API_KEY и телом JSON. Ниже — пример с полями из Playground.

curl -X POST "https://api.flixa.io/v1/audio/music-elevenlabs/music" \
  -H "Authorization: Bearer $FLIXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "Драматическая новостная заставка с кинематографичным вступлением, серьезной атмосферой и современной телевизионной подачей. В начале — мощное вступление с оркестровыми ударными, низкими струнными, брассами и глубоким басом. Затем музыка переходит в сдержанный, напряжённый фон для голоса диктора: ритмичный пульс, лёгкие перкуссионные элементы, тревожные струнные и минимальная мелодия, не мешающая речи. В финале — выразительное драматическое завершение с нарастающим акцентом, ударом литавр и коротким затухающим хвостом. Стиль: серьёзные вечерние новости, breaking news, масштабно, напряжённо, профессионально. Без вокала.",
  "output_format": "mp3_standard",
  "music_length_ms": 30000,
  "force_instrumental": false
}'
import json
import os
import requests

url = "https://api.flixa.io/v1/audio/music-elevenlabs/music"
payload = json.loads({"force_instrumental": false, "music_length_ms": 30000, "output_format": "mp3_standard", "prompt": "\u0414\u0440\u0430\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0430\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430 \u0441 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u043d\u044b\u043c \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435\u043c, \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u043e\u0439 \u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u0430\u0447\u0435\u0439. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u2014 \u043c\u043e\u0449\u043d\u043e\u0435 \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u043c\u0438 \u0443\u0434\u0430\u0440\u043d\u044b\u043c\u0438, \u043d\u0438\u0437\u043a\u0438\u043c\u0438 \u0441\u0442\u0440\u0443\u043d\u043d\u044b\u043c\u0438, \u0431\u0440\u0430\u0441\u0441\u0430\u043c\u0438 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u043c \u0431\u0430\u0441\u043e\u043c. \u0417\u0430\u0442\u0435\u043c \u043c\u0443\u0437\u044b\u043a\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0434\u0435\u0440\u0436\u0430\u043d\u043d\u044b\u0439, \u043d\u0430\u043f\u0440\u044f\u0436\u0451\u043d\u043d\u044b\u0439 \u0444\u043e\u043d \u0434\u043b\u044f \u0433\u043e\u043b\u043e\u0441\u0430 \u0434\u0438\u043a\u0442\u043e\u0440\u0430: \u0440\u0438\u0442\u043c\u0438\u0447\u043d\u044b\u0439 \u043f\u0443\u043b\u044c\u0441, \u043b\u0451\u0433\u043a\u0438\u0435 \u043f\u0435\u0440\u043a\u0443\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0442\u0440\u0435\u0432\u043e\u0436\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043d\u043d\u044b\u0435 \u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0435\u043b\u043e\u0434\u0438\u044f, \u043d\u0435 \u043c\u0435\u0448\u0430\u044e\u0449\u0430\u044f \u0440\u0435\u0447\u0438. \u0412 \u0444\u0438\u043d\u0430\u043b\u0435 \u2014 \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0434\u0440\u0430\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441 \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u043c \u0430\u043a\u0446\u0435\u043d\u0442\u043e\u043c, \u0443\u0434\u0430\u0440\u043e\u043c \u043b\u0438\u0442\u0430\u0432\u0440 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u0437\u0430\u0442\u0443\u0445\u0430\u044e\u0449\u0438\u043c \u0445\u0432\u043e\u0441\u0442\u043e\u043c. \u0421\u0442\u0438\u043b\u044c: \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u0432\u0435\u0447\u0435\u0440\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, breaking news, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u043e, \u043d\u0430\u043f\u0440\u044f\u0436\u0451\u043d\u043d\u043e, \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u0411\u0435\u0437 \u0432\u043e\u043a\u0430\u043b\u0430."})

response = requests.post(
    url,
    headers={"Authorization": f"Bearer {os.environ['FLIXA_API_KEY']}"},
    json=payload,
    timeout=120,
)
print(response.json())
const response = await fetch(
  "https://api.flixa.io/v1/audio/music-elevenlabs/music",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.FLIXA_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"force_instrumental": false, "music_length_ms": 30000, "output_format": "mp3_standard", "prompt": "\u0414\u0440\u0430\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0430\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430 \u0441 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u043d\u044b\u043c \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435\u043c, \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u043e\u0439 \u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u0430\u0447\u0435\u0439. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u2014 \u043c\u043e\u0449\u043d\u043e\u0435 \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u043c\u0438 \u0443\u0434\u0430\u0440\u043d\u044b\u043c\u0438, \u043d\u0438\u0437\u043a\u0438\u043c\u0438 \u0441\u0442\u0440\u0443\u043d\u043d\u044b\u043c\u0438, \u0431\u0440\u0430\u0441\u0441\u0430\u043c\u0438 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u043c \u0431\u0430\u0441\u043e\u043c. \u0417\u0430\u0442\u0435\u043c \u043c\u0443\u0437\u044b\u043a\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0434\u0435\u0440\u0436\u0430\u043d\u043d\u044b\u0439, \u043d\u0430\u043f\u0440\u044f\u0436\u0451\u043d\u043d\u044b\u0439 \u0444\u043e\u043d \u0434\u043b\u044f \u0433\u043e\u043b\u043e\u0441\u0430 \u0434\u0438\u043a\u0442\u043e\u0440\u0430: \u0440\u0438\u0442\u043c\u0438\u0447\u043d\u044b\u0439 \u043f\u0443\u043b\u044c\u0441, \u043b\u0451\u0433\u043a\u0438\u0435 \u043f\u0435\u0440\u043a\u0443\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0442\u0440\u0435\u0432\u043e\u0436\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043d\u043d\u044b\u0435 \u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0435\u043b\u043e\u0434\u0438\u044f, \u043d\u0435 \u043c\u0435\u0448\u0430\u044e\u0449\u0430\u044f \u0440\u0435\u0447\u0438. \u0412 \u0444\u0438\u043d\u0430\u043b\u0435 \u2014 \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0434\u0440\u0430\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441 \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u043c \u0430\u043a\u0446\u0435\u043d\u0442\u043e\u043c, \u0443\u0434\u0430\u0440\u043e\u043c \u043b\u0438\u0442\u0430\u0432\u0440 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u0437\u0430\u0442\u0443\u0445\u0430\u044e\u0449\u0438\u043c \u0445\u0432\u043e\u0441\u0442\u043e\u043c. \u0421\u0442\u0438\u043b\u044c: \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u0432\u0435\u0447\u0435\u0440\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, breaking news, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u043e, \u043d\u0430\u043f\u0440\u044f\u0436\u0451\u043d\u043d\u043e, \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u0411\u0435\u0437 \u0432\u043e\u043a\u0430\u043b\u0430."}),
  }
);

console.log(await response.json());

Пример ответа

Сразу после POST приходит объект с идентификатором задачи и статусом (queued или processing). Готовый результат — в поле outputs после завершения.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "created_at": "2026-05-22T12:00:00Z"
}

После успешного завершения:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "outputs": [
    { "url": "https://storage.example/result.png", "type": "image" }
  ]
}

Поллинг

Пока задача в работе, опрашивайте GET https://api.flixa.io/v1/predictions/{id}/result с тем же API-ключом. Рекомендуемый интервал — 1–2 секунды; остановитесь при completed, failed или cancelled.

  • queued / processing — продолжайте опрос.
  • completed — заберите URL из outputs.
  • failed — смотрите error в теле ответа.
curl "https://api.flixa.io/v1/predictions/{id}/result" \
  -H "Authorization: Bearer $FLIXA_API_KEY"