Skip to main content
Lo strumento music_generate crea musica o audio tramite la funzionalità condivisa di generazione musicale, supportata da ComfyUI, fal, Google, MiniMax e OpenRouter.
music_generate compare solo quando è disponibile almeno un provider di generazione musicale: una configurazione esplicita agents.defaults.musicGenerationModel oppure un provider configurato per l’autenticazione (ad esempio, con una chiave API impostata).
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.

Avvio rapido

1

Configura l'autenticazione

Imposta una chiave API per almeno un provider, ad esempio GEMINI_API_KEY o MINIMAX_API_KEY.
2

Scegli un modello predefinito (facoltativo)

3

Chiedi all'agente

“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.
Esempi di prompt:
Usa action: "list" per esaminare i provider/modelli disponibili e action: "status" per esaminare l’attività musicale attiva associata alla sessione:
Esempio di generazione diretta:

Provider supportati

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.

Matrice delle funzionalità

Il contratto esplicito delle modalità usato da music_generate, dai test del contratto e dalla verifica live condivisa:

Parametri dello strumento

string
obbligatorio
Prompt per la generazione musicale. Obbligatorio per action: "generate".
"generate" | "status" | "list"
predefinito:"generate"
"status" restituisce l’attività corrente della sessione; "list" esamina i provider.
string
Sostituzione del provider/modello (ad esempio google/lyria-3-pro-preview, comfy/workflow).
string
Testo facoltativo quando il provider supporta l’input esplicito del testo.
boolean
Richiede un output esclusivamente strumentale quando il provider lo supporta.
string
Percorso o URL di una singola immagine di riferimento.
string[]
Più immagini di riferimento (fino a 10 sui provider che le supportano).
number
Durata prevista in secondi quando il provider supporta indicazioni sulla durata.
"mp3" | "wav"
Indicazione sul formato di output quando il provider lo supporta.
string
Indicazione sul nome del file di output.
Non tutti i provider supportano tutti i parametri. OpenClaw convalida comunque i limiti rigidi, come il numero di input, prima dell’invio. Quando un provider supporta la durata ma utilizza un valore massimo inferiore a quello richiesto, OpenClaw riduce il valore alla durata supportata più vicina. Le indicazioni facoltative realmente non supportate vengono ignorate con un avviso quando il provider o il modello selezionato non può rispettarle. I risultati dello strumento riportano le impostazioni applicate; details.normalization registra ogni corrispondenza tra il valore richiesto e quello applicato.
I 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.

Comportamento asincrono

La generazione musicale associata a una sessione viene eseguita come attività in background:
  • 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.
  • Prevenzione dei duplicati: mentre un’attività è 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.
  • Consultazione dello stato: openclaw tasks list o openclaw tasks show <taskId> esamina gli stati in coda, in esecuzione e terminali.
  • Riattivazione al completamento: OpenClaw inserisce nuovamente un evento interno di completamento nella stessa sessione, affinché il modello possa scrivere autonomamente il follow-up rivolto all’utente.
  • Indicazione nel prompt: i successivi turni utente/manuali nella stessa sessione ricevono una breve indicazione di runtime quando è già in corso un’attività musicale, affinché il modello non chiami nuovamente music_generate senza verificarlo.
  • Fallback senza sessione: i contesti diretti/locali senza una vera sessione dell’agente vengono eseguiti in linea e restituiscono il risultato audio finale nello stesso turno.

Ciclo di vita dell’attività

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: Controlla lo stato dalla CLI:

Configurazione

Selezione del modello

Ordine di selezione dei provider

OpenClaw prova i provider in questo ordine:
  1. Parametro model della chiamata allo strumento (se l’agente ne specifica uno).
  2. musicGenerationModel.primary dalla configurazione.
  3. musicGenerationModel.fallbacks nell’ordine indicato.
  4. Rilevamento automatico usando esclusivamente i valori predefiniti dei provider con autenticazione configurata:
    • prima il provider predefinito corrente del modello testuale, se offre anche la generazione musicale;
    • quindi i restanti provider di generazione musicale registrati, in ordine alfabetico per ID provider.
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.

Note sui provider

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.

Scelta del percorso corretto

  • Basato su provider condivisi quando desideri la selezione del modello, il failover dei provider e il flusso asincrono integrato per attività e stato.
  • Percorso Plugin (ComfyUI) quando hai bisogno di un grafo del flusso di lavoro personalizzato o di un provider che non fa parte della funzionalità musicale condivisa inclusa.
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.

Modalità delle funzionalità dei provider

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:
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.

Test live

Copertura live facoltativa per i provider condivisi inclusi (fal, Google, MiniMax, OpenRouter):
Wrapper equivalente del repository, che esegue lo stesso file di test:
Per 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ù edit
  • fal: solo generate
  • minimax: solo generate
  • openrouter: generate più edit
  • comfy: copertura live Comfy separata, non inclusa nella verifica condivisa dei provider
Copertura live facoltativa per il percorso musicale ComfyUI incluso:
Il file live Comfy copre anche i flussi di lavoro per immagini e video di Comfy quando le relative sezioni sono configurate.

Contenuti correlati