|
|
пре 2 часа | |
|---|---|---|
| bin | пре 2 часа | |
| lib | пре 2 часа | |
| references | пре 2 часа | |
| scripts | пре 2 часа | |
| templates | пре 2 часа | |
| .gitignore | пре 2 часа | |
| LICENSE | пре 2 часа | |
| README.md | пре 2 часа | |
| SKILL.md | пре 2 часа | |
| package.json | пре 2 часа |
纯 AI 音乐 MV 全流程技能 —— 从一句主题到成片,全程零实拍。 两条产线:AI 单曲 MV 与 AI 口播讲解视频,共用同一套底层模块。
把「作曲填词 → AI 生成音乐 → AI 制作 MV」整条链路固化成一个可复用、可照跑的技能仓库。 任意数字生命克隆本仓即可开工:
git clone https://git.fmode.cn/fmode-13177980648/skill-mv.git
cd skill-mv
node bin/fmode-mv.js doctor # 环境自检
node bin/fmode-mv.js providers # 看哪条通道能用
node bin/fmode-mv.js song "深夜末班地铁上的城市白领" # 端到端跑一条 MV
纯 AI 生成,不依赖实拍 —— 现实拍摄素材最多作参考图/参考音。
# 1. 依赖:Node ≥ 18 + ffmpeg(零 npm 依赖)
node -v && ffmpeg -version | head -1
# 2. 凭据(三选一,绝不硬编码)
export FEME_API_TOKEN=<你的 token>
# 或写入 /opt/data/fmode-identity.json 的 newapi_token 字段
# 3. 自检
node bin/fmode-mv.js doctor
# 4. 产线A:AI 单曲 MV
node bin/fmode-mv.js song "深夜末班地铁上的城市白领" --genre "city pop" --mood "孤独但温暖"
# 5. 产线B:AI 口播讲解视频
node bin/fmode-mv.js talk "三分钟讲清楚什么是多租户数据隔离" --duration 90
装成全局命令(可选):
npm link
fmode-mv song "主题"
两条产线共用同一套底层模块(图像生成 / 视频生成 / 音频处理 / 剪辑 / provider 接口), 只是编排不同。
歌曲主题 → 作曲填词 → AI 音乐 → 人声/伴奏分离 → 场景&人物关键帧
→ 图生视频(B-roll 空镜 + 人物演唱镜头,每段 5~8 秒)
→ 唇形驱动 → 剪辑合成(卡点 + 字幕)→ out/mv.mp4
口播需求 → 口播稿 → TTS 配音 → 讲解画面 → 场景切换 B-roll
→ 剪辑合成 → out/talk.mp4
| 环节 | 现状 | 说明 |
|---|---|---|
| 作曲填词 / 分镜 / 口播稿 | ✅ 可用 | POST /v1/chat/completions |
| 场景 / 人物关键帧 | ✅ 可用 | POST /v1/images/generations(gpt-image-2.5-sunburst) |
| 剪辑 / 合成 | ✅ 可用 | 本地 ffmpeg:拼接/混音/字幕/卡点/响度归一化 |
| AI 音乐 | ⚠️ 端点存在,渠道未开通 | /suno/submit/music 返回 503 |
| 图生视频 | ⚠️ 无可用渠道 | /v1/video/generations 返回 503 |
| 唇形驱动 | ⚠️ 平台暂无通道 | 留 provider 接口 + 外部对接说明 |
| TTS 口播配音 | ⚠️ 平台暂无通道 | 本地 edge-tts 可替代(自动探测) |
| 音轨分离 | ◐ ffmpeg 近似 / demucs 可选 | 需要真·分离请装 demucs |
fmode-mv providers # 随时查看最新状态
fmode-mv providers --deep # 深度探活(会真实提交,可能计费)
绝不静默失败,绝不编造产物。
ProviderUnavailableError,打印可操作方案。.fallback,报告里明说「N 段为兜底运镜(非真 AI 图生视频)」。替代路线速查:
| 缺失能力 | 立即可用的替代 |
|---|---|
| AI 音乐 | --music your-song.mp3 自备音频 |
| 图生视频 | 自动 Ken Burns 兜底;或 FEME_VIDEO_MODEL 换已开通模型 |
| 唇形驱动 | 自建 Wav2Lip/SadTalker + FEME_LIPSYNC_ENDPOINT;或改用表情微动镜头;或纯空镜+字幕 |
| TTS | pip install edge-tts(免费本地,自动探测);或 FEME_TTS_ENDPOINT |
详见 references/capability-matrix.md。
| 命令 | 作用 | 通道 |
|---|---|---|
fmode-mv song "主题" |
产线A 端到端 | 全链路 |
fmode-mv talk "主题" |
产线B 端到端 | 全链路 |
fmode-mv lyrics "主题" |
作曲填词 | chat |
fmode-mv storyboard --from work/song.json |
分镜脚本 | chat |
fmode-mv music --from work/song.json |
AI 音乐 | music |
fmode-mv separate <audio> |
人声/伴奏分离 | 本地 |
fmode-mv keyframe --from work/storyboard.json |
关键帧 | image |
fmode-mv video --from work/storyboard.json |
图生视频 | video |
fmode-mv lipsync --probe |
唇形驱动 | lipsync |
fmode-mv tts --from work/script.md |
口播配音 | tts |
fmode-mv assemble --from work/storyboard.json --music a.mp3 |
剪辑成片 | 本地 |
fmode-mv providers [--deep] |
能力现状表 | — |
fmode-mv doctor |
环境自检 | — |
每个命令都支持 --help。
省钱三招:--dry-run 先看 prompt、--limit 2 先跑通全链路、产物在 work/ 只重跑不满意的单步。
| 文件 | 内容 |
|---|---|
SKILL.md |
技能主文档(设计要点、工作流、产物结构) |
references/pipeline-a-song-mv.md |
产线A 完整 SOP(逐步命令 + 避坑) |
references/pipeline-b-talking.md |
产线B 完整 SOP |
references/prompt-templates.md |
提示词模板库(歌词/分镜/人物一致性/空镜/口播) |
references/capability-matrix.md |
★能力现状表与替代方案 |
templates/storyboard.schema.json |
分镜数据结构 |
lib/providers.mjs 是唯一通道注册表,模型名与端点全部可被
环境变量或身份文件覆盖,换通道不用改代码。appearanceAnchor 被逐镜头复述进每张关键帧 prompt。
这是纯 AI 出片最容易翻车的地方。.fallback 后缀或 status: fallback,
用户永远能分清哪些是真 AI 生成、哪些是兜底替代。fetch,零 npm 依赖)apt-get install -y ffmpeg / brew install ffmpeg)FEME_* 环境变量 > /opt/data/fmode-identity.json > 兼容旧名 FMODE_*)可选:demucs(高质量音轨分离)、edge-tts(免费 TTS)、fonts-noto-cjk(中文字幕字体)
fmode-mv doctor # 一次查完全部依赖
MIT © Fmode
FmodeCode / FmodeAgent · v0.1.0