凤希AI - 视频生成V3
The generator that finally made audio a required input
- 图片序列
- 音频
- 过渡帧引导
- 视频帧序列
- 过渡帧
- 视频文件路径
- 保存目录
- 实际帧数
FxAiVideoGeneratorV3 ("凤希AI - 视频生成V3") is the generation of the render node where the pack started taking both the low-VRAM promise and audio seriously. Two changes define it: 音频 is now a required input, and there's a new 视频帧序列 input that accepts video-format frames as an alternative source. Plus the node visibly cleans up after itself, which is the "低配设备稳定运行" pitch showing up in code.
What changed vs. V2
- 音频 required. V1 and V2 treated audio as optional. V3 makes the AUDIO socket a required input - the pack's segment pipeline assumes every rendered segment carries sound (the audio-slice nodes like FxAiSingleAudioProc exist to feed exactly this socket). If you don't want audio, wire in a silent track rather than leaving it empty, or this node's graph will refuse to validate.
- 视频帧序列 (IMAGE, optional) - if you feed this, it takes priority over 图片序列 as the frame source. This matters in the pack's ecosystem because its other nodes produce "video-format" frame tensors; now you can render those directly without converting.
- 视频序号 defaults to
-1instead of0. And here's the meaning that V1 fuzzed: negative means auto-number (pick the next free slot). That's now the explicit, sensible default. - After rendering, the node does
delon the big tensors, callsgc.collect(), and empties the CUDA cache. That's the memory discipline that keeps a 100-iteration loop from OOM-ing on an 8GB card - the pack's core selling point, visible in the source.
Inputs and outputs that matter
Required: 图片序列 (IMAGE), 音频 (AUDIO), 目录 (default "sucai"), 帧率FPS (24), 视频序号 (-1 = auto-number). Optional: 过渡帧数 (default 1), 过渡帧引导 (IMAGE), 视频帧序列 (IMAGE).
Outputs: 过渡帧 (IMAGE), 视频文件路径 (STRING), 保存目录 (STRING), 实际帧数 (INT) - same shape as V2, so it drops into an existing V2 workflow unchanged.
The honest take
Is V3 a must-have over V2? Only if you want audio baked into every segment by construction, or if you're feeding it video-format frames and want to skip a conversion step. The memory hygiene is genuinely nice - this is the first generator that reads like it was written by someone who actually ran a 1,000-frame batch on a small GPU - but the encode quality is identical (same ffmpeg pipeline, CRF 17, yuv420p).
One trap: the audio you feed it needs to be the right length for the frames. The generator muxes with -shortest, so a short track truncates the video and a long track gets cut off. Feed it a segment-aligned slice (FxAiSingleAudioProc exists for exactly this) and the frame count and audio stay in sync.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/fxai666/fxai-toolkit
Restart ComfyUI, or use ComfyUI Manager and search "fxai-toolkit". System ffmpeg required (silent-failure gotcha applies here too - check ffmpeg -version if you get empty paths). No model downloads.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| 图片序列 | IMAGE | — | |
| 音频 | AUDIO | — | |
| 目录 | STRING | sucai | — |
| 帧率FPS | INT | 24 | — |
| 视频序号 | INT | -1 | — |
| 过渡帧数opt | INT | 1 | — |
| 过渡帧引导opt | IMAGE | — | |
| 视频帧序列opt | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| 过渡帧 | IMAGE | — |
| 视频文件路径 | STRING | — |
| 保存目录 | STRING | — |
| 实际帧数 | INT | — |