Tools
Musikerzeugung
Das Tool music_generate erstellt Musik oder Audio über die gemeinsame
Funktion zur Musikgenerierung, die von ComfyUI, fal, Google, MiniMax und
OpenRouter unterstützt wird.
Bei sitzungsgebundenen Agent-Ausführungen startet music_generate als
Hintergrundaufgabe, verfolgt den Fortschritt im Aufgabenprotokoll und weckt
anschließend den Agent, sobald der Titel bereit ist, damit er den Benutzer
informieren und das fertige Audio anhängen kann. Der Abschluss-Agent folgt
dem Vertrag der Sitzung für sichtbare Antworten: eine automatische
abschließende Antwort, wenn dies konfiguriert ist, oder
message(action="send"), wenn die Sitzung das Nachrichtentool erfordert.
Wenn die anfragende Sitzung inaktiv ist oder das Aufwecken fehlschlägt und
das generierte Audio weiterhin in der Antwort fehlt, sendet OpenClaw einen
idempotenten direkten Fallback, der nur das fehlende Audio enthält.
Schnellstart
Gemeinsam und Provider-gestützt
Authentifizierung konfigurieren
Legen Sie einen API-Schlüssel für mindestens einen Provider fest —
zum Beispiel GEMINI_API_KEY oder MINIMAX_API_KEY.
Standardmodell auswählen (optional)
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Den Agent anweisen
„Erzeuge einen schwungvollen Synthpop-Titel über eine nächtliche Fahrt durch eine neonbeleuchtete Stadt.“
Der Agent ruft music_generate automatisch auf. Eine Aufnahme in
die Tool-Zulassungsliste ist nicht erforderlich.
Ohne eine sitzungsgebundene Agent-Ausführung (in direkten/lokalen Kontexten) wird das Tool direkt ausgeführt und gibt den endgültigen Medienpfad im selben Tool-Ergebnis zurück.
ComfyUI-Workflow
Workflow konfigurieren
Konfigurieren Sie plugins.entries.comfy.config.music mit einem
Workflow-JSON sowie Prompt- und Ausgabeknoten.
Cloud-Authentifizierung (optional)
Legen Sie für Comfy Cloud COMFY_API_KEY oder
COMFY_CLOUD_API_KEY fest.
Tool aufrufen
/tool music_generate prompt="Warme Ambient-Synthesizer-Schleife mit sanfter Bandtextur"Beispiel-Prompts:
Erzeuge einen filmischen Klaviertitel mit sanften Streichern und ohne Gesang.Erzeuge eine energiegeladene Chiptune-Schleife über einen Raketenstart bei Sonnenaufgang.Verwenden Sie action: "list", um verfügbare Provider/Modelle anzuzeigen,
und action: "status", um die aktive sitzungsgebundene Musikaufgabe
anzuzeigen:
/tool music_generate action=list/tool music_generate action=statusBeispiel für direkte Generierung:
/tool music_generate prompt="Verträumter Lo-Fi-Hip-Hop mit Vinyltextur und sanftem Regen" instrumental=trueUnterstützte Provider
| Provider | Standardmodell | Referenzeingaben | Unterstützte Steuerungen | Authentifizierung |
|---|---|---|---|---|
| ComfyUI | workflow |
Bis zu 1 Bild | Workflow-definierte Musik oder Audio | COMFY_API_KEY, COMFY_CLOUD_API_KEY |
| fal | fal-ai/minimax-music/v2.6 |
Keine | lyrics, instrumental, durationSeconds, format |
FAL_KEY oder FAL_API_KEY |
lyria-3-clip-preview |
Bis zu 10 Bilder | lyrics, instrumental, format |
GEMINI_API_KEY, GOOGLE_API_KEY |
|
| MiniMax | music-2.6 |
Keine | lyrics, instrumental, format (nur mp3) |
MINIMAX_API_KEY oder MiniMax OAuth |
| OpenRouter | google/lyria-3-pro-preview |
Bis zu 1 Bild | lyrics, instrumental, durationSeconds, format |
OPENROUTER_API_KEY |
MiniMax registriert zwei Provider-IDs, die dieselben Modelle verwenden:
minimax für die Authentifizierung per API-Schlüssel und minimax-portal
für OAuth. Modellreferenzen folgen dem Authentifizierungspfad
(minimax/music-2.6 gegenüber minimax-portal/music-2.6); siehe
MiniMax.
fal stellt neben seinem standardmäßigen, von MiniMax gestützten Modell auch
fal-ai/ace-step/prompt-to-audio (wav, keine Liedtexte, kein Schalter für
Instrumentalmusik) und fal-ai/stable-audio-25/text-to-audio (wav, nur
Prompt) bereit. Googles Standardmodell lyria-3-clip-preview gibt
ausschließlich mp3 aus; lyria-3-pro-preview unterstützt außerdem wav.
MiniMax stellt auch music-2.6-free, music-cover und music-cover-free
bereit. OpenRouter stellt außerdem google/lyria-3-clip-preview bereit.
Funktionsmatrix
Der explizite Modusvertrag, den music_generate, Vertragstests und der
gemeinsame Live-Durchlauf verwenden:
| Provider | generate |
edit |
Bearbeitungslimit | Gemeinsame Live-Testläufe |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 Bild | Nicht im gemeinsamen Durchlauf; abgedeckt durch extensions/comfy/comfy.live.test.ts |
| fal | ✓ | — | Keines | generate |
| ✓ | ✓ | 10 Bilder | generate, edit |
|
| MiniMax | ✓ | — | Keines | generate |
| OpenRouter | ✓ | ✓ | 1 Bild | generate, edit |
Tool-Parameter
promptstringrequiredPrompt für die Musikgenerierung. Für action: "generate" erforderlich.
action"generate" | "status" | "list"default: generate"status" gibt die aktuelle Sitzungsaufgabe zurück; "list" zeigt
Provider an.
modelstringÜberschreibung von Provider/Modell (z. B. google/lyria-3-pro-preview,
comfy/workflow).
lyricsstringOptionale Liedtexte, wenn der Provider eine explizite Liedtexteingabe unterstützt.
instrumentalbooleanFordert eine rein instrumentale Ausgabe an, wenn der Provider dies unterstützt.
imagestringPfad oder URL eines einzelnen Referenzbilds.
imagesstring[]Mehrere Referenzbilder (bis zu 10 bei unterstützenden Providern).
durationSecondsnumberZieldauer in Sekunden, wenn der Provider Dauerhinweise unterstützt.
format"mp3" | "wav"Hinweis zum Ausgabeformat, wenn der Provider es unterstützt.
filenamestringZeitüberschreitungen für Provider-Anfragen sind ausschließlich eine
Betreiberkonfiguration. OpenClaw verwendet
agents.defaults.musicGenerationModel.timeoutMs, wenn dies konfiguriert
ist, erhöht Werte unter 120000ms auf 120000ms und verwendet andernfalls für
Provider-Anfragen standardmäßig 300000ms.
Asynchrones Verhalten
Die sitzungsgebundene Musikgenerierung wird als Hintergrundaufgabe ausgeführt:
- Hintergrundaufgabe:
music_generateerstellt eine Hintergrundaufgabe, gibt sofort eine Antwort mit Start-/Aufgabenstatus zurück und veröffentlicht den fertigen Titel später in einer nachfolgenden Agent-Nachricht. - Vermeidung von Duplikaten: Solange eine Aufgabe
queuedoderrunningist, geben späteremusic_generate-Aufrufe in derselben Sitzung den Aufgabenstatus zurück, statt eine weitere Generierung zu starten. Verwenden Sieaction: "status", um dies ausdrücklich zu prüfen. Eine kürzlich abgeschlossene, übereinstimmende Anfrage wird ebenfalls 2 Minuten lang dedupliziert. - Statusabfrage:
openclaw tasks listoderopenclaw tasks show <taskId>zeigt den Status wartender, laufender und abgeschlossener Aufgaben an. - Aufwecken bei Abschluss: OpenClaw fügt ein internes Abschlussereignis wieder in dieselbe Sitzung ein, sodass das Modell die benutzerseitige Folgenachricht selbst verfassen kann.
- Prompt-Hinweis: Spätere Benutzer-/manuelle Interaktionen in derselben
Sitzung erhalten einen kleinen Laufzeithinweis, wenn bereits eine
Musikaufgabe ausgeführt wird, damit das Modell nicht unbedacht erneut
music_generateaufruft. - Fallback ohne Sitzung: Direkte/lokale Kontexte ohne echte Agent-Sitzung werden direkt ausgeführt und geben das endgültige Audioergebnis im selben Durchgang zurück.
Aufgabenlebenszyklus
Die Musikaufgabe zeigt dieselben Zustände wie die allgemeine
Aufgabenregistrierung (siehe
Hintergrundaufgaben für die vollständige
Zustandsmaschine einschließlich timed_out, cancelled und lost). Die
meisten Musikgenerierungen durchlaufen:
| Zustand | Bedeutung |
|---|---|
queued |
Aufgabe erstellt; wartet darauf, dass der Provider sie annimmt. |
running |
Der Provider verarbeitet sie (typischerweise 30 Sekunden bis 3 Minuten, abhängig von Provider und Dauer). |
succeeded |
Titel ist bereit; der Agent wird aufgeweckt und veröffentlicht ihn in der Unterhaltung. |
failed |
Provider-Fehler oder Zeitüberschreitung; der Agent wird mit Fehlerdetails aufgeweckt. |
Prüfen Sie den Status über die CLI:
openclaw tasks listopenclaw tasks show <taskId>openclaw tasks cancel <taskId>Konfiguration
Modellauswahl
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", fallbacks: ["fal/fal-ai/minimax-music/v2.6", "minimax/music-2.6"], }, }, },}Reihenfolge der Provider-Auswahl
OpenClaw probiert Provider in dieser Reihenfolge aus:
- Parameter
modelaus dem Tool-Aufruf (wenn der Agent einen angibt). musicGenerationModel.primaryaus der Konfiguration.musicGenerationModel.fallbacksin der angegebenen Reihenfolge.- Automatische Erkennung ausschließlich anhand der Standardwerte von
Providern mit konfigurierter Authentifizierung:
- zuerst der aktuelle Standard-Provider des Textmodells, sofern er auch Musikgenerierung anbietet;
- anschließend die übrigen registrierten Provider für Musikgenerierung, alphabetisch nach Provider-ID.
Wenn ein Provider fehlschlägt, wird automatisch der nächste Kandidat ausprobiert. Wenn alle fehlschlagen, enthält der Fehler Details zu jedem Versuch.
Legen Sie agents.defaults.mediaGenerationAutoProviderFallback: false fest,
um ausschließlich explizite Einträge für model, primary und fallbacks
zu verwenden.
Hinweise zu Providern
ComfyUI
Workflow-gesteuert und abhängig vom konfigurierten Graphen sowie der Node-Zuordnung
für Prompt-/Ausgabefelder. Das gebündelte comfy-Plugin bindet sich über die
Registry der Provider für die Musikgenerierung in das gemeinsame Tool
music_generate ein.
fal
Verwendet fal-Modellendpunkte über den gemeinsamen Authentifizierungspfad des Providers. Der
gebündelte Provider verwendet standardmäßig fal-ai/minimax-music/v2.6 und stellt außerdem
fal-ai/ace-step/prompt-to-audio und
fal-ai/stable-audio-25/text-to-audio für Prompt-zu-Audio-Anfragen bereit.
Liedtexte und der Instrumentalmodus sind ausschließlich für MiniMax-Modelle verfügbar; die anderen beiden
Modelle unterstützen nur Prompts.
Google (Lyria 3)
Verwendet die Batch-Generierung von Lyria 3. Der aktuelle gebündelte Ablauf unterstützt
einen Prompt, optionalen Liedtext und optionale Referenzbilder. Das
Standardmodell lyria-3-clip-preview gibt ausschließlich mp3 aus; das
Modell lyria-3-pro-preview unterstützt außerdem wav.
MiniMax
Verwendet den Batch-Endpunkt music_generation. Unterstützt Prompt, optionale
Liedtexte, Instrumentalmodus und mp3-Ausgabe entweder über
minimax-API-Schlüssel-Authentifizierung oder minimax-portal-OAuth. Stellt außerdem die Modelle
music-2.6-free, music-cover und music-cover-free bereit.
OpenRouter
Verwendet die Audioausgabe von OpenRouter-Chat-Completions mit aktiviertem Streaming. Der
gebündelte Provider verwendet standardmäßig google/lyria-3-pro-preview und stellt außerdem
openrouter/google/lyria-3-clip-preview bereit.
Den richtigen Pfad wählen
- Gemeinsamer, Provider-gestützter Pfad, wenn Sie Modellauswahl, Provider- Failover und den integrierten asynchronen Aufgaben-/Statusablauf benötigen.
- Plugin-Pfad (ComfyUI), wenn Sie einen benutzerdefinierten Workflow-Graphen oder einen Provider benötigen, der nicht Teil der gemeinsamen gebündelten Musikfunktion ist.
Wenn Sie ComfyUI-spezifisches Verhalten debuggen, lesen Sie ComfyUI. Wenn Sie das Verhalten gemeinsamer Provider debuggen, beginnen Sie mit fal, Google (Gemini), MiniMax oder OpenRouter.
Fähigkeitsmodi der Provider
Der gemeinsame Vertrag für die Musikgenerierung unterstützt explizite Modusdeklarationen:
generatefür die Generierung ausschließlich anhand eines Prompts.edit, wenn die Anfrage ein oder mehrere Referenzbilder enthält.
Neue Provider-Implementierungen sollten explizite Modusblöcke bevorzugen:
capabilities: { generate: { maxTracks: 1, supportsLyrics: true, supportsFormat: true, }, edit: { enabled: true, maxTracks: 1, maxInputImages: 1, supportsFormat: true, },}Veraltete flache Felder wie maxInputImages, supportsLyrics und
supportsFormat reichen nicht aus, um Bearbeitungsunterstützung anzugeben. Provider
sollten generate und edit explizit deklarieren, damit Live-Tests, Vertragstests
und das gemeinsame Tool music_generate die Modusunterstützung
deterministisch validieren können.
Live-Tests
Optional aktivierbare Live-Testabdeckung für die gemeinsamen gebündelten Provider (fal, Google, MiniMax, OpenRouter):
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.tsÄquivalenter Repository-Wrapper, der dieselbe Testdatei ausführt:
pnpm test:live:media:musicDiese Live-Datei verwendet standardmäßig bereits exportierte Provider-Umgebungsvariablen
vor gespeicherten Authentifizierungsprofilen und führt sowohl die Abdeckung für generate als auch
für deklariertes edit aus, wenn der Provider den Bearbeitungsmodus aktiviert. Aktuelle Abdeckung:
google:generatepluseditfal: nurgenerateminimax: nurgenerateopenrouter:generatepluseditcomfy: separate Comfy-Live-Testabdeckung, nicht Teil des gemeinsamen Provider-Durchlaufs
Optional aktivierbare Live-Testabdeckung für den gebündelten ComfyUI-Musikpfad:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.tsDie Comfy-Live-Datei deckt außerdem Comfy-Bild- und -Video-Workflows ab, wenn diese Abschnitte konfiguriert sind.
Verwandte Themen
- Hintergrundaufgaben — Aufgabenverfolgung für entkoppelte
music_generate-Ausführungen - ComfyUI
- Konfigurationsreferenz —
musicGenerationModel-Konfiguration - Google (Gemini)
- MiniMax
- Modelle — Modellkonfiguration und Failover
- Tool-Übersicht