Kiko WANWrapper


Updated:

Workflow Preview

Showcases (Image/Video)

🎞️ ComfyUI Image-to-Video Workflow - WAN 2.1 Wrapper (Kiko WAN v3)

This is a high-performance, multi-pass Image-to-Video workflow for ComfyUI, powered by the WAN 2.1 Wrapper, with advanced optimizations like `torch.compile` and Sage Attention for faster and smarter frame generation. I tried to expose all the settings that Kijai exposes that I can understand 😉, This is not the fastest workflow you will find on here, but it is one I use to make 20 secons videos.

Crafted with ❤️ on Arch Linux BTW, using an RTX 4090 and 128 GB of RAM—this setup is tuned for heavy-duty inference and silky-smooth video generation.

---

🚀 Features

- 🧠 WAN 2.1 Wrapper for cinematic image-to-video transformations

- 🔂 Two-pass generation: initial + refinement/extension

- 🐌 Optional Slow Motion + Frame Interpolation (RIFE, FILM, etc.)

- 🧽 Sharpening and Upscaling (e.g., RealESRGAN, SwinIR)

- 🛠️ Includes torch.compile for faster inference

- 🌀 Integrates Sage Attention for improved attention efficiency

- 📏 Customizable prompts, seed, duration, and aspect ratio logic

- 🌀 Final loop polish with "Extend Last Frame"

---

⚙️ System Specs

- OS: Arch Linux (rolling release)

- GPU: NVIDIA RTX 4090 (24GB VRAM)

- RAM: 128 GB DDR5

- Python: 3.12.9 via `pyenv`

- ComfyUI: Latest build from GitHub

- torch: 2.x with `torch.compile` enabled

- Sage Attention: Enabled via patched attention mechanism

---

🛠️ Workflow Overview

🔹 Input & Resize

- Drop an image and optionally resize to fit WAN 2.1's expected input.

🔹 WAN 2.1 Wrapper Core

- Uses `torch.compile` for speed boost

- Enhanced with Sage Attention (set via the custom node or environment)

🔹 Pass 1: Generate + Optional Slow Motion

- Frame-by-frame synthesis

- Add slow motion via interpolation node (RIFE or FILM)

🔹 Pass 2: Extend + Merge

- Extends the motion, ensures smoother transitions

- Combines motion with refined prompt guidance

🔹 Final Polish

- Sharpening and Upscaling

- Final interpolation if needed

- Loop-ready output by extending the last frame

---

🧪 Performance Tips

- Tune torch compile for you system, they are all different, my setting might not work for you.

- For Sage Attention:

- Use the node

- Running on lower-end GPUs? Disable upscaling and reduce frame count.

---

🧰 Requirements

- ComfyUI

- WAN 2.1 Wrapper Node

- Optional:

- `RIFE`, `FILM`, or `DAIN` for interpolation

- `RealESRGAN` / `SwinIR` for upscaling

- `Sage Attention` patch or node

---

▶️ How to Use

1. Load the `kiko-wan-v3.json` file into ComfyUI.

2. Drop your image into the input node.

3. Customize prompts, duration, and frame count.

4. Click `Queue Prompt` to generate.

5. Your video will be rendered in the output folder.

---

📁 Files

- `kiko-wan-v3.json` — Exported workflow (coming soon)

- `kiko-wan-v3.png` — Workflow diagram

---

🧠 Inspirations & Credits

- [ComfyUI](https://github.com/comfyanonymous/ComfyUI)

- [WAN 2.1 Wrapper](https://github.com/kijai/ComfyUI-WanVideoWrapper)

- Real-ESRGAN, RIFE, FILM, Sage Attention contributors

- Arch Linux + NVIDIA ecosystem for elite workstation performance 😉

---

💡 Future Plans

- [ ] Add batch image-to-video mode

- [ ] Audio?

⚙️ Custom Nodes Used in `kiko-wan-wrapper-v3.json`

- Anything Everywhere: https://github.com/chrisgoringe/cg-use-everywhere

- Display Any (rgthree): https://github.com/rgthree/rgthree-comfy

- Fast Bypasser (rgthree): https://github.com/rgthree/rgthree-comfy

- Fast Groups Bypasser (rgthree): https://github.com/rgthree/rgthree-comfy

- GetImageRangeFromBatch: https://github.com/kijai/ComfyUI-KJNodes

- GetImageSize+: https://github.com/cubiq/ComfyUI_essentials

- GetNode: https://github.com/kijai/ComfyUI-KJNodes

- SetNode: https://github.com/kijai/ComfyUI-KJNodes

- Image Filter: https://github.com/chrisgoringe/cg-image-filter

- ImageBatchMulti: https://github.com/kijai/ComfyUI-KJNodes

- ImageFromBatch+: https://github.com/cubiq/ComfyUI_essentials

- ImageListToImageBatch: https://github.com/ltdrdata/ComfyUI-Impact-Pack

- ImageResizeKJ: https://github.com/kijai/ComfyUI-KJNodes

- Int: https://github.com/M1kep/ComfyLiterals

- LoadWanVideoClipTextEncoder: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- LoadWanVideoT5TextEncoder: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- MarkdownNote: NOT FOUND

- PlaySound|pysssss: https://github.com/pythongosssss/ComfyUI-Custom-Scripts

- ProjectFilePathNode: https://github.com/MushroomFleet/DJZ-Nodes

- RIFE VFI: https://github.com/Fannovel16/ComfyUI-Frame-Interpolation

- ReActorRestoreFace: https://github.com/Gourieff/ComfyUI-ReActor

- Seed Generator: https://github.com/giriss/comfy-image-saver

- SimpleMath+: https://github.com/cubiq/ComfyUI_essentials

- Text Input [Dream]: https://github.com/alt-key-project/comfyui-dream-project

- VHS_VideoCombine: https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite

- WanVideoBlockSwap: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoDecode: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoEnhanceAVideo: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoFlowEdit: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoImageClipEncode: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoLoopArgs: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoLoraBlockEdit: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoLoraSelect: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoModelLoader: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoSLG: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoSampler: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoTeaCache: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoTextEncode: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoTorchCompileSettings: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoVAELoader: https://github.com/kijai/ComfyUI-WanVideoWrapper/

- WanVideoVRAMManagement: https://github.com/kijai/ComfyUI-WanVideoWrapper/

Nodes Detail

189 Nodes
Primitive Node Types
7
  • LoadImage1
  • UpscaleModelLoader1
  • PreviewImage2
  • ImageScaleBy1
  • ImageUpscaleWithModel1
  • ImageScale1
Custom Node Types
182
  • SetNode41
  • GetNode73
  • WanVideoLoraBlockEdit1
  • WanVideoLoopArgs1
  • Anything Everywhere1
  • ProjectFilePathNode1
  • Anything Everywhere?1
  • Display Any (rgthree)2
  • Text Input [Dream]2
  • SimpleMath+2
  • ImageListToImageBatch1
  • LoadWanVideoT5TextEncoder1
  • WanVideoTextEncode1
  • WanVideoLoraSelect3
  • WanVideoVAELoader1
  • WanVideoTeaCache1
  • WanVideoVRAMManagement1
  • WanVideoBlockSwap1
  • WanVideoEnhanceAVideo1
  • WanVideoTorchCompileSettings1
  • WanVideoModelLoader1
  • WanVideoFlowEdit1
  • WanVideoImageClipEncode2
  • ImageFromBatch+1
  • GetImageSize+1
  • MarkdownNote1
  • LoadWanVideoClipTextEncoder1
  • Seed Generator1
  • WanVideoSLG1
  • PlaySound|pysssss6
  • RIFE VFI3
  • ImageResizeKJ1
  • GetImageRangeFromBatch3
  • Image Filter1
  • WanVideoSampler2
  • VHS_VideoCombine9
  • WanVideoDecode2
  • ImageBatchMulti1
  • Fast Bypasser (rgthree)3
  • ReActorRestoreFace1
  • Int1
  • ImageSharpen1
  • Fast Groups Bypasser (rgthree)1