feat: 新增角色图→八方向行走动画一体化工作流(打通 VIDEO→IMAGE)
把原来分开的两个工作流合并成一条链:角色图 → 八方向静态图 → Seedance 循环视频 → 抽帧 → 抠图 → 八方向拆分 → 8 个透明 webm + 8 组序列帧。 断点在于 Seedance 输出的是 ComfyUI 的 VIDEO 类型,而八方向拆分要 IMAGE 帧序列,VHS「Load Video」只能从文件读、接不上 VIDEO。 桥梁用 ComfyUI 原生的 GetVideoComponents(comfy_extras/nodes_video.py, image/video 分类):输入 VIDEO,输出 images/audio/fps。Holopix 插件的 README 也明确写了可直接连接原生 Get Video Components,且它内部先把视频 下载到本地再包装成 VIDEO,解码没问题。因此没有为此新写任何节点。 帧率处理:Seedance 出 720p/4s/24fps≈97 帧,游戏行走循环 8~12 帧即够, 中间加 VHS Select Every Nth Image 抽帧(间隔 3 → 8fps ≈32 帧), 输出帧率同步设 8。这两个值必须匹配否则播放速度不对,已写进 Note。 另外保留一份 SaveVideo 留存 Seedance 原始视频:生成是付费的,后半段 调参时可用另一个工作流单独重跑,不必重复花钱。⑤ 生成静态图后有预览节点, 布局/朝向不对可在此止损。 抠图沿用用户原有的 LayerMask BiRefNetUltraV2,拆分节点 bg_mode 相应设为 「已带透明通道」——这套提示词要求纯黑背景,颜色阈值法本就不适用。 工作流由脚本循环生成(8 路重复),结构自洽性已逐项校验: links 与节点 inputs/outputs 双向一致、无越界、无悬空引用、 拆分节点 widget 数 13 与定义相符、8 方向各连出 2 条。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
cc6a6e3400
commit
5e9e1e6a84
@@ -1036,15 +1036,26 @@ WAS Node Suite 的「Text Multiline」会把 `#` 开头的行**当注释删除**
|
|||||||
|
|
||||||
| 步骤 | 由谁完成 |
|
| 步骤 | 由谁完成 |
|
||||||
|:-----|:---------|
|
|:-----|:---------|
|
||||||
| 角色图 → 八方向静态图 | GPTimage2 等外部工具 |
|
| 角色图 → 八方向静态图 | GPTimage2 / Holopix Universal Edit 等 |
|
||||||
| 静态图 → 循环行走视频 | Seedance 首尾帧等外部工具 |
|
| 静态图 → 循环行走视频 | Seedance 首尾帧等 |
|
||||||
| 视频 → 序列帧(可选帧率)| VHS「Load Video」的 `force_rate` |
|
| 视频 → 序列帧 | 从文件读用 VHS「Load Video」;**接在视频生成节点后面用原生「Get Video Components」** |
|
||||||
|
| 抽帧(降帧率)| VHS「Select Every Nth Image」|
|
||||||
|
| 抠图(提供语义级 alpha)| Lucida / BiRefNet 等 |
|
||||||
| **拆分 + 编号 + 分组 + 8 队列输出** | **本节点** |
|
| **拆分 + 编号 + 分组 + 8 队列输出** | **本节点** |
|
||||||
| 8 组透明 PNG 序列帧 | `SaveImage`(4 通道输入会自动存成 RGBA)|
|
| 8 组透明 PNG 序列帧 | `SaveImage`(4 通道输入会自动存成 RGBA)|
|
||||||
| 8 个透明 webm | VHS「Video Combine」,`format=video/webm` + `pix_fmt=yuva420p` |
|
| 8 个透明 webm | VHS「Video Combine」,`format=video/webm` + `pix_fmt=yuva420p` |
|
||||||
|
|
||||||
整条链路只有拆分环节是缺失的,其余全部复用成熟实现。
|
整条链路只有拆分环节是缺失的,其余全部复用成熟实现。
|
||||||
|
|
||||||
|
**两个示例工作流**:
|
||||||
|
- [八方向行走动画.json](example_workflow/八方向行走动画.json):从**已有视频文件**出发(VHS Load Video)
|
||||||
|
- [角色图到八方向行走动画(一体化).json](example_workflow/角色图到八方向行走动画(一体化).json):**从角色图一路到成品**,把生图、生视频、拆分、导出串成一条链
|
||||||
|
|
||||||
|
一体化工作流的关键是打通 `VIDEO → IMAGE`:视频生成节点输出的是 ComfyUI 的 `VIDEO` 类型,而 VHS「Load Video」只能从文件读、接不上。用 ComfyUI **原生的「Get Video Components」**(`image/video` 分类)即可,输入 VIDEO、输出 images/audio/fps,不需要装任何额外插件。
|
||||||
|
|
||||||
|
⚠️ **帧率两处必须匹配**:Seedance 出的是 24fps,抽帧间隔与输出帧率要对应,否则 webm 播放速度不对。
|
||||||
|
`select_every_nth=3` ↔ `frame_rate=8`;要 12fps 就用 `2` ↔ `12`;要全量 24fps 就用 `1` ↔ `24`。
|
||||||
|
|
||||||
**输入参数**:
|
**输入参数**:
|
||||||
- `images` (IMAGE): 视频转出的序列帧
|
- `images` (IMAGE): 视频转出的序列帧
|
||||||
- `masks` (MASK, 可选): **上游抠图节点的遮罩,强烈建议接上**(见下方「透明通道怎么来」)
|
- `masks` (MASK, 可选): **上游抠图节点的遮罩,强烈建议接上**(见下方「透明通道怎么来」)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user