This is not just a basic Video-to-Video workflow. It features an automated First Frame Pre-Processing Pipeline that performs a head, face, body, and clothing swap on the extracted first frame of your source video before feeding it into the MiniMax H3 Reference-to-Video engine.
It allows you to seamlessly transfer motion, performance, and camera movement from a reference video while completely customizing the subject’s identity and outfit!
🔥 Key Features
Auto First-Frame Extraction & Swap: Automatically extracts the initial frame of your selected video duration and swaps the head/face/clothing with your uploaded image (
Picture 1) using SAM 3.1 & Flux Klein.Dual Operating Modes: Easily toggle between full character pre-processing and direct video-to-video style transfer.
⚙️ How to Use
🟢 Mode A: Full Face, Head & Clothing Swap (Default)
Load Video: Upload your reference motion video into
LoadVideoUIand adjust the start/end time. (Make sure the subject's face is clearly visible in the first frame of your selection).Upload Target Image: Place your desired character/outfit image into
Picture 1.Switch Node: Set the
Image Switch (JPS)node toSelect 2(Extracted Frame).Run the workflow!
🔵 Mode B: Direct Video-to-Video (No Pre-Swap)
Upload your reference video into
LoadVideoUI.Upload your source image into
Picture 1.Bypass Swap Group: Enable bypass on the
FACE CLOTHE SWAPgroup using the Fast Groups Bypasser.Switch Node: Set the
Image Switch (JPS)node toSelect 1(Picture 1).Run the workflow!
💬 Tips & Troubleshooting
Face Visibility: The pre-processing pipeline targets frame #1 of your selected video range. Always ensure the face is visible at the very start frame for optimal SAM 3.1 segmentation.
Do not use acceleration. You get bad results.
Custom Prompts: You can adjust the
Promptnode to fine-tune the retention vs. replacement ratios if needed.
Description
FAQ
Comments (7)
Hi. This error message appears at the “Save Video” node.
Validation failed
Save Video failed during validation: tuple index out of range
Could you help me out?
Check the Video Stream: Make sure the video link flowing from the inference/subgraph node into the SaveVideo node is fully processed and not empty/broken.
Change Codec/Format Settings: In the SaveVideo node options, try switching the format or codec (e.g., from h264 to another option) to ensure your local FFmpeg environment handles it properly.
..and update your comfyui. Update your main ComfyUI installation to the latest version via ComfyUI-Manager, as core video handling updates frequently.
Hmm the LoadImageWithFilename node from workflow-encrypt seems to not want to work - is this node doing anything special or can I replace it with a separate load image node?
Oh! Yes it does, it dictates the filename of the video, I get it now. I shall replace it for now, but cool idea
Oh sorry. I forgot it there. Of course you can change it. It just replaces the name of the person in the picture with the video title.
nul ressemblance zero !!!!


