music_generate tworzy muzykę lub dźwięk za pośrednictwem współdzielonej
funkcji generowania muzyki, obsługiwanej przez ComfyUI, fal, Google, MiniMax i
OpenRouter.
music_generate pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden
dostawca generowania muzyki: jawna konfiguracja
agents.defaults.musicGenerationModel lub dostawca ze skonfigurowanym
uwierzytelnianiem (na przykład z ustawionym kluczem API).music_generate rozpoczyna
zadanie w tle, śledzi postęp w rejestrze zadań, a następnie wybudza agenta, gdy
utwór jest gotowy, aby mógł powiadomić użytkownika i dołączyć gotowy plik
dźwiękowy. Agent kończący zadanie przestrzega kontraktu widocznej odpowiedzi
sesji: automatycznej odpowiedzi końcowej, jeśli jest skonfigurowana, albo
message(action="send"), gdy sesja wymaga narzędzia do wysyłania wiadomości.
Jeśli sesja inicjatora jest nieaktywna lub jej wybudzenie się nie powiedzie,
a wygenerowanego dźwięku nadal brakuje w odpowiedzi, OpenClaw wysyła
idempotentną bezpośrednią wiadomość awaryjną zawierającą wyłącznie brakujący
dźwięk.
Szybki start
- Współdzielony, obsługiwany przez dostawcę
- Przepływ pracy ComfyUI
1
Skonfiguruj uwierzytelnianie
Ustaw klucz API dla co najmniej jednego dostawcy — na przykład
GEMINI_API_KEY lub MINIMAX_API_KEY.2
Wybierz model domyślny (opcjonalnie)
3
Poproś agenta
„Wygeneruj energiczny utwór synthpop o nocnej przejażdżce przez
neonowe miasto.”Agent automatycznie wywoła
music_generate. Nie trzeba dodawać
narzędzia do listy dozwolonych.action: "list", aby sprawdzić dostępnych dostawców i modele, oraz
action: "status", aby sprawdzić aktywne zadanie muzyczne oparte na sesji:
Obsługiwani dostawcy
MiniMax rejestruje dwa identyfikatory dostawcy współdzielące te same modele:
minimax dla uwierzytelniania kluczem API oraz minimax-portal dla OAuth.
Odwołania do modeli odpowiadają ścieżce uwierzytelniania
(minimax/music-2.6 w porównaniu z minimax-portal/music-2.6); zobacz
MiniMax.
Oprócz domyślnego modelu opartego na MiniMax fal udostępnia także
fal-ai/ace-step/prompt-to-audio (wav, bez tekstu utworu i bez przełącznika
trybu instrumentalnego) oraz fal-ai/stable-audio-25/text-to-audio (wav,
tylko monit). Domyślny model Google lyria-3-clip-preview generuje wyłącznie
mp3; lyria-3-pro-preview obsługuje również wav. MiniMax udostępnia także
music-2.6-free, music-cover i music-cover-free. OpenRouter udostępnia
również google/lyria-3-clip-preview.
Macierz możliwości
Jawny kontrakt trybów używany przezmusic_generate, testy kontraktowe i
współdzielony przebieg testów na żywo:
Parametry narzędzia
string
wymagane
Monit generowania muzyki. Wymagany dla
action: "generate"."generate" | "status" | "list"
domyślnie:"generate"
"status" zwraca bieżące zadanie sesji; "list" wyświetla dostawców.string
Nadpisanie dostawcy/modelu (np.
google/lyria-3-pro-preview,
comfy/workflow).string
Opcjonalny tekst utworu, gdy dostawca obsługuje jawne przekazywanie tekstu.
boolean
Żądanie wyjścia wyłącznie instrumentalnego, gdy dostawca je obsługuje.
string
Ścieżka lub adres URL pojedynczego obrazu referencyjnego.
string[]
Wiele obrazów referencyjnych (do 10 u obsługujących je dostawców).
number
Docelowy czas trwania w sekundach, gdy dostawca obsługuje wskazówki
dotyczące czasu trwania.
"mp3" | "wav"
Wskazówka dotycząca formatu wyjściowego, gdy dostawca go obsługuje.
string
Wskazówka dotycząca nazwy pliku wyjściowego.
Nie wszyscy dostawcy obsługują wszystkie parametry. OpenClaw nadal sprawdza
nieprzekraczalne limity, takie jak liczba danych wejściowych, przed wysłaniem
żądania. Gdy dostawca obsługuje czas trwania, ale ma krótszy maksymalny czas
niż żądana wartość, OpenClaw ogranicza ją do najbliższego obsługiwanego czasu.
Opcjonalne wskazówki, które rzeczywiście nie są obsługiwane, są ignorowane
z ostrzeżeniem, gdy wybrany dostawca lub model nie może ich uwzględnić.
Wyniki narzędzia zawierają zastosowane ustawienia;
details.normalization
rejestruje każde odwzorowanie wartości żądanej na zastosowaną.agents.defaults.musicGenerationModel.timeoutMs, gdy ta wartość jest
skonfigurowana, podnosi wartości poniżej 120000ms do 120000ms, a w pozostałych
przypadkach domyślnie ustawia limit żądań do dostawcy na 300000ms.
Działanie asynchroniczne
Generowanie muzyki oparte na sesji działa jako zadanie w tle:- Zadanie w tle:
music_generatetworzy zadanie w tle, natychmiast zwraca odpowiedź o rozpoczęciu wraz z informacjami o zadaniu, a później publikuje gotowy utwór w kolejnej wiadomości agenta. - Zapobieganie duplikatom: gdy zadanie ma stan
queuedlubrunning, kolejne wywołaniamusic_generatew tej samej sesji zwracają stan zadania zamiast rozpoczynać następne generowanie. Użyjaction: "status", aby sprawdzić go jawnie. Niedawno ukończone pasujące żądanie jest również deduplikowane przez 2 minuty. - Sprawdzanie stanu:
openclaw tasks listlubopenclaw tasks show <taskId>pozwala sprawdzić stan oczekujący, aktywny i końcowy. - Wybudzenie po zakończeniu: OpenClaw wprowadza wewnętrzne zdarzenie zakończenia z powrotem do tej samej sesji, aby model mógł samodzielnie napisać dalszą odpowiedź przeznaczoną dla użytkownika.
- Wskazówka w monicie: kolejne tury użytkownika lub ręczne w tej samej
sesji otrzymują krótką wskazówkę środowiska wykonawczego, gdy zadanie
muzyczne jest już w toku, dzięki czemu model nie wywołuje ponownie
music_generatebez sprawdzenia. - Tryb awaryjny bez sesji: konteksty bezpośrednie/lokalne bez rzeczywistej sesji agenta działają synchronicznie i zwracają końcowy wynik dźwiękowy w tej samej turze.
Cykl życia zadania
Zadanie muzyczne udostępnia te same stany co ogólny rejestr zadań (pełny automat stanów, w tymtimed_out, cancelled i lost, opisano w sekcji
Zadania w tle). Większość zadań
muzycznych przechodzi przez następujące stany:
Sprawdź stan z poziomu CLI:
Konfiguracja
Wybór modelu
Kolejność wyboru dostawcy
OpenClaw próbuje dostawców w następującej kolejności:- Parametr
modelz wywołania narzędzia (jeśli agent go określi). musicGenerationModel.primaryz konfiguracji.- Wpisy
musicGenerationModel.fallbacksw podanej kolejności. - Automatyczne wykrywanie wyłącznie na podstawie domyślnych dostawców
z uwierzytelnianiem:
- najpierw bieżący domyślny dostawca modelu tekstowego, jeśli oferuje również generowanie muzyki;
- pozostali zarejestrowani dostawcy generowania muzyki, alfabetycznie według identyfikatora dostawcy.
agents.defaults.mediaGenerationAutoProviderFallback: false, aby
używać wyłącznie jawnych wpisów model, primary i fallbacks.
Uwagi dotyczące dostawców
ComfyUI
ComfyUI
Sterowany przepływem pracy i zależny od skonfigurowanego grafu oraz mapowania węzłów
dla pól polecenia i danych wyjściowych. Dołączony plugin
comfy integruje się ze
współdzielonym narzędziem music_generate za pośrednictwem rejestru dostawców
generowania muzyki.fal
fal
Używa punktów końcowych modeli fal za pośrednictwem współdzielonej ścieżki uwierzytelniania dostawcy. Dołączony
dostawca domyślnie używa
fal-ai/minimax-music/v2.6, a także udostępnia
fal-ai/ace-step/prompt-to-audio oraz
fal-ai/stable-audio-25/text-to-audio na potrzeby żądań generowania dźwięku z polecenia.
Tekst utworu i tryb instrumentalny są dostępne wyłącznie dla modelu MiniMax; pozostałe dwa
modele obsługują tylko polecenia.Google (Lyria 3)
Google (Lyria 3)
Używa wsadowego generowania Lyria 3. Obecnie dołączony przepływ obsługuje
polecenie, opcjonalny tekst utworu oraz opcjonalne obrazy referencyjne. Domyślny
model
lyria-3-clip-preview generuje wyłącznie pliki mp3; model
lyria-3-pro-preview obsługuje również format wav.MiniMax
MiniMax
Używa wsadowego punktu końcowego
music_generation. Obsługuje polecenie, opcjonalny
tekst utworu, tryb instrumentalny i dane wyjściowe mp3 przy użyciu uwierzytelniania kluczem API
minimax albo OAuth minimax-portal. Udostępnia również modele music-2.6-free,
music-cover i music-cover-free.OpenRouter
OpenRouter
Używa danych wyjściowych audio uzupełnień czatu OpenRouter z włączonym strumieniowaniem. Dołączony
dostawca domyślnie używa
google/lyria-3-pro-preview, a także udostępnia
openrouter/google/lyria-3-clip-preview.Wybór właściwej ścieżki
- Współdzielona ścieżka oparta na dostawcy, gdy potrzebujesz wyboru modelu, przełączania awaryjnego między dostawcami i wbudowanego asynchronicznego przepływu zadań i statusów.
- Ścieżka pluginu (ComfyUI), gdy potrzebujesz niestandardowego grafu przepływu pracy lub dostawcy, który nie jest częścią współdzielonej, dołączonej funkcji muzycznej.
Tryby możliwości dostawcy
Współdzielony kontrakt generowania muzyki obsługuje jawne deklaracje trybów:generatedo generowania wyłącznie na podstawie polecenia.edit, gdy żądanie zawiera co najmniej jeden obraz referencyjny.
maxInputImages, supportsLyrics i
supportsFormat, nie wystarczają do zadeklarowania obsługi edycji. Dostawcy
powinni jawnie deklarować generate i edit, aby testy na żywo, testy
kontraktowe oraz współdzielone narzędzie music_generate mogły deterministycznie
weryfikować obsługę trybów.
Testy na żywo
Opcjonalne testy na żywo współdzielonych, dołączonych dostawców (fal, Google, MiniMax, OpenRouter):generate, jak i
zadeklarowanego edit, gdy dostawca włącza tryb edycji. Obecny zakres:
google:generateorazeditfal: tylkogenerateminimax: tylkogenerateopenrouter:generateorazeditcomfy: oddzielne testy Comfy na żywo, poza współdzielonym zestawem testów dostawców
Powiązane
- Zadania w tle — śledzenie zadań dla odłączonych uruchomień
music_generate - ComfyUI
- Dokumentacja konfiguracji — konfiguracja
musicGenerationModel - Google (Gemini)
- MiniMax
- Modele — konfiguracja modeli i przełączanie awaryjne
- Przegląd narzędzi