# Character-swap starter pack HowDoesAIDoThat. Documentation and graph checked 11 October 2026. Inference has NOT been benchmarked. Website checks and synthetic edit tests do not prove AI generation quality or hardware compatibility. ## What is included - wan-animate-mix-starter.json: attributed 77-frame, 384 × 384, 16 fps Mix starter adapted from Comfy Org. Width/height are starting settings, not a GPU guarantee. - wan-animate-official.json: unmodified source snapshot for comparison and extension work. - reference-character.png: original fictional robot reference generated for this article. It is an input image, not a video output. - video_tools.py: local optional preparation/switch utility. Python 3, FFmpeg and FFprobe required. Never uploads or downloads; preserves existing outputs. - manifest.json: source, changes, hashes, model links and node-pack requirements. - COMFY-WORKFLOW-LICENSE.txt: upstream MIT licence and attribution. Model weights, source performance footage, provider accounts and working inference installation are NOT included. Record your own clearly framed performance or use footage you have permission to edit. You may use the supplied reference image as an input for this walkthrough; no exclusive rights or trademark clearance claimed. ## Local workflow 1. Install/update ComfyUI using https://docs.comfy.org/installation/desktop/windows (manual guide for other setups: https://docs.comfy.org/installation/manual_install). 2. Drag wan-animate-mix-starter.json into ComfyUI. Install ComfyUI-KJNodes, comfyui_controlnet_aux and ComfyUI-segment-anything-2; restart. Refer to source links in manifest.json. 3. Download every selected model from manifest.json into its documented folder. The BF16 Animate model is an alternative, not required for this FP8 graph. SAM2/DWPose need their separate checkpoint downloads too. Use models/clip_vision (singular). 4. Put the supplied reference-character.png into ComfyUI/input or upload in LoadImage. 5. Record at least 4.8125 seconds of a single visible performer. Prepare the source copy as below (or export 77 frames, 16 fps, 384 × 384 in your editor). Black padding preserves the full body rather than cropping it. 6. Upload prepared.mp4 in LoadVideo. Save its first frame with `ffmpeg -n -i "prepared.mp4" -frames:v 1 "first-frame.png"`. Right-click Points Editor canvas and Load Image using first-frame.png; New canvas clears old points; Shift-left-click inside the performer. Inspect the SAM2 mask. The original graph leaves negative points disconnected: wire coordinates_negative before relying on red exclusion points. 7. Keep background_video and character_mask connected for Mix. Check selected loaders, width/height and prompt. Run the graph; inspect the saved file under ComfyUI/output/howdoesaidothat. 8. The starter removes extension branches, so it saves one base clip. For longer videos use the official graph and follow its extension guide. For Move, disconnect background_video and character_mask; that produces a different task. ## Optional local preparation and editing Install FFmpeg from https://ffmpeg.org/download.html and make ffmpeg and ffprobe available on PATH. Python: https://www.python.org/downloads/ . In a terminal inside this extracted pack: python video_tools.py prepare "original.mp4" --output "prepared.mp4" python video_tools.py switch "prepared.mp4" "replacement.mp4" --at 2 --output "finished.mp4" Rename the downloaded generated result to replacement.mp4 or supply its actual path. Use different output filenames for retries; existing files are never overwritten. Preparation makes 77 frames at 16 fps. The switch keeps the original before frame 32 (2 seconds), then the replacement from frame 32 onwards, with the source audio if present. It uses the shorter clip duration. Both clips must already share timing: the utility does NOT align drifting movement. Review the cut manually; use your editor if a pose needs realignment. No audio is fabricated for silent source footage. ## Browser route Open https://viggle.ai/meme/app/mix . Sign in/create your own account, choose a reference performance, upload the character image, generate and download. Confirm current limits at https://viggle.ai/pricing and input/privacy terms at https://viggle.ai/terms-of-use . Use source footage you are comfortable uploading; this route is hosted. ## Verification and credit Official source: https://docs.comfy.org/tutorials/video/wan/wan2-2-animate and https://github.com/Comfy-Org/workflow_templates . MIT notice included. No models redistributed. Supporting checkpoints retain their own licences; check source pages. No affiliate relationship, render-speed claim or original Reddit clip attribution.