Tools
Lo strumento music_generate crea musica o audio tramite la funzionalità condivisa
di generazione musicale, supportata da ComfyUI, fal, Google, MiniMax e
OpenRouter.
Per le esecuzioni dell'agente associate a una sessione, music_generate avvia un'attività in background,
ne monitora l'avanzamento nel registro delle attività, quindi riattiva l'agente quando la traccia è
pronta, in modo che possa informare l'utente e allegare l'audio completato. L'agente di completamento
segue il contratto della sessione per le risposte visibili: risposta finale automatica
quando configurata oppure message(action="send") quando la sessione richiede lo
strumento di messaggistica. Se la sessione del richiedente è inattiva o la sua riattivazione non riesce e
l'audio generato non è ancora presente nella risposta, OpenClaw invia un
fallback diretto idempotente contenente solo l'audio mancante.
Imposta una chiave API per almeno un provider, ad esempio
GEMINI_API_KEY o MINIMAX_API_KEY.
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}"Genera una traccia synthpop vivace su un viaggio notturno in auto attraverso una città al neon."
L'agente chiama automaticamente music_generate. Non è necessario
includere lo strumento in un elenco di autorizzazioni.
Senza un'esecuzione dell'agente associata a una sessione (in contesti diretti/locali), lo strumento viene eseguito in linea e restituisce il percorso del contenuto multimediale finale nello stesso risultato dello strumento.
Configura plugins.entries.comfy.config.music con un flusso di lavoro
JSON e i nodi di prompt/output.
Per Comfy Cloud, imposta COMFY_API_KEY o COMFY_CLOUD_API_KEY.
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"Esempi di prompt:
Generate a cinematic piano track with soft strings and no vocals.Generate an energetic chiptune loop about launching a rocket at sunrise.Usa action: "list" per esaminare i provider/modelli disponibili e
action: "status" per esaminare l'attività musicale attiva associata alla sessione:
/tool music_generate action=list/tool music_generate action=statusEsempio di generazione diretta:
/tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=true| Provider | Modello predefinito | Input di riferimento | Controlli supportati | Autenticazione |
|---|---|---|---|---|
| ComfyUI | workflow |
Fino a 1 immagine | Musica o audio definiti dal flusso di lavoro | COMFY_API_KEY, COMFY_CLOUD_API_KEY |
| fal | fal-ai/minimax-music/v2.6 |
Nessuno | lyrics, instrumental, durationSeconds, format |
FAL_KEY o FAL_API_KEY |
lyria-3-clip-preview |
Fino a 10 immagini | lyrics, instrumental, format |
GEMINI_API_KEY, GOOGLE_API_KEY |
|
| MiniMax | music-2.6 |
Nessuno | lyrics, instrumental, format (solo mp3) |
MINIMAX_API_KEY o OAuth MiniMax |
| OpenRouter | google/lyria-3-pro-preview |
Fino a 1 immagine | lyrics, instrumental, durationSeconds, format |
OPENROUTER_API_KEY |
MiniMax registra due ID provider che condividono gli stessi modelli: minimax per
l'autenticazione tramite chiave API e minimax-portal per OAuth. I riferimenti ai modelli seguono il percorso di autenticazione
(minimax/music-2.6 rispetto a minimax-portal/music-2.6); consulta
MiniMax.
fal espone anche fal-ai/ace-step/prompt-to-audio (wav, senza testo, senza
opzione per la modalità strumentale) e fal-ai/stable-audio-25/text-to-audio (wav,
solo prompt), oltre al modello predefinito basato su MiniMax. Il modello predefinito di Google
lyria-3-clip-preview produce solo mp3; lyria-3-pro-preview supporta anche
wav. MiniMax espone inoltre music-2.6-free, music-cover e
music-cover-free. OpenRouter espone anche google/lyria-3-clip-preview.
Il contratto esplicito delle modalità usato da music_generate, dai test del contratto e dalla
verifica live condivisa:
| Provider | generate |
edit |
Limite di modifica | Percorsi live condivisi |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 immagine | Non incluso nella verifica condivisa; coperto da extensions/comfy/comfy.live.test.ts |
| fal | ✓ | — | Nessuno | generate |
| ✓ | ✓ | 10 immagini | generate, edit |
|
| MiniMax | ✓ | — | Nessuno | generate |
| OpenRouter | ✓ | ✓ | 1 immagine | generate, edit |
promptstringrequiredPrompt per la generazione musicale. Obbligatorio per action: "generate".
action"generate" | "status" | "list"default: generate"status" restituisce l'attività corrente della sessione; "list" esamina i provider.
modelstringSostituzione del provider/modello (ad esempio google/lyria-3-pro-preview,
comfy/workflow).
lyricsstringTesto facoltativo quando il provider supporta l'input esplicito del testo.
instrumentalbooleanRichiede un output esclusivamente strumentale quando il provider lo supporta.
imagestringPercorso o URL di una singola immagine di riferimento.
imagesstring[]Più immagini di riferimento (fino a 10 sui provider che le supportano).
durationSecondsnumberDurata prevista in secondi quando il provider supporta indicazioni sulla durata.
format"mp3" | "wav"Indicazione sul formato di output quando il provider lo supporta.
filenamestringI timeout delle richieste ai provider sono esclusivamente una configurazione dell'operatore. OpenClaw usa
agents.defaults.musicGenerationModel.timeoutMs quando è configurato, aumenta
i valori inferiori a 120000ms fino a 120000ms e, in caso contrario, imposta per le richieste ai provider
un valore predefinito di 300000ms.
La generazione musicale associata a una sessione viene eseguita come attività in background:
music_generate crea un'attività in background, restituisce
immediatamente una risposta di avvio/attività e pubblica successivamente la traccia completata in
un messaggio di follow-up dell'agente.queued o running, le successive
chiamate a music_generate nella stessa sessione restituiscono lo stato dell'attività invece di
avviare un'altra generazione. Usa action: "status" per eseguire un controllo esplicito.
Anche una richiesta corrispondente completata di recente viene deduplicata per 2 minuti.openclaw tasks list o openclaw tasks show <taskId>
esamina gli stati in coda, in esecuzione e terminali.music_generate senza verificarlo.L'attività musicale espone gli stessi stati del registro generale delle attività (consulta
Attività in background per la macchina a stati
completa, inclusi timed_out, cancelled e lost). La maggior parte delle esecuzioni musicali
attraversa:
| Stato | Significato |
|---|---|
queued |
Attività creata, in attesa che il provider la accetti. |
running |
Il provider è in elaborazione (in genere da 30 secondi a 3 minuti, a seconda del provider e della durata). |
succeeded |
Traccia pronta; l'agente si riattiva e la pubblica nella conversazione. |
failed |
Errore del provider o timeout; l'agente si riattiva con i dettagli dell'errore. |
Controlla lo stato dalla CLI:
openclaw tasks listopenclaw tasks show <taskId>openclaw tasks cancel <taskId>{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", fallbacks: ["fal/fal-ai/minimax-music/v2.6", "minimax/music-2.6"], }, }, },}OpenClaw prova i provider in questo ordine:
model della chiamata allo strumento (se l'agente ne specifica uno).musicGenerationModel.primary dalla configurazione.musicGenerationModel.fallbacks nell'ordine indicato.Se un provider non riesce, viene provato automaticamente il candidato successivo. Se tutti falliscono, l'errore include i dettagli di ciascun tentativo.
Imposta agents.defaults.mediaGenerationAutoProviderFallback: false per usare solo
le voci esplicite model, primary e fallbacks.
Basato sui flussi di lavoro e dipendente dal grafo configurato e dalla mappatura dei nodi
per i campi di prompt/output. Il plugin comfy incluso si integra nello
strumento condiviso music_generate tramite il registro dei provider
per la generazione musicale.
Utilizza gli endpoint dei modelli fal tramite il percorso di autenticazione condiviso dei provider. Il
provider incluso usa per impostazione predefinita fal-ai/minimax-music/v2.6 ed espone anche
fal-ai/ace-step/prompt-to-audio e
fal-ai/stable-audio-25/text-to-audio per le richieste di generazione audio da prompt.
I testi e la modalità strumentale sono disponibili solo per il modello MiniMax; gli altri due
modelli accettano solo prompt.
Utilizza la generazione in batch di Lyria 3. Il flusso incluso attuale supporta
prompt, testo facoltativo dei brani e immagini di riferimento facoltative. Il
modello predefinito lyria-3-clip-preview produce solo mp3; il
modello lyria-3-pro-preview supporta anche wav.
Utilizza l'endpoint batch music_generation. Supporta prompt, testi facoltativi,
modalità strumentale e output mp3 tramite l'autenticazione con chiave API minimax
oppure OAuth minimax-portal. Espone inoltre i modelli music-2.6-free,
music-cover e music-cover-free.
Utilizza l'output audio dei completamenti chat di OpenRouter con lo streaming abilitato. Il
provider incluso usa per impostazione predefinita google/lyria-3-pro-preview ed espone anche
openrouter/google/lyria-3-clip-preview.
Se stai eseguendo il debug di comportamenti specifici di ComfyUI, consulta ComfyUI. Se stai eseguendo il debug del comportamento dei provider condivisi, inizia da fal, Google (Gemini), MiniMax o OpenRouter.
Il contratto condiviso per la generazione musicale supporta dichiarazioni esplicite delle modalità:
generate per la generazione basata solo su prompt.edit quando la richiesta include una o più immagini di riferimento.Le nuove implementazioni dei provider dovrebbero preferire blocchi di modalità espliciti:
capabilities: { generate: { maxTracks: 1, supportsLyrics: true, supportsFormat: true, }, edit: { enabled: true, maxTracks: 1, maxInputImages: 1, supportsFormat: true, },}I campi piatti legacy come maxInputImages, supportsLyrics e
supportsFormat non sono sufficienti per dichiarare il supporto alla modifica. I provider
dovrebbero dichiarare esplicitamente generate ed edit, affinché i test live, i test del
contratto e lo strumento condiviso music_generate possano convalidare il supporto delle modalità
in modo deterministico.
Copertura live facoltativa per i provider condivisi inclusi (fal, Google, MiniMax, OpenRouter):
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.tsWrapper equivalente del repository, che esegue lo stesso file di test:
pnpm test:live:media:musicPer impostazione predefinita, questo file live utilizza le variabili di ambiente dei provider già esportate
prima dei profili di autenticazione memorizzati ed esegue la copertura sia di generate sia di edit
quando il provider abilita la modalità di modifica. Copertura attuale:
google: generate più editfal: solo generateminimax: solo generateopenrouter: generate più editcomfy: copertura live Comfy separata, non inclusa nella verifica condivisa dei providerCopertura live facoltativa per il percorso musicale ComfyUI incluso:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.tsIl file live Comfy copre anche i flussi di lavoro per immagini e video di Comfy quando le relative sezioni sono configurate.
music_generatemusicGenerationModel