Skip to main content
Інструмент music_generate створює музику або аудіо за допомогою спільної можливості генерації музики на основі ComfyUI, fal, Google, MiniMax і OpenRouter.
music_generate з’являється лише тоді, коли доступний принаймні один провайдер генерації музики: явно задана конфігурація agents.defaults.musicGenerationModel або провайдер із налаштованою автентифікацією (наприклад, заданим ключем API).
Для запусків агента на основі сеансу music_generate запускається як фонове завдання, відстежує перебіг виконання в реєстрі завдань, а потім активує агента, коли композиція готова, щоб він міг повідомити користувача й прикріпити готове аудіо. Агент завершення дотримується контракту видимої відповіді сеансу: автоматична остаточна відповідь, якщо її налаштовано, або message(action="send"), якщо сеанс вимагає використання інструмента повідомлень. Якщо сеанс запитувача неактивний або його не вдається активувати, а згенерованого аудіо все ще немає у відповіді, OpenClaw надсилає ідемпотентну пряму резервну відповідь лише з відсутнім аудіо.

Швидкий початок

1

Налаштуйте автентифікацію

Задайте ключ API принаймні для одного провайдера, наприклад GEMINI_API_KEY або MINIMAX_API_KEY.
2

Виберіть типову модель (необов’язково)

3

Зверніться до агента

«Згенеруй енергійну синтпоп-композицію про нічну поїздку неоновим містом».Агент автоматично викликає music_generate. Додавати інструмент до списку дозволених не потрібно.
Без запуску агента на основі сеансу (у прямих або локальних контекстах) інструмент виконується вбудовано й повертає шлях до готового медіафайлу в тому самому результаті інструмента.
Приклади запитів:
Використовуйте action: "list", щоб переглянути доступні провайдери й моделі, і action: "status", щоб переглянути активне музичне завдання на основі сеансу:
Приклад прямої генерації:

Підтримувані провайдери

MiniMax реєструє два ідентифікатори провайдера, які використовують ті самі моделі: minimax для автентифікації за ключем API та minimax-portal для OAuth. Посилання на моделі відповідають способу автентифікації (minimax/music-2.6 і minimax-portal/music-2.6 відповідно); див. MiniMax. fal також надає fal-ai/ace-step/prompt-to-audio (wav, без тексту пісні та без перемикача інструментального режиму) і fal-ai/stable-audio-25/text-to-audio (wav, лише запит) разом зі своєю типовою моделлю на основі MiniMax. Типова модель Google lyria-3-clip-preview виводить лише mp3; lyria-3-pro-preview також підтримує wav. MiniMax також надає music-2.6-free, music-cover і music-cover-free. OpenRouter також надає google/lyria-3-clip-preview.

Матриця можливостей

Явний контракт режимів, який використовують music_generate, тести контракту та спільна перевірка наживо:

Параметри інструмента

string
обов'язково
Запит для генерації музики. Обов’язковий для action: "generate".
"generate" | "status" | "list"
за замовчуванням:"generate"
"status" повертає поточне завдання сеансу; "list" показує провайдерів.
string
Перевизначення провайдера або моделі (наприклад, google/lyria-3-pro-preview, comfy/workflow).
string
Необов’язковий текст пісні, якщо провайдер підтримує явне введення тексту.
boolean
Запит на створення лише інструментального аудіо, якщо провайдер це підтримує.
string
Шлях або URL одного референсного зображення.
string[]
Кілька референсних зображень (до 10 у провайдерів, які це підтримують).
number
Цільова тривалість у секундах, якщо провайдер підтримує підказки щодо тривалості.
"mp3" | "wav"
Підказка щодо формату виведення, якщо провайдер це підтримує.
string
Підказка щодо назви вихідного файлу.
Не всі провайдери підтримують усі параметри. OpenClaw усе одно перевіряє жорсткі обмеження, як-от кількість вхідних даних, перед надсиланням. Якщо провайдер підтримує тривалість, але має менше максимальне значення, ніж запитане, OpenClaw обмежує її найближчим підтримуваним значенням. Справді непідтримувані необов’язкові підказки ігноруються з попередженням, якщо вибраний провайдер або модель не може їх виконати. Результати інструмента повідомляють застосовані налаштування; details.normalization фіксує всі перетворення запитаних значень на застосовані.
Час очікування запитів до провайдера налаштовує лише оператор. OpenClaw використовує agents.defaults.musicGenerationModel.timeoutMs, якщо його налаштовано, збільшує значення менші за 120000ms до 120000ms, а в іншому разі встановлює типовий час очікування запитів до провайдера 300000ms.

Асинхронна поведінка

Генерація музики на основі сеансу виконується як фонове завдання:
  • Фонове завдання: music_generate створює фонове завдання, негайно повертає відповідь про запуск і завдання, а згодом публікує готову композицію в наступному повідомленні агента.
  • Запобігання дублюванню: доки завдання має стан queued або running, подальші виклики music_generate у тому самому сеансі повертають стан завдання замість запуску ще однієї генерації. Для явної перевірки використовуйте action: "status". Нещодавно завершений ідентичний запит також дедуплікується протягом 2 хвилин.
  • Перегляд стану: openclaw tasks list або openclaw tasks show <taskId> показує стан завдань у черзі, у процесі виконання та в кінцевому стані.
  • Активація після завершення: OpenClaw додає внутрішню подію завершення назад у той самий сеанс, щоб модель могла самостійно написати подальшу відповідь користувачеві.
  • Підказка в запиті: подальші користувацькі або ручні звернення в тому самому сеансі отримують невелику підказку середовища виконання, якщо музичне завдання вже виконується, щоб модель не викликала music_generate повторно без перевірки.
  • Резервний варіант без сеансу: прямі або локальні контексти без справжнього сеансу агента виконуються вбудовано й повертають готовий аудіорезультат у тому самому зверненні.

Життєвий цикл завдання

Музичне завдання має ті самі стани, що й загальний реєстр завдань (повну машину станів, зокрема timed_out, cancelled і lost, див. у розділі Фонові завдання). Більшість завдань генерації музики проходять такі стани: Перевірте стан через CLI:

Конфігурація

Вибір моделі

Порядок вибору провайдерів

OpenClaw перебирає провайдерів у такому порядку:
  1. Параметр model із виклику інструмента (якщо агент його вказує).
  2. musicGenerationModel.primary із конфігурації.
  3. Елементи musicGenerationModel.fallbacks по черзі.
  4. Автоматичне виявлення лише за типовими значеннями провайдерів із налаштованою автентифікацією:
    • спочатку поточний типовий провайдер текстової моделі, якщо він також підтримує генерацію музики;
    • решта зареєстрованих провайдерів генерації музики в алфавітному порядку за ідентифікатором провайдера.
Якщо один провайдер завершує роботу з помилкою, автоматично виконується спроба з наступним кандидатом. Якщо всі спроби невдалі, помилка містить подробиці кожної з них. Установіть agents.defaults.mediaGenerationAutoProviderFallback: false, щоб використовувати лише явно задані записи model, primary і fallbacks.

Примітки щодо провайдерів

Керується робочим процесом і залежить від налаштованого графа та зіставлення вузлів для полів запиту й результату. Вбудований plugin comfy підключається до спільного інструмента music_generate через реєстр провайдерів генерації музики.
Використовує кінцеві точки моделей fal через спільний шлях автентифікації провайдера. Вбудований провайдер за замовчуванням використовує fal-ai/minimax-music/v2.6, а також надає fal-ai/ace-step/prompt-to-audio і fal-ai/stable-audio-25/text-to-audio для запитів перетворення текстового запиту на аудіо. Тексти пісень та інструментальний режим підтримуються лише моделлю MiniMax; дві інші моделі підтримують лише текстові запити.
Використовує пакетну генерацію Lyria 3. Поточний вбудований процес підтримує текстовий запит, необов’язковий текст пісні та необов’язкові еталонні зображення. Модель lyria-3-clip-preview за замовчуванням виводить лише mp3; модель lyria-3-pro-preview також підтримує wav.
Використовує пакетну кінцеву точку music_generation. Підтримує текстовий запит, необов’язковий текст пісні, інструментальний режим і виведення у форматі mp3 через автентифікацію за ключем API minimax або OAuth minimax-portal. Також надає моделі music-2.6-free, music-cover і music-cover-free.
Використовує аудіовихід завершень чату OpenRouter з увімкненим потоковим передаванням. Вбудований провайдер за замовчуванням використовує google/lyria-3-pro-preview, а також надає openrouter/google/lyria-3-clip-preview.

Вибір правильного шляху

  • Через спільного провайдера, якщо потрібні вибір моделі, перемикання на резервного провайдера та вбудований асинхронний процес завдання/стану.
  • Шлях plugin (ComfyUI), якщо потрібен власний граф робочого процесу або провайдер, який не входить до спільної вбудованої можливості генерації музики.
Якщо ви налагоджуєте поведінку, специфічну для ComfyUI, див. ComfyUI. Якщо ви налагоджуєте поведінку спільного провайдера, почніть із fal, Google (Gemini), MiniMax або OpenRouter.

Режими можливостей провайдера

Спільний контракт генерації музики підтримує явне оголошення режимів:
  • generate для генерації лише за текстовим запитом.
  • edit, коли запит містить одне або кілька еталонних зображень.
У нових реалізаціях провайдерів варто надавати перевагу явним блокам режимів:
Застарілих пласких полів, як-от maxInputImages, supportsLyrics і supportsFormat, недостатньо для оголошення підтримки редагування. Провайдери мають явно оголошувати generate і edit, щоб тести в реальному середовищі, контрактні тести та спільний інструмент music_generate могли детерміновано перевіряти підтримку режимів.

Тести в реальному середовищі

Необов’язкове тестове покриття в реальному середовищі для спільних вбудованих провайдерів (fal, Google, MiniMax, OpenRouter):
Еквівалентна обгортка репозиторію, яка запускає той самий файл тестів:
За замовчуванням цей файл тестів у реальному середовищі використовує вже експортовані змінні середовища провайдера перед збереженими профілями автентифікації та запускає покриття як generate, так і оголошеного edit, коли провайдер вмикає режим редагування. Поточне покриття:
  • google: generate і edit
  • fal: лише generate
  • minimax: лише generate
  • openrouter: generate і edit
  • comfy: окреме покриття Comfy у реальному середовищі, поза спільним проходом провайдерів
Необов’язкове тестове покриття в реальному середовищі для вбудованого музичного шляху ComfyUI:
Файл тестів Comfy у реальному середовищі також охоплює робочі процеси зображень і відео, якщо відповідні розділи налаштовано.

Пов’язані матеріали