Tools

Muziekgeneratie

Het music_generate-hulpmiddel laat de agent muziek of audio maken via de gedeelde capaciteit voor muziekgeneratie met geconfigureerde providers — Google, MiniMax en vandaag workflow-geconfigureerde ComfyUI.

Voor sessieondersteunde agentuitvoeringen start OpenClaw muziekgeneratie als een achtergrondtaak, houdt die bij in het taaklogboek en wekt de agent vervolgens weer wanneer de track klaar is, zodat de agent de gebruiker kan informeren en de afgewerkte audio kan bijvoegen. In groeps-/kanaalchats die zichtbare levering alleen via het berichtenhulpmiddel gebruiken, geeft de agent het resultaat door via het berichtenhulpmiddel. Als de voltooiingsagent alleen een privé-eindantwoord schrijft, valt OpenClaw terug op rechtstreeks verzenden via het kanaal met de gegenereerde media. De voltooiingswake waarschuwt de agent expliciet dat normale eindantwoorden in die routes privé zijn.

Snel aan de slag

Gedeeld, met providerondersteuning

  • 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 vragen

    "Genereer een opgewekte synthpoptrack over een nachtelijke rit door een neonstad."

    De agent roept music_generate automatisch aan. Geen expliciete toestemmingslijst voor hulpmiddelen nodig.

  • Voor directe synchrone contexten zonder sessieondersteunde agentuitvoering valt het ingebouwde hulpmiddel nog steeds terug op inline generatie en geeft het het uiteindelijke mediapad terug in het hulpmiddelresultaat.

    ComfyUI-workflow

  • De workflow configureren

    Configureer plugins.entries.comfy.config.music met een workflow-JSON en prompt-/uitvoerknooppunten.

  • 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.
    

    Ondersteunde providers

    Provider Standaardmodel Referentie-invoer Ondersteunde bedieningselementen Authenticatie
    ComfyUI workflow Tot 1 afbeelding Door workflow gedefinieerde muziek of audio COMFY_API_KEY, COMFY_CLOUD_API_KEY
    Google lyria-3-clip-preview Tot 10 afbeeldingen lyrics, instrumental, format GEMINI_API_KEY, GOOGLE_API_KEY
    MiniMax music-2.6 Geen lyrics, instrumental, durationSeconds, format=mp3 MINIMAX_API_KEY of MiniMax OAuth

    Capaciteitsmatrix

    Het expliciete moduscontract dat wordt gebruikt door music_generate, contracttests en de gedeelde live-sweep:

    Provider generate edit Bewerkingslimiet Gedeelde live-lanes
    ComfyUI 1 afbeelding Niet in de gedeelde sweep; gedekt door extensions/comfy/comfy.live.test.ts
    Google 10 afbeeldingen generate, edit
    MiniMax Geen generate

    Gebruik action: "list" om beschikbare gedeelde providers en modellen tijdens runtime te inspecteren:

    /tool music_generate action=list
    

    Gebruik action: "status" om de actieve sessieondersteunde muziektaak te inspecteren:

    /tool music_generate action=status
    

    Voorbeeld van directe generatie:

    /tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=true
    

    Hulpmiddelparameters

    promptstringrequired

    Prompt voor muziekgeneratie. Vereist voor action: "generate".

    action"generate" | "status" | "list"

    "status" geeft de huidige sessietaak terug; "list" inspecteert providers.

    modelstring

    Overschrijving van provider/model (bijv. google/lyria-3-pro-preview, comfy/workflow).

    lyricsstring

    Optionele songtekst wanneer de provider expliciete songtekstinvoer ondersteunt.

    instrumentalboolean

    Vraag uitvoer met alleen instrumenten aan wanneer de provider dit ondersteunt.

    imagestring

    Pad of URL naar één referentieafbeelding.

    imagesstring[]

    Meerdere referentieafbeeldingen (tot 10 bij ondersteunende providers).

    durationSecondsnumber

    Doelduur in seconden wanneer de provider duurhints ondersteunt.

    format"mp3" | "wav"

    Hint voor uitvoerindeling wanneer de provider dit ondersteunt.

    filenamestring
    timeoutMsnumber

    Asynchroon gedrag

    Sessieondersteunde muziekgeneratie draait als achtergrondtaak:

    • Achtergrondtaak: music_generate maakt een achtergrondtaak aan, geeft onmiddellijk een gestart-/taakantwoord terug en plaatst de afgewerkte track later in een vervolgbericht van de agent.
    • Voorkomen van duplicaten: zolang een taak queued of running is, geven latere music_generate-aanroepen in dezelfde sessie de taakstatus terug in plaats van een nieuwe generatie te starten. Gebruik action: "status" om dit expliciet te controleren.
    • Status opzoeken: openclaw tasks list of openclaw tasks show <taskId> inspecteert statussen in de wachtrij, actief en terminaal.
    • Voltooiingswake: OpenClaw injecteert een interne voltooiingsgebeurtenis terug in dezelfde sessie, zodat het model zelf het gebruikersgerichte vervolgbericht kan schrijven.
    • Prompthint: latere gebruikers-/handmatige beurten in dezelfde sessie krijgen een kleine runtime-hint wanneer er al een muziektaak actief is, zodat het model music_generate niet blind opnieuw aanroept.
    • Fallback zonder sessie: directe/lokale contexten zonder echte agentsessie draaien inline en geven het uiteindelijke audioresultaat in dezelfde beurt terug.

    Taaklevenscyclus

    Status Betekenis
    queued Taak aangemaakt, wacht tot de provider deze accepteert.
    running Provider verwerkt de taak (meestal 30 seconden tot 3 minuten, afhankelijk van provider en duur).
    succeeded Track klaar; 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 list
    openclaw tasks show <taskId>
    openclaw tasks cancel <taskId>
    

    Configuratie

    Modelselectie

    {
      agents: {
        defaults: {
          musicGenerationModel: {
            primary: "google/lyria-3-clip-preview",
            fallbacks: ["minimax/music-2.6"],
          },
        },
      },
    }
    

    Volgorde voor providerselectie

    OpenClaw probeert providers in deze volgorde:

    1. model-parameter uit de hulpmiddelaanroep (als de agent er een opgeeft).
    2. musicGenerationModel.primary uit de configuratie.
    3. musicGenerationModel.fallbacks op volgorde.
    4. Automatische detectie met alleen authenticatieondersteunde providerstandaarden:
      • huidige standaardprovider eerst;
      • resterende geregistreerde providers voor muziekgeneratie op provider-id-volgorde.

    Als een provider faalt, wordt de volgende kandidaat automatisch geprobeerd. Als ze allemaal falen, bevat de fout details van elke poging.

    Stel agents.defaults.mediaGenerationAutoProviderFallback: false in om alleen expliciete model-, primary- en fallbacks-items te gebruiken.

    Providernotities

    ComfyUI

    Workflowgestuurd en afhankelijk van de geconfigureerde graaf plus knooppuntmapping voor prompt-/uitvoervelden. De gebundelde comfy Plugin sluit aan op het gedeelde music_generate-hulpmiddel via het providerregister voor muziekgeneratie.

    Google (Lyria 3)

    Gebruikt Lyria 3-batchgeneratie. De huidige gebundelde flow ondersteunt prompt, optionele songtekst en optionele referentieafbeeldingen.

    MiniMax

    Gebruikt het batch-eindpunt music_generation. Ondersteunt prompt, optionele songtekst, instrumentale modus, duursturing en mp3-uitvoer via minimax API-sleutelauthenticatie of minimax-portal OAuth.

    Het juiste pad kiezen

    • Gedeeld, met providerondersteuning wanneer je modelselectie, providerfailover en de ingebouwde asynchrone taak-/statusflow wilt.
    • Plugin-pad (ComfyUI) wanneer je een aangepaste workflowgraaf nodig hebt of een provider die geen deel uitmaakt van de gedeelde gebundelde muziekcapaciteit.

    Als je ComfyUI-specifiek gedrag debugt, zie ComfyUI. Als je gedeeld providergedrag debugt, begin dan met Google (Gemini) of MiniMax.

    Provider-capaciteitsmodi

    Het gedeelde contract voor muziekgeneratie ondersteunt expliciete modusdeclaraties:

    • generate voor generatie met alleen een prompt.
    • edit wanneer 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 genoeg om bewerkingsondersteuning aan te geven. Providers moeten generate en edit expliciet declareren, zodat live tests, contracttests en het gedeelde music_generate-hulpmiddel modusondersteuning deterministisch kunnen valideren.

    Live tests

    Opt-in live-dekking voor de gedeelde gebundelde providers:

    OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts
    

    Repo-wrapper:

    pnpm test:live:media music
    

    Dit live-bestand laadt ontbrekende provideromgevingsvariabelen uit ~/.profile, geeft standaard de voorkeur aan live-/env-API-sleutels boven opgeslagen authenticatieprofielen en voert zowel generate-dekking als gedeclareerde edit-dekking uit wanneer de provider de bewerkingsmodus inschakelt. Dekking vandaag:

    • google: generate plus edit
    • minimax: alleen generate
    • comfy: afzonderlijke Comfy-live-dekking, niet de gedeelde providercontrole

    Optionele live-dekking voor het gebundelde ComfyUI-muziekpad:

    OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
    

    Het Comfy-livebestand behandelt ook Comfy-workflows voor afbeeldingen en video's wanneer die secties zijn geconfigureerd.

    Gerelateerd