Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
music_generate 工具让智能体可以通过共享音乐生成能力,使用已配置的提供商来创建音乐或音频,目前支持 Google、MiniMax,以及通过工作流配置的 ComfyUI。
对于有会话支持的智能体运行,OpenClaw 会将音乐生成作为后台任务启动,在任务账本中跟踪它,然后在曲目就绪时再次唤醒智能体,以便智能体告知用户并附上完成的音频。在使用仅消息工具可见投递的群组/渠道聊天中,智能体会通过消息工具转发结果。如果完成智能体只写入私有最终回复,OpenClaw 会回退到带有生成媒体的直接渠道发送。完成唤醒会明确警告智能体,在这些路由中普通最终回复是私有的。
内置共享工具只会在至少一个音乐生成提供商可用时出现。如果你在智能体的工具中看不到
music_generate,请配置 agents.defaults.musicGenerationModel 或设置提供商 API key。快速开始
- 共享提供商支持
- ComfyUI 工作流
支持的提供商
| 提供商 | 默认模型 | 参考输入 | 支持的控制项 | 认证 |
|---|---|---|---|---|
| ComfyUI | workflow | 最多 1 张图片 | 工作流定义的音乐或音频 | COMFY_API_KEY, COMFY_CLOUD_API_KEY |
lyria-3-clip-preview | 最多 10 张图片 | lyrics, instrumental, format | GEMINI_API_KEY, GOOGLE_API_KEY | |
| MiniMax | music-2.6 | 无 | lyrics, instrumental, durationSeconds, format=mp3 | MINIMAX_API_KEY 或 MiniMax OAuth |
能力矩阵
music_generate、契约测试和共享实时扫描使用的显式模式契约:
| 提供商 | generate | edit | 编辑限制 | 共享实时通道 |
|---|---|---|---|---|
| ComfyUI | ✓ | ✓ | 1 张图片 | 不在共享扫描中;由 extensions/comfy/comfy.live.test.ts 覆盖 |
| ✓ | ✓ | 10 张图片 | generate, edit | |
| MiniMax | ✓ | — | 无 | generate |
action: "list" 在运行时检查可用的共享提供商和模型:
action: "status" 检查当前有会话支持的音乐任务:
工具参数
音乐生成提示词。
action: "generate" 必填。"status" 返回当前会话任务;"list" 检查提供商。提供商/模型覆盖(例如
google/lyria-3-pro-preview、comfy/workflow)。当提供商支持显式歌词输入时,可选歌词。
当提供商支持时,请求仅器乐输出。
单个参考图片路径或 URL。
多张参考图片(支持的提供商最多 10 张)。
当提供商支持时,以秒为单位的目标时长提示。
当提供商支持时的输出格式提示。
输出文件名提示。
可选的提供商请求超时时间,单位为毫秒。省略时,如果已配置,OpenClaw 会使用
agents.defaults.musicGenerationModel.timeoutMs。低于 10000ms 的值会提升到 10000ms,并在工具结果中报告。并非所有提供商都支持所有参数。OpenClaw 仍会在提交前验证输入数量等硬性限制。当提供商支持时长但使用的最大值短于请求值时,OpenClaw 会钳制到最接近的受支持时长。真正不受支持的可选提示会在选定提供商或模型无法满足时被忽略,并附带警告。工具结果会报告已应用的设置;
details.normalization 会捕获任何从请求到应用的映射。异步行为
有会话支持的音乐生成会作为后台任务运行:- 后台任务:
music_generate会创建后台任务,立即返回已启动/任务响应,并稍后在后续智能体消息中发布完成的曲目。 - 防止重复: 当任务处于
queued或running状态时,同一会话中后续的music_generate调用会返回任务状态,而不是启动另一次生成。使用action: "status"可显式检查。 - 状态查询:
openclaw tasks list或openclaw tasks show <taskId>可检查排队、运行中和终止状态。 - 完成唤醒: OpenClaw 会将内部完成事件注入回同一会话,让模型可以自行编写面向用户的后续消息。
- 提示词提示: 同一会话中之后的用户/手动轮次会在音乐任务已在进行中时获得一个小的运行时提示,因此模型不会盲目再次调用
music_generate。 - 无会话回退: 没有真实智能体会话的直接/本地上下文会内联运行,并在同一轮中返回最终音频结果。
任务生命周期
| 状态 | 含义 |
|---|---|
queued | 任务已创建,等待提供商接受。 |
running | 提供商正在处理(通常为 30 秒到 3 分钟,取决于提供商和时长)。 |
succeeded | 曲目已就绪;智能体会被唤醒并将其发布到对话。 |
failed | 提供商错误或超时;智能体会被唤醒并带有错误详情。 |
配置
模型选择
提供商选择顺序
OpenClaw 会按以下顺序尝试提供商:- 工具调用中的
model参数(如果智能体指定了一个)。 - 配置中的
musicGenerationModel.primary。 - 按顺序使用
musicGenerationModel.fallbacks。 - 仅使用基于认证的提供商默认值进行自动检测:
- 当前默认提供商优先;
- 其余已注册的音乐生成提供商按提供商 ID 顺序。
agents.defaults.mediaGenerationAutoProviderFallback: false 以仅使用显式的 model、primary 和 fallbacks 条目。
提供商说明
ComfyUI
ComfyUI
由工作流驱动,并依赖已配置的图以及提示词/输出字段的节点映射。内置的
comfy 插件通过音乐生成提供商注册表接入共享的 music_generate 工具。Google (Lyria 3)
Google (Lyria 3)
使用 Lyria 3 批量生成。当前内置流程支持提示词、可选歌词文本和可选参考图片。
MiniMax
MiniMax
使用批量
music_generation 端点。支持提示词、可选歌词、器乐模式、时长引导,以及通过 minimax API key 认证或 minimax-portal OAuth 输出 mp3。选择合适的路径
- 共享提供商支持:当你需要模型选择、提供商故障转移,以及内置异步任务/状态流程时使用。
- 插件路径(ComfyUI):当你需要自定义工作流图,或需要不属于共享内置音乐能力的提供商时使用。
提供商能力模式
共享音乐生成契约支持显式模式声明:generate用于仅提示词生成。- 当请求包含一张或多张参考图片时使用
edit。
maxInputImages、supportsLyrics 和 supportsFormat 等旧版扁平字段不足以声明编辑支持。提供商应显式声明 generate 和 edit,以便实时测试、契约测试和共享的 music_generate 工具能够确定性地验证模式支持。
实时测试
共享内置提供商的选择加入式实时覆盖:~/.profile 加载缺失的提供商环境变量,默认优先使用
live/env API 密钥,而不是已存储的认证配置文件,并且在提供商启用 edit
模式时同时运行 generate 和声明的 edit 覆盖范围。当前覆盖范围:
google:generate加editminimax:仅generatecomfy:单独的 Comfy live 覆盖范围,不属于共享的提供商 sweep