复刻视频+深度付费 · 爆款视频 → 深度图控制素材 + 反推提示词
把一段真实视频,在不改动人物/动作/服饰/场景/面部五官/构图的前提下,产出可直接用于 AI 视频模型「深度图控制 / 图生视频」复刻的两类素材:
1. 深度图版 mp4(近亮远暗灰度,depth 控制信号);
2. 反推提示词(中文总提示词 + Seedance 2.0 可直接粘贴版),描述如何以该深度图为控制重建「3D 空间视差 + 背景轻微虚化」效果。
When to use
- 用户说"复刻视频""深度付费""做深度图控制素材",或给一段视频要求:"深度视频、深度图控制、3D 视差、背景虚化、空间纵深感",且强调"人物/面部五官/服饰/构图完全不变、无畸变、无崩坏"。
- 目标是拿到 depth 控制信号(深度图)+ 反推复刻提示词,用于喂给可灵 / 即梦 / WAN / Seedance 等做深度控制复刻。
- 输入任意比例均可,输出保持原分辨率(竖屏 9:16 最常见)。
交付物(仅 2 项)
<base>_深度图版.mp4—— 近亮远暗灰度深度图,depth 控制信号(seedance / 可灵 / WAN / 即梦)。<base>_深度视差_反推提示词.md+<base>_Seedance2.0_深度视差_可直接粘贴.txt—— 复刻提示词(中文总提示词 + Seedance 2.0 五镜头结构化可直接粘贴版)。
> base = 输入文件名(去扩展名)。全程无声输出。
> 可选:--parallax 额外生成 <base>_深度视差版.mp4(原片 RGB + 3D 视差 + 背景轻微虚化),但不计入默认交付。
阶段 0:付费门(必做,先于任何产出)
本技能为付费能力,0.5 元 / 次,模式 A、模式 B 及各附加项统一计费一次。任何渲染、抽帧、提示词产出之前,必须先通过付费门。
PY="C:/Users/HUAWEI/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
S="C:/Users/HUAWEI/.workbuddy/skills/复刻视频+深度付费/scripts"
"$PY" "$S/pay_gate.py" ensure --input "<输入视频.mp4>" --mode A # 有 --parallax 就一并带上
按退出码分支,只有 0 才继续:
| 退出码 | 含义 | 必须怎么做 |
|---|---|---|
| 0 | 已付费 | 继续阶段 A / B |
| 2 | 需付款(HTTP 402) | 把输出里的订单号、金额、支付链接/二维码原样转述给用户,停下等用户确认已支付;不得代付、不得跳过 |
| 3 | 支付处理中 | 告诉用户稍后再执行同一命令,禁止重复下单 |
| 4 | 订单状态不明 | 先 pay_gate.py status --input ... --mode ... 查单,禁止新建订单 |
| 1 / 5 | 配置缺失 / 网关错误 | 停止执行,说明缺什么(见 references/pay_setup.md 第 8 节),不要用本地渲染兜底冒充结果 |
规则:
- 同一请求复用同一订单:订单键由「输入内容指纹 + 模式 + --parallax」决定,用户付完款重跑同一条命令会自动命中原订单,不重复扣款。
- 支付失败时也是复用原订单重新取支付链接,不新开单。
- 成功路径不追加回执:支付状态即授权,不再调用任何「回执/确认」接口,也不额外发通知。
- 真实接口未部署时把 pay.config.json 的 mock 置 true 走本地 mock 网关自测;mock=false 且签名未接入会直接退 1,不会发起真实付款。
配置与联调细节见 references/pay_setup.md(配置文件 pay.config.json,模板 pay.config.example.json)。
阶段 A:环境 + 深度图渲染
A1. 准备 Python 隔离环境(仅首次)
PY="C:/Users/HUAWEI/.workbuddy/binaries/python/versions/3.13.12/python.exe"
"$PY" -m venv "C:/Users/HUAWEI/.workbuddy/binaries/python/envs/default"
PIP="C:/Users/HUAWEI/.workbuddy/binaries/python/envs/default/Scripts/pip"
"$PIP" install --quiet onnxruntime opencv-python-headless numpy pillow imageio-ffmpeg
RUN="C:/Users/HUAWEI/.workbuddy/binaries/python/envs/default/Scripts/python"
A2. 模型(外部缓存,技能包内不含)
需要 Depth Anything V2(small)fp32 ONNX,model_fp32.onnx(约 94 MB)。该模型不随技能包分发(技能包体积限制 10 MB),放在技能目录之外,脚本按以下顺序自动查找:
--model <绝对路径>- 环境变量
DEPTH_ANYTHING_ONNX C:/Users/HUAWEI/.workbuddy/models/depth_anything_v2_small/model_fp32.onnx(当前已就位,默认命中)D:/AI-Models/depth_anything_v2/model_fp32.onnx- 技能内
models/model_fp32.onnx(用户自行放回时兼容)
全部缺失时脚本会打印已查找路径清单并退出。此时把一个 model_fp32.onnx 放到上述任一位置即可,或用 --model 指定;不要试图安装体积超标的依赖包。
A3. 运行渲染(默认只出深度图版)
cd "D:/workbuddy工作空间/全美灰度视频" # 或任意工作目录
"$RUN" "C:/Users/HUAWEI/.workbuddy/skills/复刻视频+深度付费/scripts/depth_parallax.py" \
"<输入视频.mp4>" "<输出目录>"
# 仅深度图版 mp4;如需额外视差版 RGB 视频加 --parallax
- 视差/虚化参数(
--amp/--blur/--far/--sigma-bg/--vert/--ref/--period)仅在--parallax时生效。 - 运镜周期默认=整片时长,正弦横移+相位差垂直,首尾归零(构图不变)。
A4. 校验(必做)
抽中段帧肉眼核对深度图(用 ffmpeg 抽帧,避免中文路径 cv2.imwrite 静默失败):
- 近处主体(人物)应明显偏亮、背景/远景偏暗 → 深度层级正确;
- 边界无块状异常、无全黑/全白;
- 逐帧变化平滑(无剧烈闪烁)。
阶段 B:反推提示词(默认必交付,与阶段 A 并行或之后)
B1. 分析原片
抽 4–6 张关键帧(-ss 0.2/3/5/7/9/10 秒)肉眼分析:主体、场景、动作、字幕、音频。
B2. 套用模板
读取 references/reverse_prompt_template.md,把分析结果填入 {{...}},产出:
- <base>_深度视差_反推提示词.md
- <base>_Seedance2.0_深度视差_可直接粘贴.txt
B3. 反推要点
- 深度约束必写进正文:"使用附带深度图视频作 depth 控制;保留人物/构图不变;3D 视差+背景轻微虚化"。
- 平台差异化:seedance 用 5-shot 结构化;可灵/即梦/WAN 用深度图版 mp4;Sora/Veo/Runway/Pika 用英文版 + camera motion="static/minimal parallax"。
- 提示词聚焦"复刻效果",不重写原片台词/剧情。
完整执行清单(默认)
- 过付费门
pay_gate.py ensure(退出码 0 才继续;2/3/4 见阶段 0 表格)。 - 准备 venv(首次)。
- 确认
model_fp32.onnx就位(外部缓存路径见 A2,缺失时按 A2 处理)。 - 跑
depth_parallax.py→ 产出<base>_深度图版.mp4。 - 抽帧校验深度图层级/平滑,否则重跑。
- 分析原片 → 套模板产出
<base>_深度视差_反推提示词.md+<base>_Seedance2.0_深度视差_可直接粘贴.txt。 present_files一次性交付 2 项(深度图版 mp4 + 2 个提示词文件)。
(如需视差版 RGB 视频,加--parallax后再交付。)
技能包结构
SKILL.md 本文件(含付费门流程)
pay.config.example.json 支付配置模板(复制为 pay.config.json 后填写)
references/reverse_prompt_template.md 反推提示词模板
references/pay_setup.md 付费门安装/契约/联调/打包/待补配置
scripts/depth_parallax.py 深度图渲染(业务核心,未改动)
scripts/pay_gate.py 付费门 CLI(quote / ensure / status / show)
scripts/pay_adapter.py 唯一对接真实接口处(签名由官方技能注入)
scripts/mock_pay_server.py 本地模拟网关
scripts/test_pay_gate.py 七场景自测(22 项断言)
> 包内不含 .gitignore / .git / .DS_Store / .env / pay.config.json / 状态文件 / node_modules / *.onnx —— SkillHub 上传禁止这些类型。
Notes
- 体积约定:技能包必须 <10 MB。大体积二进制(ONNX 权重等)一律放技能目录外并用路径/环境变量引用,禁止塞进
models/或assets/。 - ffmpeg 一律用
imageio_ffmpeg.get_ffmpeg_exe();抽帧别用cv2.imwrite写中文路径。 - CPU 推理(仅深度估算)约 1–3 s/帧,330 帧约 5–10 分钟,属正常;加
--parallax会再慢一些。 - 深度图近不亮/远不暗 → 检查
prep归一化;闪烁 → 升--sigma-s。 - 付费门与模式无关:模式 A / 模式 B /
--parallax附加项,同一次请求只收一次 0.5 元;同一输入重跑命中已有订单,不重复收费。 - 订单台账不在技能目录:写在
~/.workbuddy/.pay-state/<skill_id>.json(可用PAY_STATE_DIR覆盖),因此打包天然不含状态文件;pay.config.json、.env、node_modules、.onnx靠显式排除清单拦掉(本包不放.gitignore,SkillHub 会拒收)。 - 不要自己实现签名 / 付款 / 验签:一律走
pay_adapter.py的signer.cmd调官方支付技能。缺签名时宁可直接报错停下,也不要拼一个假签名。
模式 B:复刻前置处理(黑白版 + 动作提示词反推)
用户要求"黑白版 / 动作提示词 / 提取动作用于 AI 复刻"时走本模式。与模式 A 可叠加(同一视频既出深度图版也出黑白版 + 动作提示词)。
模式 B 同样必须先过阶段 0 付费门(0.5 元/次,不因模式或叠加产出而加价)。
B0. 抽帧分析(动作提示词的依据)
ffmpeg -i 输入.mp4 -vf "fps=2,scale=540:-1" -q:v 2 frames/f_%02d.jpg
用 PIL 拼 6 列网格图(每格缩到高 300px、标注时间戳)→ 一次 Read 看全片动作流。再挑 3-4 张关键帧 Read 确认细节(道具、手法)。
长视频(>20s 或 >500 帧)网格会小到看不清:改用 fps=0.5~1 重抽,每格高 430px、4 列拼大图。
B1. 黑白版(纯去色,默认无声)
ffmpeg -i in.mp4 -vf "hue=s=0,eq=contrast=1.12:brightness=0.02" -c:v libx264 -crf 17 -pix_fmt yuv420p -an bw.mp4
用户已明确不需要声音(2026-09-07):一律输出无声版,不生成 _带原声.mp4。
B2. 先做类型判定,再决定产出什么
- 实拍连续动作类(上妆/变装/描画/展示)→ 产动作提示词(见 B3)
- 图文口播带货类(字幕贴片+对比图+跳切+变速)→ 不产动作提示词,写「类型判定说明.md」记录口播结构与借鉴点
- 口播金句类(人物对镜头说话+手势)→ 产 Seedance 口播版提示词:台词用
{}包裹(音视频联合生成、口型自动对齐),手势写具体动作(点指/摊掌/交叠),约束写「不生成字幕,字幕由后期添加」 - 多场景混剪类 → 不产整片提示词,标注可复刻单段并引用对应段的提示词
B3. 动作提示词反推(基于网格图+关键帧观察)
产出 MD 文档,必含 5 部分:
1. 中文一段式总提示词(动作按时间顺序、道具特征、镜头景别、光线、背景)
2. 英文一段式 prompt(同内容,另存纯文本 .txt 方便粘贴)
3. 分镜时间轴表:时间 | 动作 | 提示词要点(1.5-3s 一段)
4. 场景与人物要素卡(人物/服装/道具/镜头/光线/背景)
5. 复刻使用建议(首帧+提示词 / depth 控制视频 / 分段生成 / 换品类改编公式)
另从 MD 提取 Seedance 版提示词存 Seedance2.0_提示词_可直接粘贴.txt(免复制)。
五大可复用动作结构(十条爆款实证):
1. 上妆实测:挤/涂 → 工具拍匀 → 移开展示 → 定格
2. 细节描画:工具描画 → 移开 → 转头多角度展示
3. 变装/变妆:铺垫 → 遮镜或直切转场 → 新造型亮相 → 左右转头展示。约束写「遮挡后立即完整呈现新造型,无渐变」+「前后同一人」
4. 前后对比测评:问题状态 → 涂产品 → 渐变改善 → 拨弄展示。约束相反:「变化自然渐进」——两种结构别混用
5. 口播金句:见 B2 第 3 条
B4. 附加交付
- 原片 vs 深度图并排对比:
ffmpeg -i in.mp4 -i depth.mp4 -filter_complex "[0:v]scale=540:-2[a];[1:v]scale=540:-2[b];[a][b]hstack" out.mp4 - 首帧 PNG(图生视频起始帧):
ffmpeg -i in.mp4 -frames:v 1 -q:v 2 first_frame.png
B5. 批量处理(多条视频时)
参考模板:D:/workbuddy工作空间/全美灰度视频/batch_pipeline.py,两条铁律:
- 临时文件统一写 tempfile.gettempdir() 并覆盖复用,绝不循环 os.remove——WorkBuddy 沙箱有批量删除保护,一轮删超 50 个文件会触发 SAFE_DELETE_BULK_CONFIRM_REQUIRED 直接杀进程
- 断点续跑:输出目录已存在 *_黑白深度图版.mp4 且 >100KB 则跳过(长批量任务随时可能被中断)
模式 B 交付清单模板
黑白深度图版.mp4、黑白版.mp4(无声)、动作提示词反推.md、Seedance2.0_提示词_可直接粘贴.txt、原片vs深度图_对比.mp4、首帧.png → 一次性 present_files,深度图版放第一位。
<div align="right">
复刻视频+深度付费 · 0.5 元/次 · 安装与联调见 INSTALL.md
</div>