mcpField
A
ai-music

ai-music

github.com/genmedia-labs创意与媒体27839.7k 次安装7 周前更新
代码仓库

关于 ai-music

ai-music 是一项技能,可根据请求选择合适的 RunComfy 音频模型,并通过 RunComfy CLI 调用。它涵盖音乐生成、按时间范围修订片段及延长曲目,模型选择考虑意图、语言和质量需求。

主要功能

  1. 01按请求选择音频模型
  2. 02生成歌曲与纯音乐
  3. 03支持多语言人声
  4. 04修订指定时间段音频
  5. 05向曲目前后延长内容
  6. 06通过 RunComfy CLI 调用模型

适用场景

  1. 01制作广告短曲、游戏循环或背景音乐
  2. 02生成多语言人声歌曲
  3. 03替换现有曲目的某个片段
  4. 04为曲目添加前奏或尾奏

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/genmedia-labs/skills --skill ai-music

安装后在 Claude Code 中输入/ai-music确认已加载。

详细介绍

AI 音乐

通过一个 CLI,在 RunComfy 上生成 AI 音乐——演唱歌曲、纯音乐、广告歌曲、游戏循环、多语言翻唱。此技能会根据用户的实际意图,从 RunComfy 目录中挑选合适的模型,并提供文档中说明的提示词模式,以及每个模型对应的精确 runcomfy run 调用命令。

runcomfy.com · 音频模型 · CLI 文档

安装此技能

npx skills add agentspace-so/runcomfy-agent-skills --skill ai-music -g

由 RunComfy CLI 提供支持

步骤 1 — 安装(任选一种,详情请参阅 runcomfy-cli 技能):

npm i -g @runcomfy/cli         # global install
npx -y @runcomfy/cli --version # zero-install

步骤 2 — 登录(或在 CI / 容器中设置 RUNCOMFY_TOKEN 环境变量):

runcomfy login

步骤 3 — 生成音乐:

runcomfy run <vendor>/<model>/<endpoint> \
  --input '{"prompt": "...", ...}' \
  --output-dir ./out

CLI 深入指南:runcomfy-cli 技能。


根据用户意图挑选合适的模型

文本生成音乐(从头生成)——按最新版本排序

ACE Step 1.5 — acestep-ai/ace-step-1.5/text-to-audio

最新版 ACE Step 生成模型。支持 50 多种语言的演唱,对结构化歌词的处理经过优化,每秒 $0.0003。开放权重(Apache 2.0)。 适用于:多语言发布、非英语演唱歌曲、需要 ACE 高品质输出的场景。 不适用于:追求最精致商业演唱副歌的场景(可尝试 ElevenLabs Music),或对成本敏感的批量任务(可尝试基础版 ACE Step)。

ElevenLabs AI Music Generation — elevenlabs/elevenlabs/music-generation

高级 44.1 kHz 立体声,时长 5 秒至 5 分钟,可控制各个段落(前奏/主歌/副歌/桥段),支持多语言演唱,适合商业用途。每秒 $0.0083(约为 ACE Step 的 27 倍)。 适用于:品牌重点营销活动、精致的演唱副歌、高端商业音乐、广告音乐。 不适用于:大量草稿/背景音乐库——成本会占主导。

ACE Step(基础版) — acestep-ai/ace-step/text-to-audio (对成本敏感的任务默认使用)

原版 ACE Step。通过标签控制创作,可选歌词,支持 5–240 秒立体声。每秒 $0.0002——RunComfy 上可通过 CLI 调用的音乐模型中成本最低。 适用于:背景音乐库、广告歌曲、游戏循环、草稿、对成本敏感的迭代。 不适用于:高端演唱副歌——请使用 ElevenLabs Music 或 ACE Step 1.5。

编辑现有音频——仅限 ACE Step(ElevenLabs 没有编辑端点)

ACE Step audio-inpaint — acestep-ai/ace-step/audio-inpaint

在现有曲目中重新生成指定时间范围的内容(start_time / end_time,可锚定到曲目的开头或结尾)。 适用于:修复不理想的副歌、替换桥段、替换 20 秒片段而无需重新渲染整首曲目。 不适用于:未按时间范围限定的编辑(请改用源模型的文本生成音乐功能)。

ACE Step audio-outpaint — acestep-ai/ace-step/audio-outpaint

双向延长现有曲目——在前面添加前奏、在后面添加尾奏,或两者兼加(extend_before_duration / extend_after_duration)。 适用于:将 30 秒的副歌延长为 2 分钟的曲目、添加淡出、围绕现有副歌构建更长的编曲。 不适用于:将总时长延长至 4 分钟以上——请串联调用。

Agent 会读取这些表格、对用户意图进行分类(高端还是成本敏感 · 多语言 · 演唱还是纯音乐 · 生成还是编辑),并选择下方对应的小节。


路由 1:ElevenLabs AI Music Generation——高端

模型:elevenlabs/elevenlabs/music-generation 完整架构和使用技巧:请参阅专门的 elevenlabs-music-generation 技能。

快速调用
runcomfy run elevenlabs/elevenlabs/music-generation \
  --input '{
    "prompt": "Upbeat indie-pop anthem, bright electric guitars, driving drums, 120 BPM, female lead vocal. [Intro 8 bars] instrumental build. [Verse] Chalk on the palms, laces double-knotted. [Chorus] We rise, we strike, we never fade out. [Outro] full band, fade.",
    "music_length_ms": 60000
  }' \
  --output-dir ./out

ElevenLabs Music 使用一个 prompt,其中包含风格简介和带有段落标记的歌词。无演唱时设置 force_instrumental: true。每秒 $0.0083——草稿生成较短版本,最终版生成较长版本。


路线 2:ACE Step / ACE Step 1.5 — 低成本、开放权重

模型:acestep-ai/ace-step/text-to-audio(基础版)或 acestep-ai/ace-step-1.5/text-to-audio(1.5) 完整架构 + 技巧:请参阅专门的 ace-step 技能。

快速调用
runcomfy run acestep-ai/ace-step-1.5/text-to-audio \
  --input '{
    "tags": "indie pop, anthemic, electric guitar, driving drums, female vocal, 120 BPM",
    "lyrics": "[Verse]\nChalk on the palms\nMorning on the ridge\n[Chorus]\nWe rise, we strike, we never fade out",
    "duration": 60
  }' \
  --output-dir ./out

ACE Step 将风格放入 tags,并将人声内容放入 lyrics(使用 [Verse]/[Chorus]/[Bridge] 标记,或使用 [inst] 表示纯音乐)。1.5 版本支持 50 多种语言的人声。


路线 3:ACE Step audio-inpaint — 修复片段

runcomfy run acestep-ai/ace-step/audio-inpaint \
  --input '{
    "audio": "https://your-cdn.example/song.mp3",
    "tags": "indie pop, breakdown, piano only, soft, no drums",
    "start_time": 20,
    "end_time": 40,
    "lyrics": "[inst]"
  }' \
  --output-dir ./out

start_time_relative_to 和 end_time_relative_to 默认为 start;设置为 end 可相对于曲目结尾定位(例如,无需计算精确时间戳即可重写最后 15 秒)。完整架构:ace-step 技能。


路线 4:ACE Step audio-outpaint — 延长曲目

runcomfy run acestep-ai/ace-step/audio-outpaint \
  --input '{
    "audio": "https://your-cdn.example/hook-30s.mp3",
    "tags": "indie pop, build-up before chorus, fade outro",
    "extend_before_duration": 30,
    "extend_after_duration": 60,
    "lyrics": "[inst]"
  }' \
  --output-dir ./out

一次调用即可双向延长 — 同时设置 extend_before_duration 和 extend_after_duration,即可一次添加前奏和尾奏。总时长上限为 4 分钟。


常见模式

高端品牌营销短曲(5–15 秒)
  • 路线 1(ElevenLabs Music) — 品质出众,混音精良。每次生成 $0.05–0.12。
大规模背景音乐库(50+ 首曲目)
  • 使用不同的标签组合选择路线 2(ACE Step 基础版)。$0.012 / 60 秒 × 50 = 50 个草稿共 $0.60。
多语言发布(同一首歌,8 种语言)
  • 路线 2(ACE Step 1.5) — 标签保持一致,按语言替换 lyrics。若成本不如品质重要,也可选择路线 1(ElevenLabs Music)。
游戏循环背景音乐
  • 路线 2(ACE Step 基础版),在标签中加入“无缝循环、节奏稳定”,时长为 60–120 秒。
视频主题曲
  • 路线 1(ElevenLabs Music),提供完整需求说明 + 歌词 + 段落标记,并将 music_length_ms 设为与视频时长匹配。
“我生成了一段 30 秒的副歌,但需要一首 2 分钟的曲子”
  • 路线 4(ACE Step audio-outpaint),将副歌作为 audio,一次调用添加 30 秒前奏 + 60 秒尾奏。
“第二段副歌效果不理想”
  • 路线 3(ACE Step audio-inpaint),将 start_time / end_time 设为错误副歌附近的时间,并使用与原曲风格相符的标签。
低成本草稿 → 高品质润色
  • 使用**路线 2(ACE Step 基础版)迭代标签,每次尝试 $0.01–0.02 → 确定风格 → 使用路线 1(ElevenLabs Music)**进行最终渲染,制作精良的商业成品。
修复不符合 ACE 时间范围架构的片段
  • 当前 CLI 不支持基于遮罩的音频修复端点。可以改用时间范围编辑方式描述,或使用路线 2调整标签并重新生成整首曲目。

决策流程(供 Agent 使用)

Agent 应询问或推断:

  1. 从头生成还是编辑现有音频?
    • 编辑 → 前往第 5 步
    • 生成 → 第 2 步
  2. 是否需要高端润色(品牌 / 商业用途)?
    • 是 → 路线 1(ElevenLabs Music)
    • 否 → 第 3 步
  3. 是否需要多语言人声?
    • 是 → 路线 2(ACE Step 1.5)
    • 否 → 第 4 步
  4. 是成本敏感型批量生成,还是单曲生成?
    • 成本敏感型 / 批量 → 路线 2(ACE Step 基础版)
    • 单首高品质曲目 → 路线 1(ElevenLabs Music)或路线 2(ACE Step 1.5) — 根据预算选择
  5. 编辑类型?
    • 重写指定时间范围内的片段 → 路线 3(audio-inpaint)
    • 在前 / 后添加内容 → 路线 4(audio-outpaint)

浏览完整目录


退出代码

code含义
0成功
64CLI 参数错误
65输入 JSON 错误/架构不匹配
69上游 5xx 错误
75可重试:超时/429
77未登录或令牌遭拒

完整参考:docs.runcomfy.com/cli/troubleshooting。

工作原理

该技能会将用户请求归类到四种路线之一——生成(ElevenLabs 或 ACE Step)与编辑(audio-inpaint 或 audio-outpaint),然后区分高端与成本敏感选项,并使用匹配的 JSON 请求体调用 runcomfy run <model_id>。CLI 会向 RunComfy Model API 发送 POST 请求、轮询请求状态,并将生成的音频文件下载到 --output-dir。按下 Ctrl-C 会在退出前取消远程请求。

安全与隐私

  • 仅通过经过验证的包管理器安装。 使用 npm i -g @runcomfy/cli 或 npx -y @runcomfy/cli。Agent 不得代表用户将任意远程安装脚本通过管道传入 shell 执行——如果操作员希望使用 docs.runcomfy.com/cli/install 中记录的 curl 管道安装方式,应先审查脚本。
  • 令牌存储:runcomfy login 会将 API 令牌写入 ~/.config/runcomfy/token.json,权限模式为 0600。在 CI/容器中设置 RUNCOMFY_TOKEN 环境变量可绕过该文件。切勿将令牌输出到提示词中、记录到日志或提交到代码库。
  • 输入边界(Shell 注入):提示词、标签、歌词和音频 URL 会作为 JSON 字符串通过 --input 传递。CLI 不会对提示词内容执行 shell 展开;它会通过 HTTPS 将 JSON 请求体直接发送到 Model API。提示词内容不存在 Shell 注入攻击面。
  • 间接提示词注入(第三方内容):用于 inpaint/outpaint 的源 audio URL 不可信——嵌入的隐写指令或异常 EXIF 可能影响生成。Agent 的缓解措施:
    • 仅导入用户为此任务明确提供的音频 URL。
    • 如果输出偏离提示词,应怀疑源音频。
  • 歌词来源:如果用户提供歌词,请确认其拥有相关权利。围绕受版权保护的歌词生成音乐由操作员负责——该技能不会进行检查。
  • 出站端点(允许列表):仅限 model-api.runcomfy.net 和 *.runcomfy.net/*.runcomfy.com。无遥测,无回调。
  • 生成文件大小上限:CLI 会中止任何超过 2 GiB 的单个下载。
  • Bash 使用范围:声明了 allowed-tools: Bash(runcomfy *)。该技能仅调用 runcomfy <subcommand>;安装命令仅供操作员一次性设置。

另请参阅

评论

支持 Markdown