music_generate consente all’agente di creare musica o audio tramite la
funzionalità condivisa di generazione musicale con provider configurati: ComfyUI,
fal, Google, MiniMax e OpenRouter al momento.
Per le esecuzioni dell’agente basate su sessione, OpenClaw avvia la generazione musicale come
attività in background, la traccia nel registro delle attività, quindi riattiva di nuovo l’agente
quando la traccia è pronta, così l’agente può informare l’utente e allegare
l’audio completato. L’agente di completamento segue la normale modalità di risposta visibile
della sessione: consegna automatica della risposta finale quando configurata, oppure message(action="send")
quando la sessione richiede lo strumento per i messaggi. Se la sessione richiedente è
inattiva o la sua riattivazione attiva non riesce, e nella risposta di completamento manca ancora
parte dell’audio generato, OpenClaw invia un fallback diretto idempotente con
solo l’audio mancante.
Lo strumento condiviso integrato appare solo quando è disponibile almeno un provider
di generazione musicale. Se non vedi
music_generate negli strumenti del tuo agente,
configura agents.defaults.musicGenerationModel oppure imposta una
chiave API del provider.Avvio rapido
- Basato su provider condiviso
- Workflow ComfyUI
Configura l'autenticazione
Imposta una chiave API per almeno un provider, ad esempio
GEMINI_API_KEY o MINIMAX_API_KEY.Provider supportati
| Provider | Modello predefinito | Input di riferimento | Controlli supportati | Autenticazione |
|---|---|---|---|---|
| ComfyUI | workflow | Fino a 1 immagine | Musica o audio definiti dal workflow | 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=mp3 | MINIMAX_API_KEY o OAuth MiniMax |
| OpenRouter | google/lyria-3-pro-preview | Fino a 1 immagine | lyrics, instrumental, durationSeconds, format | OPENROUTER_API_KEY |
Matrice delle funzionalità
Il contratto di modalità esplicito usato damusic_generate, dai test di contratto e dalla
sweep live condivisa:
| Provider | generate | edit | Limite di modifica | Lane live condivise |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 immagine | Non nella sweep condivisa; coperto da extensions/comfy/comfy.live.test.ts |
| fal | ✓ | — | Nessuno | generate |
| ✓ | ✓ | 10 immagini | generate, edit | |
| MiniMax | ✓ | — | Nessuno | generate |
| OpenRouter | ✓ | ✓ | 1 immagine | generate, edit |
action: "list" per ispezionare i provider e i modelli condivisi disponibili a
runtime:
action: "status" per ispezionare l’attività musicale attiva basata su sessione:
Parametri dello strumento
Prompt per la generazione musicale. Richiesto per
action: "generate"."status" restituisce l’attività corrente della sessione; "list" ispeziona i provider.Override provider/modello (ad es.
google/lyria-3-pro-preview,
comfy/workflow).Testi opzionali quando il provider supporta input esplicito per i testi.
Richiede output solo strumentale quando il provider lo supporta.
Singolo percorso o URL di immagine di riferimento.
Più immagini di riferimento (fino a 10 sui provider che le supportano).
Durata target in secondi quando il provider supporta suggerimenti di durata.
Suggerimento sul formato di output quando il provider lo supporta.
Suggerimento sul nome del file di output.
Non tutti i provider supportano tutti i parametri. OpenClaw valida comunque i
limiti rigidi, come il numero di input, prima dell’invio. Quando un provider supporta
la durata ma usa un massimo inferiore al valore richiesto, OpenClaw
limita al valore di durata supportato più vicino. I suggerimenti opzionali davvero non supportati
vengono ignorati con un avviso quando il provider o modello selezionato non può rispettarli.
I risultati dello strumento riportano le impostazioni applicate;
details.normalization
registra eventuali mappature da richiesto ad applicato.agents.defaults.musicGenerationModel.timeoutMs quando configurato, aumenta i valori
sotto 120000ms a 120000ms e altrimenti imposta come predefinito per le richieste ai provider
300000ms.
Comportamento asincrono
La generazione musicale basata su sessione viene eseguita come attività in background:- Attività in background:
music_generatecrea un’attività in background, restituisce subito una risposta di avvio/attività e pubblica la traccia completata più tardi in un messaggio successivo dell’agente. - Prevenzione dei duplicati: mentre un’attività è
queuedorunning, le chiamate successive amusic_generatenella stessa sessione restituiscono lo stato dell’attività invece di avviare un’altra generazione. Usaaction: "status"per controllare esplicitamente. - Ricerca dello stato:
openclaw tasks listoopenclaw tasks show <taskId>ispeziona lo stato in coda, in esecuzione e terminale. - Riattivazione al completamento: OpenClaw inietta un evento interno di completamento nella stessa sessione, così il modello può scrivere da sé il messaggio successivo rivolto all’utente.
- Suggerimento nel prompt: i turni utente/manuali successivi nella stessa sessione ricevono un piccolo
suggerimento di runtime quando un’attività musicale è già in corso, così il modello
non chiama di nuovo
music_generatealla cieca. - Fallback senza sessione: i contesti diretti/locali senza una vera sessione dell’agente vengono eseguiti inline e restituiscono il risultato audio finale nello stesso turno.
Ciclo di vita dell’attività
| Stato | Significato |
|---|---|
queued | Attività creata, in attesa che il provider la accetti. |
running | Il provider sta elaborando (di solito da 30 secondi a 3 minuti in base a provider e durata). |
succeeded | Traccia pronta; l’agente si riattiva e la pubblica nella conversazione. |
failed | Errore o timeout del provider; l’agente si riattiva con i dettagli dell’errore. |
Configurazione
Selezione del modello
Ordine di selezione dei provider
OpenClaw prova i provider in questo ordine:- Parametro
modeldalla chiamata allo strumento (se l’agente ne specifica uno). musicGenerationModel.primarydalla configurazione.musicGenerationModel.fallbacksin ordine.- Rilevamento automatico usando solo i valori predefiniti dei provider basati su autenticazione:
- prima il provider predefinito corrente;
- poi i provider di generazione musicale registrati rimanenti in ordine di provider-id.
agents.defaults.mediaGenerationAutoProviderFallback: false per usare solo
voci esplicite model, primary e fallbacks.
Note sui provider
ComfyUI
ComfyUI
Basato su workflow e dipende dal grafo configurato più la mappatura dei nodi
per i campi prompt/output. Il Plugin
comfy integrato si collega allo
strumento condiviso music_generate tramite il registro dei provider
di generazione musicale.fal
fal
Usa gli endpoint dei modelli fal tramite il percorso di autenticazione condiviso del provider. Il
provider integrato usa come predefinito
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 richieste prompt-to-audio.Google (Lyria 3)
Google (Lyria 3)
Usa la generazione batch di Lyria 3. Il flusso integrato corrente supporta
prompt, testo opzionale per i testi e immagini di riferimento opzionali.
MiniMax
MiniMax
Usa l’endpoint batch
music_generation. Supporta prompt, testi opzionali,
modalità strumentale e output mp3 tramite autenticazione con chiave API minimax
oppure OAuth minimax-portal.OpenRouter
OpenRouter
Usa l’output audio delle chat completions di OpenRouter con streaming abilitato. Il
provider integrato usa come predefinito
google/lyria-3-pro-preview ed espone anche
openrouter/google/lyria-3-clip-preview.Scegliere il percorso giusto
- Basato su provider condiviso quando vuoi selezione del modello, failover dei provider e il flusso asincrono integrato attività/stato.
- Percorso Plugin (ComfyUI) quando ti serve un grafo di workflow personalizzato o un provider che non fa parte della funzionalità musicale condivisa integrata.
Modalità delle capacità dei provider
Il contratto condiviso per la generazione musicale supporta dichiarazioni esplicite delle modalità:generateper la generazione basata solo su prompt.editquando la richiesta include una o più immagini di riferimento.
maxInputImages, supportsLyrics e
supportsFormat non sono sufficienti per dichiarare il supporto a edit. I provider
dovrebbero dichiarare generate ed edit esplicitamente, così i test live, i test
di contratto e lo strumento condiviso music_generate possono convalidare il supporto
delle modalità in modo deterministico.
Test live
Copertura live opt-in per i provider condivisi inclusi nel bundle:generate sia di edit
dichiarata quando il provider abilita la modalità edit. Copertura attuale:
google:generatepiùeditfal: sologenerateminimax: sologenerateopenrouter:generatepiùeditcomfy: copertura live separata di Comfy, non lo sweep condiviso dei provider
Correlati
- Attività in background — tracciamento delle attività per esecuzioni
music_generatedistaccate - ComfyUI
- Riferimento di configurazione — configurazione
musicGenerationModel - Google (Gemini)
- MiniMax
- Modelli — configurazione dei modelli e failover
- Panoramica degli strumenti