Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Das music_generate-Tool lässt den Agenten Musik oder Audio über die geteilte Musikgenerierungsfunktion mit konfigurierten Providern erstellen – derzeit Google, MiniMax und per Workflow konfiguriertes ComfyUI. Bei sitzungsgestützten Agentenläufen startet OpenClaw die Musikgenerierung als Hintergrundaufgabe, verfolgt sie im Aufgaben-Ledger und weckt den Agenten erneut, wenn der Track bereit ist, damit der Agent den Benutzer informieren und das fertige Audio anhängen kann. In Gruppen-/Channel-Chats, die nur über Message-Tools sichtbar zustellen, übermittelt der Agent das Ergebnis über das Message-Tool. Wenn der Completion-Agent nur eine private finale Antwort schreibt, fällt OpenClaw auf einen direkten Channel-Versand mit den generierten Medien zurück. Der Completion-Wake weist den Agenten ausdrücklich darauf hin, dass normale finale Antworten in diesen Routen privat sind.
Das integrierte geteilte Tool erscheint nur, wenn mindestens ein Musikgenerierungs-Provider verfügbar ist. Wenn Sie music_generate nicht in den Tools Ihres Agenten sehen, konfigurieren Sie agents.defaults.musicGenerationModel oder richten Sie einen Provider-API-Schlüssel ein.

Schnellstart

1

Authentifizierung konfigurieren

Legen Sie einen API-Schlüssel für mindestens einen Provider fest – zum Beispiel GEMINI_API_KEY oder MINIMAX_API_KEY.
2

Standardmodell auswählen (optional)

{
  agents: {
    defaults: {
      musicGenerationModel: {
        primary: "google/lyria-3-clip-preview",
      },
    },
  },
}
3

Agenten fragen

“Generate an upbeat synthpop track about a night drive through a neon city.”Der Agent ruft music_generate automatisch auf. Keine Tool-Allowlist 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.
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

ProviderStandardmodellReferenzeingabenUnterstützte SteuerungenAuthentifizierung
ComfyUIworkflowBis zu 1 BildWorkflow-definierte Musik oder AudioCOMFY_API_KEY, COMFY_CLOUD_API_KEY
Googlelyria-3-clip-previewBis zu 10 Bilderlyrics, instrumental, formatGEMINI_API_KEY, GOOGLE_API_KEY
MiniMaxmusic-2.6Keinelyrics, instrumental, durationSeconds, format=mp3MINIMAX_API_KEY oder MiniMax OAuth

Funktionsmatrix

Der explizite Modusvertrag, den music_generate, Contract-Tests und der geteilte Live-Sweep verwenden:
ProvidergenerateeditBearbeitungslimitGemeinsame Live-Lanes
ComfyUI1 BildNicht im geteilten Sweep; durch extensions/comfy/comfy.live.test.ts abgedeckt
Google10 Bildergenerate, edit
MiniMaxKeinegenerate
Verwenden Sie action: "list", um verfügbare geteilte 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

prompt
string
erforderlich
Prompt für die Musikgenerierung. Erforderlich für action: "generate".
action
"generate" | "status" | "list"
Standard:"generate"
"status" gibt die aktuelle Sitzungsaufgabe zurück; "list" prüft Provider.
model
string
Provider-/Modell-Override (z. B. google/lyria-3-pro-preview, comfy/workflow).
lyrics
string
Optionaler Liedtext, wenn der Provider explizite Liedtexteingabe unterstützt.
instrumental
boolean
Fordert eine rein instrumentale Ausgabe an, wenn der Provider dies unterstützt.
image
string
Einzelner Referenzbildpfad oder URL.
images
string[]
Mehrere Referenzbilder (bis zu 10 bei unterstützenden Providern).
durationSeconds
number
Zieldauer in Sekunden, wenn der Provider Dauerhinweise unterstützt.
format
"mp3" | "wav"
Hinweis zum Ausgabeformat, wenn der Provider dies unterstützt.
filename
string
Hinweis zum Ausgabedateinamen.
timeoutMs
number
Optionales Zeitlimit für Provider-Anfragen in Millisekunden. Wenn es weggelassen wird, verwendet OpenClaw agents.defaults.musicGenerationModel.timeoutMs, sofern konfiguriert. Werte unter 10000ms werden auf 10000ms angehoben und im Tool-Ergebnis gemeldet.
Nicht alle Provider unterstützen alle Parameter. OpenClaw validiert weiterhin harte Grenzen wie Eingabeanzahlen vor der Übermittlung. Wenn ein Provider eine Dauer unterstützt, aber ein kürzeres Maximum als den angeforderten Wert verwendet, kürzt OpenClaw auf die nächstliegende unterstützte Dauer. Wirklich nicht unterstützte optionale Hinweise werden mit einer Warnung ignoriert, wenn der ausgewählte Provider oder das Modell sie nicht erfüllen kann. Tool-Ergebnisse melden die angewendeten Einstellungen; details.normalization erfasst jede Abbildung von angefordert auf angewendet.

Asynchrones Verhalten

Sitzungsgestützte Musikgenerierung läuft als Hintergrundaufgabe:
  • Hintergrundaufgabe: music_generate erstellt eine Hintergrundaufgabe, gibt sofort eine Started-/Task-Antwort zurück und postet den fertigen Track später in einer nachfolgenden Agentennachricht.
  • Duplikatvermeidung: Solange eine Aufgabe queued oder running ist, geben spätere music_generate-Aufrufe in derselben Sitzung den Aufgabenstatus zurück, statt eine weitere Generierung zu starten. Verwenden Sie action: "status" für eine explizite Prüfung.
  • Statusabfrage: openclaw tasks list oder openclaw tasks show <taskId> prüft wartende, laufende und terminale Status.
  • Completion-Wake: OpenClaw injiziert ein internes Completion-Ereignis zurück in dieselbe Sitzung, damit das Modell selbst die für Benutzer sichtbare Folgenachricht 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_generate nicht 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

StatusBedeutung
queuedAufgabe erstellt, wartet darauf, dass der Provider sie akzeptiert.
runningProvider verarbeitet sie (typisch 30 Sekunden bis 3 Minuten, je nach Provider und Dauer).
succeededTrack bereit; der Agent wird geweckt und postet ihn in die Unterhaltung.
failedProvider-Fehler oder Zeitüberschreitung; 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"],
      },
    },
  },
}

Reihenfolge der Providerauswahl

OpenClaw versucht Provider in dieser Reihenfolge:
  1. model-Parameter aus dem Tool-Aufruf (wenn der Agent einen angibt).
  2. musicGenerationModel.primary aus der Konfiguration.
  3. musicGenerationModel.fallbacks der Reihe nach.
  4. Automatische Erkennung nur mit authentifizierungsgestützten Provider-Standards:
    • aktueller Standard-Provider zuerst;
    • übrige 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. Legen Sie agents.defaults.mediaGenerationAutoProviderFallback: false fest, um nur explizite Einträge für model, primary und fallbacks zu verwenden.

Provider-Hinweise

Workflow-gesteuert und abhängig vom konfigurierten Graphen sowie dem Knoten-Mapping für Prompt-/Ausgabefelder. Das gebündelte comfy-Plugin bindet sich über die Provider-Registry für Musikgenerierung in das geteilte music_generate-Tool ein.
Verwendet Lyria-3-Batchgenerierung. Der aktuelle gebündelte Ablauf unterstützt Prompt, optionalen Liedtext und optionale Referenzbilder.
Verwendet den Batch-Endpunkt music_generation. Unterstützt Prompt, optionalen Liedtext, Instrumentalmodus, Dauersteuerung und mp3-Ausgabe über minimax-API-Schlüssel-Authentifizierung oder minimax-portal OAuth.

Den richtigen Pfad wählen

  • Geteilter Provider-gestützt, wenn Sie Modellauswahl, Provider-Failover und den integrierten asynchronen Task-/Statusablauf möchten.
  • Plugin-Pfad (ComfyUI), wenn Sie einen benutzerdefinierten Workflow-Graphen oder einen Provider benötigen, der nicht Teil der geteilten gebündelten Musikfunktion ist.
Wenn Sie ComfyUI-spezifisches Verhalten debuggen, siehe ComfyUI. Wenn Sie geteiltes Provider-Verhalten debuggen, beginnen Sie mit Google (Gemini) oder MiniMax.

Provider-Funktionsmodi

Der geteilte Musikgenerierungsvertrag unterstützt explizite Modusdeklarationen:
  • generate fü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, Contract-Tests und das geteilte music_generate-Tool Modusunterstützung deterministisch validieren können.

Live-Tests

Opt-in-Live-Abdeckung für die geteilten 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-/Env-API-Schlüssel vor gespeicherten Auth-Profilen und führt sowohl generate als auch die deklarierte edit-Abdeckung aus, wenn der Provider den Edit-Modus aktiviert. Aktuelle Abdeckung:
  • google: generate plus edit
  • minimax: nur generate
  • comfy: separate Comfy-Live-Abdeckung, nicht der gemeinsame Provider-Sweep
Live-Abdeckung für den mitgelieferten ComfyUI-Musikpfad aktivieren:
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.

Verwandt