凤希AI - 视频生成V2
The video generator that made the transition frame an explicit citizen
- 图片序列
- 音频
- 过渡帧引导
- 过渡帧
- 视频文件路径
- 保存目录
- 实际帧数
FxAiVideoGeneratorV2 ("凤希AI - 视频生成V2") is the first real upgrade over the base generator. V1 quietly stripped the last frame and moved on; V2 makes the transition frame a first-class input and output - which is the pack's whole continuity story, made explicit. If you're building a segmented long-video loop, this is where the "smooth join between segments" actually gets handled.
What changed
Two new optional inputs and two new outputs:
- 过渡帧数 (INT, default 1) - how many frames at the end of the sequence are transition frames. The node now strips this many frames before encoding (V1 always stripped exactly one).
- 过渡帧引导 (IMAGE) - an optional guide image. If provided, the first frame of it is appended to the transition frames. This is the "anchor" - you're telling the next segment "continue from here."
New outputs:
- 过渡帧 - IMAGE. The transition frames that were removed from the encoded video, now handed to you as a wire, with the guide frame appended if you supplied one. Feed this into the next loop iteration as its starting reference.
- 实际帧数 - INT.
total_frames - 过渡帧数, i.e. the real number of frames in the rendered video. Wire this into your loop bookkeeping so counts stay honest.
Why the transition frame matters
This is the mechanism behind the pack's "人物不变形、画面不跳变" (no character morphing, no scene jumping) pitch. Each segment's last few frames carry the motion and lighting state forward into the next segment's generation - the loop literally reuses them as context. Without that handoff, every segment restarts from noise and you get the classic "new face every 5 seconds" artifact that plagues naive segmented generation. V2 is where this pack stops being a frame-counter and becomes a continuation engine.
How it works
Same ffmpeg encode as V1 - raw frames piped to stdin, libx264 CRF 17, yuv420p, audio muxed as AAC 192k if present, saved to ComfyUI/fxai/video/<目录>/NNN.mp4. The transition frames are carved off before encoding, so the mp4 never contains them. Same silent-ffmpeg gotcha applies: stderr is suppressed, so a missing ffmpeg gives you an empty path with no explanation.
The inputs and outputs that matter
You'll set 过渡帧数 (keep it at 1 unless you're doing longer crossfades) and wire 过渡帧引导 from your previous iteration's 过渡帧 output. The rest is identical to V1: 图片序列, 目录 (default "sucai"), 帧率FPS, 视频序号, optional 音频.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/fxai666/fxai-toolkit
Restart ComfyUI, or use ComfyUI Manager and search "fxai-toolkit". Same dependency story as V1 - system ffmpeg plus the pack's auto-installed soundfile/psutil. If you're starting fresh on a segment-loop workflow, start here rather than V1: the explicit 过渡帧 output is worth the extra two sockets.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| 图片序列 | IMAGE | — | |
| 目录 | STRING | sucai | — |
| 帧率FPS | INT | 24 | — |
| 视频序号 | INT | 0 | — |
| 音频opt | AUDIO | — | |
| 过渡帧数opt | INT | 1 | — |
| 过渡帧引导opt | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| 过渡帧 | IMAGE | — |
| 视频文件路径 | STRING | — |
| 保存目录 | STRING | — |
| 实际帧数 | INT | — |