Tools
Muziek genereren
De tool music_generate maakt muziek of audio via de gedeelde
mogelijkheid voor muziekgeneratie, ondersteund door ComfyUI, fal, Google, MiniMax en
OpenRouter.
Voor agentuitvoeringen met sessieondersteuning start music_generate als achtergrondtaak,
houdt de voortgang bij in het takenregister en wekt vervolgens de agent wanneer de track
gereed is, zodat deze de gebruiker kan informeren en de voltooide audio kan bijvoegen. De voltooiingsagent
volgt het contract voor zichtbare antwoorden van de sessie: automatisch definitief antwoord
wanneer dit is geconfigureerd, of message(action="send") wanneer de sessie het
berichtenhulpmiddel vereist. Als de sessie van de aanvrager inactief is of het wekken mislukt en
de gegenereerde audio nog steeds in het antwoord ontbreekt, stuurt OpenClaw een
idempotente directe terugval met uitsluitend de ontbrekende audio.
Snel aan de slag
Gedeeld, door providers ondersteund
Authenticatie configureren
Stel een API-sleutel in voor ten minste één provider, bijvoorbeeld
GEMINI_API_KEY of MINIMAX_API_KEY.
Een standaardmodel kiezen (optioneel)
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}De agent een opdracht geven
"Genereer een opgewekte synthpoptrack over een nachtelijke autorit door een neonstad."
De agent roept music_generate automatisch aan. Het toevoegen aan een
toestemmingslijst voor hulpmiddelen is niet nodig.
Zonder een agentuitvoering met sessieondersteuning (directe/lokale contexten) wordt het hulpmiddel inline uitgevoerd en retourneert het het uiteindelijke mediapad in hetzelfde hulpmiddelresultaat.
ComfyUI-workflow
De workflow configureren
Configureer plugins.entries.comfy.config.music met een workflow-
JSON en knooppunten voor prompts en uitvoer.
Cloudauthenticatie (optioneel)
Stel voor Comfy Cloud COMFY_API_KEY of COMFY_CLOUD_API_KEY in.
Het hulpmiddel aanroepen
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"Voorbeeldprompts:
Generate a cinematic piano track with soft strings and no vocals.Generate an energetic chiptune loop about launching a rocket at sunrise.Gebruik action: "list" om beschikbare providers/modellen te bekijken en
action: "status" om de actieve muziektaak met sessieondersteuning te bekijken:
/tool music_generate action=list/tool music_generate action=statusVoorbeeld van directe generatie:
/tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=trueOndersteunde providers
| Provider | Standaardmodel | Referentie-invoer | Ondersteunde instellingen | Authenticatie |
|---|---|---|---|---|
| ComfyUI | workflow |
Maximaal 1 afbeelding | Door de workflow gedefinieerde muziek of audio | COMFY_API_KEY, COMFY_CLOUD_API_KEY |
| fal | fal-ai/minimax-music/v2.6 |
Geen | lyrics, instrumental, durationSeconds, format |
FAL_KEY of FAL_API_KEY |
lyria-3-clip-preview |
Maximaal 10 afbeeldingen | lyrics, instrumental, format |
GEMINI_API_KEY, GOOGLE_API_KEY |
|
| MiniMax | music-2.6 |
Geen | lyrics, instrumental, format (alleen mp3) |
MINIMAX_API_KEY of MiniMax OAuth |
| OpenRouter | google/lyria-3-pro-preview |
Maximaal 1 afbeelding | lyrics, instrumental, durationSeconds, format |
OPENROUTER_API_KEY |
MiniMax registreert twee provider-id's die dezelfde modellen delen: minimax voor
authenticatie met een API-sleutel en minimax-portal voor OAuth. Modelreferenties volgen het authenticatiepad
(minimax/music-2.6 tegenover minimax-portal/music-2.6); zie
MiniMax.
fal biedt naast zijn standaardmodel dat door MiniMax wordt ondersteund ook
fal-ai/ace-step/prompt-to-audio (wav, geen songteksten, geen
schakeloptie voor instrumentale uitvoer) en fal-ai/stable-audio-25/text-to-audio (wav,
alleen prompt) aan. Het standaardmodel lyria-3-clip-preview van Google levert
alleen mp3; lyria-3-pro-preview ondersteunt ook wav. MiniMax biedt daarnaast
music-2.6-free, music-cover en music-cover-free aan. OpenRouter biedt ook
google/lyria-3-clip-preview aan.
Mogelijkhedenmatrix
Het expliciete moduscontract dat wordt gebruikt door music_generate, contracttests en de
gedeelde livecontrole:
| Provider | generate |
edit |
Bewerkingslimiet | Gedeelde livetesttrajecten |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 afbeelding | Niet in de gedeelde controle; gedekt door extensions/comfy/comfy.live.test.ts |
| fal | ✓ | — | Geen | generate |
| ✓ | ✓ | 10 afbeeldingen | generate, edit |
|
| MiniMax | ✓ | — | Geen | generate |
| OpenRouter | ✓ | ✓ | 1 afbeelding | generate, edit |
Hulpmiddelparameters
promptstringrequiredPrompt voor muziekgeneratie. Vereist voor action: "generate".
action"generate" | "status" | "list"default: generate"status" retourneert de huidige sessietaak; "list" toont de providers.
modelstringOverschrijving van provider/model (bijvoorbeeld google/lyria-3-pro-preview,
comfy/workflow).
lyricsstringOptionele songtekst wanneer de provider expliciete invoer van songteksten ondersteunt.
instrumentalbooleanVraag om uitsluitend instrumentale uitvoer wanneer de provider dit ondersteunt.
imagestringPad of URL van één referentieafbeelding.
imagesstring[]Meerdere referentieafbeeldingen (maximaal 10 bij providers die dit ondersteunen).
durationSecondsnumberGewenste duur in seconden wanneer de provider duuraanwijzingen ondersteunt.
format"mp3" | "wav"Aanwijzing voor de uitvoerindeling wanneer de provider dit ondersteunt.
filenamestringTime-outs voor providerverzoeken zijn uitsluitend operatorconfiguratie. OpenClaw gebruikt
agents.defaults.musicGenerationModel.timeoutMs wanneer dit is geconfigureerd, verhoogt
waarden onder 120000ms naar 120000ms en gebruikt anders standaard 300000ms
voor providerverzoeken.
Asynchroon gedrag
Muziekgeneratie met sessieondersteuning wordt uitgevoerd als achtergrondtaak:
- Achtergrondtaak:
music_generatemaakt een achtergrondtaak, retourneert onmiddellijk een gestart/taakantwoord en plaatst de voltooide track later in een vervolbericht van de agent. - Voorkoming van duplicaten: zolang een taak
queuedofrunningis, retourneren latere aanroepen vanmusic_generatein dezelfde sessie de taakstatus in plaats van een nieuwe generatie te starten. Gebruikaction: "status"voor een expliciete controle. Een onlangs voltooide identieke aanvraag wordt gedurende 2 minuten eveneens gededupliceerd. - Status opzoeken:
openclaw tasks listofopenclaw tasks show <taskId>toont de wachtrijstatus, actieve status en eindstatus. - Wekken bij voltooiing: OpenClaw voegt een interne voltooiingsgebeurtenis terug in dezelfde sessie in, zodat het model zelf het gebruikersgerichte vervolbericht kan schrijven.
- Promptaanwijzing: latere gebruikers-/handmatige beurten in dezelfde sessie krijgen een kleine
runtime-aanwijzing wanneer er al een muziektaak wordt uitgevoerd, zodat het model
music_generateniet blindelings opnieuw aanroept. - Terugval zonder sessie: directe/lokale contexten zonder een echte agent- sessie worden inline uitgevoerd en retourneren het uiteindelijke audioresultaat in dezelfde beurt.
Levenscyclus van taken
De muziektaak toont dezelfde statussen als het algemene takenregister (zie
Achtergrondtaken voor de volledige toestandsmachine,
inclusief timed_out, cancelled en lost). De meeste muziekuitvoeringen
doorlopen:
| Status | Betekenis |
|---|---|
queued |
Taak aangemaakt en wacht tot de provider deze accepteert. |
running |
De provider verwerkt de taak (doorgaans 30 seconden tot 3 minuten, afhankelijk van provider en duur). |
succeeded |
Track gereed; de agent wordt gewekt en plaatst deze in het gesprek. |
failed |
Providerfout of time-out; de agent wordt gewekt met foutdetails. |
Controleer de status via de CLI:
openclaw tasks listopenclaw tasks show <taskId>openclaw tasks cancel <taskId>Configuratie
Modelselectie
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", fallbacks: ["fal/fal-ai/minimax-music/v2.6", "minimax/music-2.6"], }, }, },}Selectievolgorde van providers
OpenClaw probeert providers in deze volgorde:
- De parameter
modeluit de hulpmiddelaanroep (als de agent er een opgeeft). musicGenerationModel.primaryuit de configuratie.musicGenerationModel.fallbacksin de opgegeven volgorde.- Automatische detectie, uitsluitend met standaardproviders waarvoor authenticatie is geconfigureerd:
- eerst de provider van het huidige standaardtekstmodel, als deze ook muziek- generatie aanbiedt;
- daarna de overige geregistreerde providers voor muziekgeneratie, alfabetisch op provider-id.
Als een provider mislukt, wordt automatisch de volgende kandidaat geprobeerd. Als alle pogingen mislukken, bevat de fout details van elke poging.
Stel agents.defaults.mediaGenerationAutoProviderFallback: false in om uitsluitend
expliciete vermeldingen voor model, primary en fallbacks te gebruiken.
Opmerkingen over providers
ComfyUI
Workflowgestuurd en afhankelijk van de geconfigureerde graaf plus de Node-toewijzing
voor prompt-/uitvoervelden. De meegeleverde comfy-Plugin sluit aan op de
gedeelde tool music_generate via het providerregister voor
muziekgeneratie.
fal
Gebruikt fal-modeleindpunten via het gedeelde authenticatiepad van de provider. De
meegeleverde provider gebruikt standaard fal-ai/minimax-music/v2.6 en biedt ook
fal-ai/ace-step/prompt-to-audio en
fal-ai/stable-audio-25/text-to-audio voor prompt-naar-audioverzoeken.
Songteksten en instrumentale modus zijn alleen beschikbaar voor MiniMax-modellen; de andere twee
modellen ondersteunen alleen prompts.
Google (Lyria 3)
Gebruikt batchgeneratie met Lyria 3. De huidige meegeleverde werkwijze ondersteunt
een prompt, optionele songtekst en optionele referentieafbeeldingen. Het
standaardmodel lyria-3-clip-preview voert alleen mp3 uit; het
model lyria-3-pro-preview ondersteunt ook wav.
MiniMax
Gebruikt het batcheindpunt music_generation. Ondersteunt een prompt, optionele
songteksten, instrumentale modus en mp3-uitvoer via authenticatie met een
minimax-API-sleutel of minimax-portal OAuth. Biedt ook de modellen
music-2.6-free, music-cover en music-cover-free.
OpenRouter
Gebruikt audio-uitvoer van OpenRouter-chatvoltooiingen met streaming ingeschakeld. De
meegeleverde provider gebruikt standaard google/lyria-3-pro-preview en biedt ook
openrouter/google/lyria-3-clip-preview.
Het juiste pad kiezen
- Gedeeld en providerondersteund wanneer u modelselectie, provider- failover en de ingebouwde asynchrone taak-/statusstroom wilt.
- Plugin-pad (ComfyUI) wanneer u een aangepaste workflowgraaf nodig hebt of een provider die geen deel uitmaakt van de gedeelde, meegeleverde muziekfunctionaliteit.
Als u ComfyUI-specifiek gedrag onderzoekt, raadpleeg dan ComfyUI. Als u gedeeld providergedrag onderzoekt, begin dan met fal, Google (Gemini), MiniMax of OpenRouter.
Modi voor providermogelijkheden
Het gedeelde contract voor muziekgeneratie ondersteunt expliciete modusdeclaraties:
generatevoor generatie op basis van alleen een prompt.editwanneer het verzoek een of meer referentieafbeeldingen bevat.
Nieuwe providerimplementaties moeten bij voorkeur expliciete modusblokken gebruiken:
capabilities: { generate: { maxTracks: 1, supportsLyrics: true, supportsFormat: true, }, edit: { enabled: true, maxTracks: 1, maxInputImages: 1, supportsFormat: true, },}Verouderde platte velden zoals maxInputImages, supportsLyrics en
supportsFormat zijn niet voldoende om ondersteuning voor bewerken aan te geven. Providers
moeten generate en edit expliciet declareren, zodat livetests, contracttests
en de gedeelde tool music_generate de modusondersteuning
deterministisch kunnen valideren.
Livetests
Optionele livedekking voor de gedeelde, meegeleverde providers (fal, Google, MiniMax, OpenRouter):
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.tsGelijkwaardige repository-wrapper die hetzelfde testbestand uitvoert:
pnpm test:live:media:musicDit livebestand gebruikt standaard reeds geëxporteerde provideromgevingsvariabelen vóór opgeslagen
authenticatieprofielen en voert zowel generate als de gedeclareerde edit-dekking uit wanneer
de provider de bewerkingsmodus inschakelt. Huidige dekking:
google:generatepluseditfal: alleengenerateminimax: alleengenerateopenrouter:generatepluseditcomfy: afzonderlijke Comfy-livedekking, niet de gedeelde providersweep
Optionele livedekking voor het meegeleverde ComfyUI-muziekpad:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.tsHet Comfy-livebestand dekt ook Comfy-workflows voor afbeeldingen en video wanneer die secties zijn geconfigureerd.
Gerelateerd
- Achtergrondtaken — taakregistratie voor losgekoppelde
music_generate-uitvoeringen - ComfyUI
- Configuratiereferentie — configuratie van
musicGenerationModel - Google (Gemini)
- MiniMax
- Modellen — modelconfiguratie en failover
- Overzicht van tools