music_generate 工具會透過共用的音樂生成功能建立音樂或音訊,後端支援 ComfyUI、fal、Google、MiniMax 與 OpenRouter。
只有在至少有一個音樂生成提供者可用時,才會顯示
music_generate:明確的 agents.defaults.mediaModels.music 設定,或已設定驗證的提供者(例如已設定 API 金鑰)。music_generate 會以背景工作啟動、在工作帳本中追蹤進度,並在音軌就緒時喚醒代理程式,讓它通知使用者並附上完成的音訊。完成代理程式會遵循工作階段的可見回覆合約:設定時自動傳送最終回覆,或在工作階段要求使用訊息工具時使用 message(action="send")。如果請求者的工作階段未啟用,或喚醒失敗,且回覆中仍缺少生成的音訊,OpenClaw 會傳送僅包含缺漏音訊的冪等直接備援訊息。
快速開始
- 共用提供者後端
- ComfyUI 工作流程
1
設定驗證
為至少一個提供者設定 API 金鑰,例如
GEMINI_API_KEY 或 MINIMAX_API_KEY。2
選擇預設模型(選用)
3
向代理程式提出要求
「生成一首關於夜間駕車穿越霓虹城市、節奏輕快的合成器流行音樂。」代理程式會自動呼叫
music_generate,不需要將工具加入允許清單。action: "list" 檢查可用的提供者/模型,並使用 action: "status" 檢查以工作階段為基礎且目前啟用的音樂工作:
支援的提供者
MiniMax 會註冊兩個共用相同模型的提供者 ID:
minimax 用於 API 金鑰驗證,minimax-portal 用於 OAuth。模型參照會依循驗證路徑(minimax/music-2.6 與 minimax-portal/music-2.6);請參閱 MiniMax。
除了預設的 MiniMax 後端模型外,fal 也提供 fal-ai/ace-step/prompt-to-audio(wav、無歌詞、無純器樂切換選項)與 fal-ai/stable-audio-25/text-to-audio(wav、僅限提示詞)。Google 的預設 lyria-3-clip-preview 僅輸出 mp3;lyria-3-pro-preview 也支援 wav。MiniMax 也提供 music-2.6-free、music-cover 與 music-cover-free。OpenRouter 也提供 google/lyria-3-clip-preview。
功能矩陣
music_generate、合約測試與共用即時掃描所使用的明確模式合約:
工具參數
string
必填
音樂生成提示詞。
action: "generate" 必須提供此參數。"generate" | "status" | "list"
預設值:"generate"
"status" 會傳回目前的工作階段工作;"list" 會檢查提供者。string
覆寫提供者/模型(例如
google/lyria-3-pro-preview、
comfy/workflow)。string
當提供者支援明確輸入歌詞時,可選擇提供歌詞。
boolean
當提供者支援時,要求僅輸出純器樂。
string
單一參考圖片路徑或 URL。
string[]
多張參考圖片(支援的提供者最多可使用 10 張)。
number
當提供者支援時,以秒為單位指定目標時長提示。
"mp3" | "wav"
當提供者支援時,指定輸出格式提示。
string
輸出檔名提示。
並非所有提供者都支援所有參數。OpenClaw 仍會在提交前驗證輸入數量等硬性限制。當提供者支援指定時長,但其最大值短於要求的值時,OpenClaw 會將其限制為最接近的支援時長。若選取的提供者或模型無法採用確實不受支援的選用提示,系統會忽略這些提示並發出警告。工具結果會報告實際套用的設定;
details.normalization 會記錄從要求值到套用值的任何對應。agents.defaults.mediaModels.music.timeoutMs,將低於 120000ms 的值提高至 120000ms;否則,提供者要求的預設逾時為 300000ms。
非同步行為
以工作階段為基礎的音樂生成會以背景工作執行:- 背景工作:
music_generate會建立背景工作、立即傳回已啟動/工作回應,並於稍後在後續代理程式訊息中張貼完成的音軌。 - **防止重複:**工作處於
queued或running狀態時,同一工作階段中後續的music_generate呼叫會傳回工作狀態,而不是啟動另一個生成工作。使用action: "status"可明確檢查。最近完成且相符的要求也會在 2 分鐘內進行去重。 - 狀態查詢:
openclaw tasks list或openclaw tasks show <taskId>會檢查已排入佇列、執行中及終止狀態。 - **完成喚醒:**OpenClaw 會將內部完成事件注入回相同的工作階段,讓模型自行撰寫面向使用者的後續回覆。
- **提示詞提醒:**如果音樂工作已在執行,同一工作階段中後續的使用者/手動回合會收到簡短的執行階段提示,避免模型盲目地再次呼叫
music_generate。 - **無工作階段備援:**沒有實際代理程式工作階段的直接/本機情境會內嵌執行,並在相同回合中傳回最終音訊結果。
工作生命週期
音樂工作會呈現與一般工作登錄檔相同的狀態(如需包含timed_out、cancelled 與 lost 在內的完整狀態機,請參閱背景工作)。大多數音樂執行會經過:
從命令列介面檢查狀態:
設定
模型選擇
提供者選擇順序
OpenClaw 會依照下列順序嘗試提供者:- 工具呼叫中的
model參數(如果代理程式有指定)。 - 設定中的
musicGenerationModel.primary。 - 依序使用
musicGenerationModel.fallbacks。 - 僅使用具備驗證資訊的提供者預設值進行自動偵測:
- 如果目前的預設文字模型提供者也提供音樂生成功能,則優先使用;
- 其餘已註冊的音樂生成提供者,依提供者 ID 的字母順序排列。
model 仍具有最高決定權。
提供者注意事項
ComfyUI
ComfyUI
由工作流程驅動,並取決於已設定的圖形以及提示詞/輸出欄位的節點對應。
內建的
comfy 外掛會透過音樂生成提供者登錄檔,接入共用的
music_generate 工具。fal
fal
透過共用的提供者驗證路徑使用 fal 模型端點。內建提供者預設使用
fal-ai/minimax-music/v2.6,並且也公開
fal-ai/ace-step/prompt-to-audio 和
fal-ai/stable-audio-25/text-to-audio,以處理提示詞轉音訊請求。
歌詞與純音樂模式僅適用於 MiniMax 模型;另外兩個模型僅支援提示詞。Google (Lyria 3)
Google (Lyria 3)
使用 Lyria 3 批次生成。目前的內建流程支援提示詞、選用的歌詞文字,以及選用的參考圖片。
預設的
lyria-3-clip-preview 模型僅輸出 mp3;
lyria-3-pro-preview 模型也支援 wav。MiniMax
MiniMax
使用批次
music_generation 端點。支援提示詞、選用的歌詞、純音樂模式,
以及透過 minimax API 金鑰驗證或 minimax-portal OAuth
輸出 mp3。也公開 music-2.6-free、
music-cover 和 music-cover-free 模型。OpenRouter
OpenRouter
使用已啟用串流的 OpenRouter 聊天補全音訊輸出。內建提供者預設使用
google/lyria-3-pro-preview,並且也公開
openrouter/google/lyria-3-clip-preview。選擇正確的路徑
- 若你需要模型選擇、提供者容錯移轉,以及內建的非同步任務/狀態流程,請選擇共用提供者支援路徑。
- 若你需要自訂工作流程圖形,或使用不屬於共用內建音樂功能的提供者,請選擇外掛路徑(ComfyUI)。
提供者功能模式
共用音樂生成合約支援明確的模式宣告:generate用於僅依提示詞生成。edit用於請求包含一張或多張參考圖片時。
maxInputImages、supportsLyrics 和
supportsFormat 等舊版扁平欄位,不足以表明支援編輯。提供者應明確宣告
generate 和 edit,讓即時測試、合約測試以及共用的
music_generate 工具能以確定性方式驗證模式支援。
即時測試
選用的共用內建提供者(fal、Google、MiniMax、OpenRouter)即時涵蓋範圍:generate 和已宣告的
edit 涵蓋範圍。目前的涵蓋範圍:
google:generate加上editfal:僅generateminimax:僅generateopenrouter:generate加上editcomfy:獨立的 Comfy 即時測試涵蓋範圍,不屬於共用提供者全面測試