Tools
संगीत जनरेशन
music_generate टूल एजेंट को कॉन्फ़िगर किए गए प्रदाताओं — ComfyUI,
fal, Google, MiniMax, और आज OpenRouter — के साथ साझा संगीत-जनरेशन
क्षमता के माध्यम से संगीत या ऑडियो बनाने देता है।
सेशन-समर्थित एजेंट रन के लिए, OpenClaw संगीत जनरेशन को
बैकग्राउंड टास्क के रूप में शुरू करता है, उसे टास्क लेजर में ट्रैक करता है,
फिर ट्रैक तैयार होने पर एजेंट को फिर से जगाता है ताकि एजेंट उपयोगकर्ता को बता सके
और तैयार ऑडियो संलग्न कर सके। पूर्णता एजेंट सेशन के सामान्य दृश्यमान-उत्तर
मोड का पालन करता है: कॉन्फ़िगर होने पर स्वचालित अंतिम उत्तर डिलीवरी, या
message(action="send") जब सेशन को message टूल की आवश्यकता होती है। यदि अनुरोधकर्ता सेशन
निष्क्रिय है या उसका सक्रिय वेक विफल हो जाता है, और कुछ जनरेट किया गया ऑडियो अभी भी
पूर्णता उत्तर से गायब है, तो OpenClaw केवल गायब ऑडियो के साथ
एक इडेम्पोटेंट प्रत्यक्ष फ़ॉलबैक भेजता है।
त्वरित शुरुआत
Shared provider-backed
Configure auth
कम से कम एक प्रदाता के लिए API कुंजी सेट करें — उदाहरण के लिए
GEMINI_API_KEY या MINIMAX_API_KEY।
Pick a default model (optional)
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Ask the agent
"Generate an upbeat synthpop track about a night drive through a neon city."
एजेंट music_generate को स्वचालित रूप से कॉल करता है। किसी टूल
allow-listing की आवश्यकता नहीं है।
सेशन-समर्थित एजेंट रन के बिना प्रत्यक्ष सिंक्रोनस संदर्भों के लिए, बिल्ट-इन टूल अब भी इनलाइन जनरेशन पर फ़ॉलबैक करता है और टूल परिणाम में अंतिम मीडिया पथ लौटाता है।
ComfyUI workflow
Configure the workflow
वर्कफ़्लो JSON और prompt/output nodes के साथ
plugins.entries.comfy.config.music कॉन्फ़िगर करें।
Cloud auth (optional)
Comfy Cloud के लिए, COMFY_API_KEY या COMFY_CLOUD_API_KEY सेट करें।
Call the tool
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"उदाहरण प्रॉम्प्ट:
Generate a cinematic piano track with soft strings and no vocals.Generate an energetic chiptune loop about launching a rocket at sunrise.समर्थित प्रदाता
| प्रदाता | डिफ़ॉल्ट मॉडल | संदर्भ इनपुट | समर्थित नियंत्रण | प्रमाणीकरण |
|---|---|---|---|---|
| ComfyUI | workflow |
1 छवि तक | वर्कफ़्लो-निर्धारित संगीत या ऑडियो | COMFY_API_KEY, COMFY_CLOUD_API_KEY |
| fal | fal-ai/minimax-music/v2.6 |
कोई नहीं | lyrics, instrumental, durationSeconds, format |
FAL_KEY या FAL_API_KEY |
lyria-3-clip-preview |
10 छवियों तक | lyrics, instrumental, format |
GEMINI_API_KEY, GOOGLE_API_KEY |
|
| MiniMax | music-2.6 |
कोई नहीं | lyrics, instrumental, format=mp3 |
MINIMAX_API_KEY या MiniMax OAuth |
| OpenRouter | google/lyria-3-pro-preview |
1 छवि तक | lyrics, instrumental, durationSeconds, format |
OPENROUTER_API_KEY |
क्षमता मैट्रिक्स
music_generate, अनुबंध परीक्षणों, और
साझा लाइव स्वीप द्वारा उपयोग किया जाने वाला स्पष्ट मोड अनुबंध:
| प्रदाता | generate |
edit |
एडिट सीमा | साझा लाइव लेन |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 छवि | साझा स्वीप में नहीं; extensions/comfy/comfy.live.test.ts द्वारा कवर किया गया |
| fal | ✓ | — | कोई नहीं | generate |
| ✓ | ✓ | 10 छवियां | generate, edit |
|
| MiniMax | ✓ | — | कोई नहीं | generate |
| OpenRouter | ✓ | ✓ | 1 छवि | generate, edit |
रनटाइम पर उपलब्ध साझा प्रदाताओं और मॉडलों की जांच करने के लिए
action: "list" का उपयोग करें:
/tool music_generate action=listसक्रिय सेशन-समर्थित संगीत टास्क की जांच करने के लिए action: "status" का उपयोग करें:
/tool music_generate action=statusप्रत्यक्ष जनरेशन उदाहरण:
/tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=trueटूल पैरामीटर
promptstringrequiredसंगीत जनरेशन प्रॉम्प्ट। action: "generate" के लिए आवश्यक।
action"generate" | "status" | "list"default: generate"status" वर्तमान सत्र टास्क लौटाता है; "list" प्रदाताओं की जांच करता है।
modelstringप्रदाता/मॉडल ओवरराइड (जैसे google/lyria-3-pro-preview,
comfy/workflow)।
lyricsstringवैकल्पिक बोल, जब प्रदाता स्पष्ट बोल इनपुट का समर्थन करता हो।
instrumentalbooleanकेवल-वाद्य आउटपुट का अनुरोध करें, जब प्रदाता इसका समर्थन करता हो।
imagestringएकल संदर्भ इमेज पथ या URL।
imagesstring[]अनेक संदर्भ इमेज (समर्थन करने वाले प्रदाताओं पर 10 तक)।
durationSecondsnumberलक्षित अवधि सेकंड में, जब प्रदाता अवधि संकेतों का समर्थन करता हो।
format"mp3" | "wav"आउटपुट फॉर्मेट संकेत, जब प्रदाता इसका समर्थन करता हो।
filenamestringप्रदाता अनुरोध टाइमआउट केवल ऑपरेटर कॉन्फिगरेशन हैं। कॉन्फिगर होने पर OpenClaw
agents.defaults.musicGenerationModel.timeoutMs का उपयोग करता है, 120000ms
से कम मानों को 120000ms तक बढ़ाता है, और अन्यथा प्रदाता अनुरोधों को
300000ms पर डिफॉल्ट करता है।
असिंक्रोनस व्यवहार
सत्र-समर्थित संगीत जनरेशन बैकग्राउंड टास्क के रूप में चलता है:
- बैकग्राउंड टास्क:
music_generateएक बैकग्राउंड टास्क बनाता है, तुरंत शुरू/टास्क प्रतिक्रिया लौटाता है, और तैयार ट्रैक को बाद में फॉलो-अप एजेंट संदेश में पोस्ट करता है। - डुप्लिकेट रोकथाम: जब कोई टास्क
queuedयाrunningमें हो, तो उसी सत्र में बाद कीmusic_generateकॉल एक और जनरेशन शुरू करने के बजाय टास्क स्थिति लौटाती हैं। स्पष्ट रूप से जांचने के लिएaction: "status"का उपयोग करें। - स्थिति लुकअप:
openclaw tasks listयाopenclaw tasks show <taskId>कतारबद्ध, चल रही, और अंतिम स्थिति की जांच करता है। - पूर्णता वेक: OpenClaw उसी सत्र में एक आंतरिक पूर्णता इवेंट वापस इंजेक्ट करता है ताकि मॉडल उपयोगकर्ता-मुखी फॉलो-अप स्वयं लिख सके।
- प्रॉम्प्ट संकेत: उसी सत्र में बाद की उपयोगकर्ता/मैनुअल टर्न को एक छोटा
रनटाइम संकेत मिलता है जब कोई संगीत टास्क पहले से चल रहा हो, ताकि मॉडल
बिना सोचे
music_generateफिर से कॉल न करे। - बिना-सत्र फॉलबैक: वास्तविक एजेंट सत्र के बिना प्रत्यक्ष/local संदर्भ इनलाइन चलते हैं और अंतिम ऑडियो परिणाम उसी टर्न में लौटाते हैं।
टास्क जीवनचक्र
| स्थिति | अर्थ |
|---|---|
queued |
टास्क बनाया गया, प्रदाता द्वारा स्वीकार किए जाने की प्रतीक्षा में। |
running |
प्रदाता प्रोसेस कर रहा है (आमतौर पर प्रदाता और अवधि के आधार पर 30 सेकंड से 3 मिनट)। |
succeeded |
ट्रैक तैयार है; एजेंट जागता है और उसे बातचीत में पोस्ट करता है। |
failed |
प्रदाता त्रुटि या टाइमआउट; एजेंट त्रुटि विवरणों के साथ जागता है। |
CLI से स्थिति जांचें:
openclaw tasks listopenclaw tasks show <taskId>openclaw tasks cancel <taskId>कॉन्फिगरेशन
मॉडल चयन
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", fallbacks: ["fal/fal-ai/minimax-music/v2.6", "minimax/music-2.6"], }, }, },}प्रदाता चयन क्रम
OpenClaw इस क्रम में प्रदाताओं को आजमाता है:
- टूल कॉल से
modelपैरामीटर (यदि एजेंट कोई निर्दिष्ट करता है)। - कॉन्फिग से
musicGenerationModel.primary। - क्रम में
musicGenerationModel.fallbacks। - केवल auth-समर्थित प्रदाता डिफॉल्ट का उपयोग करके स्वतः-पहचान:
- पहले वर्तमान डिफॉल्ट प्रदाता;
- बाकी पंजीकृत संगीत-जनरेशन प्रदाता, प्रदाता ID क्रम में।
यदि कोई प्रदाता विफल होता है, तो अगला उम्मीदवार अपने-आप आजमाया जाता है। यदि सभी विफल होते हैं, तो त्रुटि में प्रत्येक प्रयास का विवरण शामिल होता है।
केवल स्पष्ट model, primary, और fallbacks प्रविष्टियों का उपयोग करने के लिए
agents.defaults.mediaGenerationAutoProviderFallback: false सेट करें।
प्रदाता नोट्स
ComfyUI
वर्कफ्लो-चालित है और प्रॉम्प्ट/आउटपुट फील्ड के लिए कॉन्फिगर किए गए ग्राफ
और नोड मैपिंग पर निर्भर करता है। बंडल किया गया comfy Plugin साझा
music_generate टूल में संगीत-जनरेशन प्रदाता रजिस्ट्री के माध्यम से
जुड़ता है।
fal
साझा प्रदाता auth पथ के माध्यम से fal मॉडल एंडपॉइंट का उपयोग करता है।
बंडल किया गया प्रदाता fal-ai/minimax-music/v2.6 पर डिफॉल्ट करता है और
प्रॉम्प्ट-से-ऑडियो अनुरोधों के लिए fal-ai/ace-step/prompt-to-audio और
fal-ai/stable-audio-25/text-to-audio भी उजागर करता है।
Google (Lyria 3)
Lyria 3 बैच जनरेशन का उपयोग करता है। वर्तमान बंडल किया गया फ्लो प्रॉम्प्ट, वैकल्पिक बोल टेक्स्ट, और वैकल्पिक संदर्भ इमेज का समर्थन करता है।
MiniMax
बैच music_generation एंडपॉइंट का उपयोग करता है। प्रॉम्प्ट, वैकल्पिक
बोल, वाद्य मोड, और mp3 आउटपुट का समर्थन करता है, या तो minimax
API-key auth या minimax-portal OAuth के माध्यम से।
OpenRouter
स्ट्रीमिंग सक्षम करके OpenRouter चैट कम्प्लीशन्स ऑडियो आउटपुट का उपयोग
करता है। बंडल किया गया प्रदाता google/lyria-3-pro-preview पर डिफॉल्ट करता
है और openrouter/google/lyria-3-clip-preview भी उजागर करता है।
सही पथ चुनना
- साझा प्रदाता-समर्थित जब आपको मॉडल चयन, प्रदाता फेलओवर, और अंतर्निहित असिंक्रोनस टास्क/स्थिति फ्लो चाहिए।
- Plugin पथ (ComfyUI) जब आपको कस्टम वर्कफ्लो ग्राफ या ऐसे प्रदाता की आवश्यकता हो जो साझा बंडल की गई संगीत क्षमता का हिस्सा नहीं है।
यदि आप ComfyUI-विशिष्ट व्यवहार डीबग कर रहे हैं, तो ComfyUI देखें। यदि आप साझा प्रदाता व्यवहार डीबग कर रहे हैं, तो fal, Google (Gemini), MiniMax, या OpenRouter से शुरू करें।
प्रदाता क्षमता मोड
साझा संगीत-जनरेशन अनुबंध स्पष्ट मोड घोषणाओं का समर्थन करता है:
- केवल प्रॉम्प्ट वाली जनरेशन के लिए
generate। - जब अनुरोध में एक या अधिक संदर्भ चित्र शामिल हों, तब
edit।
नए प्रदाता कार्यान्वयनों को स्पष्ट मोड ब्लॉक को प्राथमिकता देनी चाहिए:
capabilities: { generate: { maxTracks: 1, supportsLyrics: true, supportsFormat: true, }, edit: { enabled: true, maxTracks: 1, maxInputImages: 1, supportsFormat: true, },}maxInputImages, supportsLyrics, और
supportsFormat जैसे पुराने फ्लैट फ़ील्ड edit समर्थन को विज्ञापित करने के लिए पर्याप्त नहीं हैं। प्रदाताओं को
generate और edit स्पष्ट रूप से घोषित करने चाहिए ताकि लाइव परीक्षण, अनुबंध
परीक्षण, और साझा music_generate टूल मोड समर्थन को
निर्धारित रूप से सत्यापित कर सकें।
लाइव परीक्षण
साझा बंडल किए गए प्रदाताओं के लिए ऑप्ट-इन लाइव कवरेज:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.tsरेपो रैपर:
pnpm test:live:media musicयह लाइव फ़ाइल डिफ़ॉल्ट रूप से संग्रहीत auth
प्रोफ़ाइलों से पहले पहले से निर्यात किए गए प्रदाता env vars का उपयोग करती है, और जब
प्रदाता edit मोड सक्षम करता है, तब generate और घोषित edit दोनों कवरेज चलाती है। आज की कवरेज:
google:generateऔरeditfal: केवलgenerateminimax: केवलgenerateopenrouter:generateऔरeditcomfy: अलग Comfy लाइव कवरेज, साझा प्रदाता स्वीप नहीं
बंडल किए गए ComfyUI संगीत पथ के लिए ऑप्ट-इन लाइव कवरेज:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.tsजब वे सेक्शन कॉन्फ़िगर किए जाते हैं, तो Comfy लाइव फ़ाइल comfy इमेज और वीडियो वर्कफ़्लो को भी कवर करती है।
संबंधित
- बैकग्राउंड टास्क — अलग किए गए
music_generateरन के लिए टास्क ट्रैकिंग - ComfyUI
- कॉन्फ़िगरेशन संदर्भ —
musicGenerationModelconfig - Google (Gemini)
- MiniMax
- मॉडल — मॉडल कॉन्फ़िगरेशन और फ़ेलओवर
- टूल्स अवलोकन