Tools
Musikgenerierung
Das music_generate-Tool ermöglicht dem Agenten, Musik oder Audio über die
gemeinsame Musikgenerierungsfunktion mit konfigurierten Providern zu erstellen:
derzeit Google, MiniMax und per Workflow konfigurierte ComfyUI.
Bei sitzungsgestützten Agentenläufen startet OpenClaw die Musikgenerierung als Hintergrundaufgabe, verfolgt sie im Aufgabenprotokoll und weckt den Agenten erneut, wenn der Track fertig ist, damit der Agent den Benutzer informieren und das fertige Audio anhängen kann. In Gruppen-/Kanal-Chats, die eine sichtbare Zustellung ausschließlich über das Nachrichtentool verwenden, übermittelt der Agent das Ergebnis über das Nachrichtentool. Wenn der Abschlussagent nur eine private finale Antwort schreibt, greift OpenClaw auf einen direkten Kanalversand mit den generierten Medien zurück. Das Abschluss-Wecken warnt den Agenten ausdrücklich, dass normale finale Antworten auf diesen Routen privat sind.
Schnelleinstieg
Gemeinsam, 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 Agenten fragen
"Generate an upbeat synthpop track about a night drive through a neon city."
Der Agent ruft music_generate automatisch auf. Es ist keine
Zulassungsliste für Tools erforderlich.
Für direkte synchrone Kontexte ohne sitzungsgestützten Agentenlauf fällt das integrierte Tool weiterhin auf Inline-Generierung zurück und gibt den finalen Medienpfad im Tool-Ergebnis zurück.
ComfyUI-Workflow
Workflow konfigurieren
Konfigurieren Sie plugins.entries.comfy.config.music mit einem
Workflow-JSON sowie Prompt-/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="Warm ambient synth loop with soft tape texture"
Beispiel-Prompts:
Generate a cinematic piano track with soft strings and no vocals.
Generate an energetic chiptune loop about launching a rocket at sunrise.
Unterstü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 |
lyria-3-clip-preview |
Bis zu 10 Bilder | lyrics, instrumental, format |
GEMINI_API_KEY, GOOGLE_API_KEY |
|
| MiniMax | music-2.6 |
Keine | lyrics, instrumental, durationSeconds, format=mp3 |
MINIMAX_API_KEY oder MiniMax OAuth |
Fähigkeitsmatrix
Der explizite Modusvertrag, der von music_generate, Vertragstests und dem
gemeinsamen Live-Sweep verwendet wird:
| Provider | generate |
edit |
Bearbeitungslimit | Gemeinsame Live-Lanes |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 Bild | Nicht im gemeinsamen Sweep; abgedeckt durch extensions/comfy/comfy.live.test.ts |
| ✓ | ✓ | 10 Bilder | generate, edit |
|
| MiniMax | ✓ | — | Keine | generate |
Verwenden Sie action: "list", um verfügbare gemeinsame Provider und Modelle
zur Laufzeit zu prüfen:
/tool music_generate action=list
Verwenden Sie action: "status", um die aktive sitzungsgestützte
Musikaufgabe zu prüfen:
/tool music_generate action=status
Beispiel für direkte Generierung:
/tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=true
Tool-Parameter
promptstringrequiredPrompt zur Musikgenerierung. Erforderlich für action: "generate".
action"generate" | "status" | "list""status" gibt die aktuelle Sitzungsaufgabe zurück; "list" prüft Provider.
modelstringProvider-/Modellüberschreibung (z. B. google/lyria-3-pro-preview,
comfy/workflow).
lyricsstringOptionale Liedtexte, wenn der Provider explizite Liedtexteingabe unterstützt.
instrumentalbooleanInstrumentale Ausgabe anfordern, wenn der Provider sie unterstützt.
imagestringEinzelner Referenzbildpfad oder URL.
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.
filenamestringtimeoutMsnumberAsynchrones Verhalten
Sitzungsgestützte Musikgenerierung läuft als Hintergrundaufgabe:
- Hintergrundaufgabe:
music_generateerstellt eine Hintergrundaufgabe, gibt sofort eine Gestartet-/Aufgabenantwort zurück und veröffentlicht den fertigen Track später in einer nachfolgenden Agentennachricht. - Duplikatvermeidung: 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. - Statusabfrage:
openclaw tasks listoderopenclaw tasks show <taskId>prüft Status für Warteschlange, laufende Aufgaben und Endzustände. - Abschluss-Wecken: OpenClaw injiziert ein internes Abschlussereignis zurück in dieselbe Sitzung, damit das Modell die benutzerseitige Folgenachricht selbst schreiben kann.
- Prompt-Hinweis: Spätere Benutzer-/manuelle Turns in derselben Sitzung
erhalten einen kleinen Laufzeithinweis, wenn bereits eine Musikaufgabe
läuft, damit das Modell
music_generatenicht blind erneut aufruft. - Fallback ohne Sitzung: Direkte/lokale Kontexte ohne echte Agentensitzung laufen inline und geben das finale Audioergebnis im selben Turn zurück.
Aufgabenlebenszyklus
| Status | Bedeutung |
|---|---|
queued |
Aufgabe erstellt, wartet darauf, dass der Provider sie annimmt. |
running |
Provider verarbeitet sie (typischerweise 30 Sekunden bis 3 Minuten, je nach Provider und Dauer). |
succeeded |
Track ist fertig; der Agent wird geweckt und veröffentlicht ihn in der Unterhaltung. |
failed |
Provider-Fehler oder Timeout; der Agent wird mit Fehlerdetails geweckt. |
Status über die CLI prüfen:
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
Konfiguration
Modellauswahl
{
agents: {
defaults: {
musicGenerationModel: {
primary: "google/lyria-3-clip-preview",
fallbacks: ["minimax/music-2.6"],
},
},
},
}
Provider-Auswahlreihenfolge
OpenClaw versucht Provider in dieser Reihenfolge:
model-Parameter aus dem Tool-Aufruf (wenn der Agent einen angibt).musicGenerationModel.primaryaus der Konfiguration.musicGenerationModel.fallbacksder Reihe nach.- Automatische Erkennung ausschließlich anhand authentifizierungsgestützter
Provider-Standards:
- aktueller Standard-Provider zuerst;
- verbleibende registrierte Musikgenerierungs-Provider in Provider-ID-Reihenfolge.
Wenn ein Provider fehlschlägt, wird der nächste Kandidat automatisch versucht. Wenn alle fehlschlagen, enthält der Fehler Details zu jedem Versuch.
Setzen Sie agents.defaults.mediaGenerationAutoProviderFallback: false, um nur
explizite Einträge für model, primary und fallbacks zu verwenden.
Provider-Hinweise
ComfyUI
Workflow-gesteuert und abhängig vom konfigurierten Graphen sowie der
Knotenzuordnung für Prompt-/Ausgabefelder. Das gebündelte comfy-Plugin
bindet sich über die Musikgenerierungs-Provider-Registry in das
gemeinsame music_generate-Tool ein.
Google (Lyria 3)
Verwendet Lyria-3-Batch-Generierung. Der aktuelle gebündelte Ablauf unterstützt Prompt, optionalen Liedtext und optionale Referenzbilder.
MiniMax
Verwendet den Batch-Endpunkt music_generation. Unterstützt Prompt,
optionale Liedtexte, Instrumentalmodus, Dauersteuerung und MP3-Ausgabe
entweder über minimax-API-Schlüssel-Authentifizierung oder
minimax-portal OAuth.
Den richtigen Pfad wählen
- Gemeinsam, Provider-gestützt, wenn Sie Modellauswahl, Provider-Failover und den integrierten asynchronen Aufgaben-/Statusablauf wünschen.
- 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, siehe ComfyUI. Wenn Sie gemeinsames Provider-Verhalten debuggen, beginnen Sie mit Google (Gemini) oder MiniMax.
Provider-Fähigkeitsmodi
Der gemeinsame Musikgenerierungsvertrag unterstützt explizite Modusdeklarationen:
generatefür reine Prompt-Generierung.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,
},
}
Legacy-Flachfelder wie maxInputImages, supportsLyrics und
supportsFormat reichen nicht aus, um Bearbeitungsunterstützung
anzukündigen. Provider sollten generate und edit explizit deklarieren,
damit Live-Tests, Vertragstests und das gemeinsame music_generate-Tool
Modusunterstützung deterministisch validieren können.
Live-Tests
Optionale Live-Abdeckung für die gemeinsamen gebündelten Provider:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts
Repo-Wrapper:
pnpm test:live:media music
Diese Live-Datei lädt fehlende Provider-Umgebungsvariablen aus ~/.profile,
bevorzugt standardmäßig Live-/Umgebungs-API-Schlüssel vor gespeicherten
Authentifizierungsprofilen und führt sowohl generate als auch deklarierte
edit-Abdeckung aus, wenn der Provider den Bearbeitungsmodus aktiviert.
Abdeckung heute:
google:generatepluseditminimax: nurgeneratecomfy: separate Comfy-Live-Abdeckung, nicht der gemeinsame Provider-Sweep
Optionale Live-Abdeckung für den mitgelieferten ComfyUI-Musikpfad:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
Die Comfy-Live-Datei deckt auch comfy-Bild- und Videoworkflows 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
- Tools-Übersicht