Tools
Musikgenerierung
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 aktiviert anschließend den Agent, sobald der Titel
bereit ist, damit dieser die Person benachrichtigen 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
Nachrichten-Tool erfordert. Wenn die anfragende Sitzung inaktiv ist oder ihre Aktivierung 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
Über gemeinsamen Provider
Authentifizierung konfigurieren
Legen Sie für mindestens einen Provider einen API-Schlüssel fest – beispielsweise
GEMINI_API_KEY oder MINIMAX_API_KEY.
Standardmodell auswählen (optional)
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Agent auffordern
„Erstellen Sie 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 einer Workflow-
JSON-Datei 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 weicher Tonbandtextur"Beispiel-Prompts:
Erstellen Sie einen cineastischen Klaviertitel mit sanften Streichern und ohne Gesang.Erstellen Sie eine energiegeladene Chiptune-Schleife über den Start einer Rakete bei Sonnenaufgang.Verwenden Sie action: "list", um verfügbare Provider/Modelle zu prüfen, und
action: "status", um die aktive sitzungsgebundene Musikaufgabe zu prüfen:
/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 Steuerelemente | Authentifizierung |
|---|---|---|---|---|
| ComfyUI | workflow |
Bis zu 1 Bild | Durch den 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 Authentifizierungsweg
(minimax/music-2.6 gegenüber minimax-portal/music-2.6); siehe
MiniMax.
fal bietet neben seinem standardmäßigen, von MiniMax unterstützten Modell auch
fal-ai/ace-step/prompt-to-audio (wav, keine Liedtexte, kein
Schalter für reine Instrumentalmusik) und fal-ai/stable-audio-25/text-to-audio (wav,
nur Prompt) an. Googles Standardmodell
lyria-3-clip-preview gibt ausschließlich mp3 aus; lyria-3-pro-preview unterstützt auch
wav. MiniMax bietet außerdem music-2.6-free, music-cover und
music-cover-free an. OpenRouter bietet außerdem google/lyria-3-clip-preview an.
Funktionsmatrix
Der explizite Modusvertrag, der von music_generate, Vertragstests und dem
gemeinsamen Live-Durchlauf verwendet wird:
| Provider | generate |
edit |
Bearbeitungsgrenze | Gemeinsame Live-Testläufe |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 Bild | Nicht im gemeinsamen Durchlauf; abgedeckt durch extensions/comfy/comfy.live.test.ts |
| fal | ✓ | — | Keine | generate |
| ✓ | ✓ | 10 Bilder | generate, edit |
|
| MiniMax | ✓ | — | Keine | 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" prüft Provider.
modelstringÜberschreibung des Providers/Modells (z. B. google/lyria-3-pro-preview,
comfy/workflow).
lyricsstringOptionale Liedtexte, wenn der Provider die explizite Eingabe von Liedtexten 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 dies unterstützt.
filenamestringZeitüberschreitungen für Provider-Anfragen sind ausschließlich eine Betreiberkonfiguration. OpenClaw verwendet
agents.defaults.mediaModels.music.timeoutMs, wenn dies konfiguriert ist, erhöht
Werte unter 120000ms auf 120000ms und verwendet andernfalls standardmäßig 300000ms
für Provider-Anfragen.
Asynchrones Verhalten
Sitzungsgebundene Musikgenerierung wird als Hintergrundaufgabe ausgeführt:
- Hintergrundaufgabe:
music_generateerstellt eine Hintergrundaufgabe, gibt sofort eine Antwort mit Start-/Aufgabeninformationen 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, anstatt 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>prüft den Status von Aufgaben in der Warteschlange, in Ausführung und mit Endstatus. - Aktivierung bei Abschluss: OpenClaw fügt ein internes Abschlussereignis wieder in dieselbe Sitzung ein, damit das Modell selbst die benutzerseitige Folgemeldung verfassen kann.
- Prompt-Hinweis: Spätere Benutzer-/manuelle Durchläufe in derselben Sitzung erhalten einen kurzen
Laufzeithinweis, wenn bereits eine Musikaufgabe läuft, damit das Modell
music_generatenicht unbedacht erneut aufruft. - Fallback ohne Sitzung: Direkte/lokale Kontexte ohne echte Agent- Sitzung werden direkt ausgeführt und geben das endgültige Audioergebnis im selben Durchlauf zurück.
Aufgabenlebenszyklus
Die Musikaufgabe stellt dieselben Zustände wie die allgemeine Aufgabenregistrierung bereit (siehe
Hintergrundaufgaben für den vollständigen Zustandsautomaten
einschließlich timed_out, cancelled und lost). Die meisten Musikausführungen
durchlaufen:
| Zustand | Bedeutung |
|---|---|
queued |
Aufgabe erstellt; wartet darauf, dass der Provider sie annimmt. |
running |
Der Provider verarbeitet sie (üblicherweise 30 Sekunden bis 3 Minuten, abhängig von Provider und Dauer). |
succeeded |
Titel bereit; der Agent wird aktiviert und veröffentlicht ihn in der Unterhaltung. |
failed |
Provider-Fehler oder Zeitüberschreitung; der Agent wird mit Fehlerdetails aktiviert. |
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 versucht die Provider in dieser Reihenfolge:
model-Parameter aus dem Tool-Aufruf (falls der Agent einen angibt).musicGenerationModel.primaryaus der Konfiguration.musicGenerationModel.fallbacksder Reihe nach.- Automatische Erkennung ausschließlich anhand authentifizierungsgestützter Provider-Standardwerte:
- zuerst der aktuelle Standard-Provider für Textmodelle, sofern er auch Musikgenerierung anbietet;
- die übrigen registrierten Provider für Musikgenerierung, alphabetisch nach Provider-ID.
Wenn ein Provider fehlschlägt, wird automatisch der nächste Kandidat versucht. Wenn alle fehlschlagen, enthält der Fehler Details zu jedem Versuch.
Der automatische Fallback zwischen authentifizierten Providern ist immer aktiviert. Ein aufrufbezogener
model bleibt maßgeblich.
Hinweise zu Providern
ComfyUI
Workflow-gesteuert und abhängig vom konfigurierten Graphen sowie der Node-Zuordnung
für Eingabeaufforderungs-/Ausgabefelder. Das gebündelte comfy-Plugin bindet sich über die
Registry der Musikgenerierungs-Provider in das gemeinsame
music_generate-Tool 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 Anfragen zur Audioerzeugung aus Eingabeaufforderungen bereit.
Liedtexte und Instrumentalmodus sind ausschließlich für MiniMax-Modelle verfügbar; die anderen beiden
Modelle unterstützen nur Eingabeaufforderungen.
Google (Lyria 3)
Verwendet die Stapelgenerierung von Lyria 3. Der aktuelle gebündelte Ablauf unterstützt
Eingabeaufforderungen, 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 Stapel-Endpunkt music_generation. Unterstützt Eingabeaufforderungen, optionale
Liedtexte, Instrumentalmodus und mp3-Ausgabe entweder über die
API-Schlüssel-Authentifizierung minimax oder minimax-portal OAuth. Stellt außerdem die Modelle
music-2.6-free, music-cover und music-cover-free bereit.
OpenRouter
Verwendet die Audioausgabe der OpenRouter-Chatvervollständigung 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 zur gemeinsamen gebündelten Musikfunktion gehört.
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.
Funktionsmodi der Provider
Der gemeinsame Vertrag für die Musikgenerierung unterstützt explizite Modusdeklarationen:
generatefür die Generierung nur aus Eingabeaufforderungen.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 auszuweisen. Provider
sollten generate und edit explizit deklarieren, damit Live-Tests, Vertragstests
und das gemeinsame music_generate-Tool die Modusunterstützung
deterministisch validieren können.
Live-Tests
Optionale Live-Testabdeckung für die gemeinsam gebündelten Provider (fal, Google, MiniMax, OpenRouter):
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.tsEntsprechender Repository-Wrapper, der dieselbe Testdatei ausführt:
pnpm test:live:media:musicDiese Live-Datei verwendet standardmäßig bereits exportierte Umgebungsvariablen des Providers vor gespeicherten
Authentifizierungsprofilen und führt sowohl die Abdeckung für generate als auch für deklarierte 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
Optionale 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-Workflows für Bilder und Videos ab, wenn diese Abschnitte konfiguriert sind.
Verwandte Themen
- Hintergrundaufgaben — Aufgabenverfolgung für abgekoppelte
music_generate-Ausführungen - ComfyUI
- Konfigurationsreferenz —
musicGenerationModel-Konfiguration - Google (Gemini)
- MiniMax
- Modelle — Modellkonfiguration und Failover
- Übersicht der Tools