Nodes/ComfyUI-PainterI2VforKJ/PainterI2V for KJ
ComfyUI Node

PainterI2V for KJ

Your Wan 2.2 clips move like molasses — this node is the fix

By princepainter·Created 10 months ago·Updated 6 months ago· 107
PainterI2V for KJ
  • vae
  • clip_embeds
  • start_image
  • end_image
  • control_embeds
  • temporal_mask
  • extra_latents
  • add_cond_latents
  • image_embeds
motion_amplitude1.15
width832
height480
num_frames81
noise_aug_strength0.000
start_latent_strength1.000
end_latent_strength1.000
force_offloadtrue
fun_or_fl2v_modeltrue
tiled_vaefalse

If you've run Wan 2.2 with a 4-step lightx2v LoRA, you know the drill: the generation is fast, the quality holds up, and everything moves like it's underwater. It's one of the most complained-about quirks of speed-distilled Wan - people were posting workarounds within weeks of 2.2's release. PainterI2V for KJ is a single-node fix for exactly that. It's a drop-in replacement for Kijai's WanImageToVideo encode node, and its entire job is to make the motion actually move again.

What it actually does

The node was written by princepainter as a modified fork of Kijai's Wan 2.2 I2V encode node - the README credits KJ right at the top, and the whole pack is one file. The pitch: +15-50% motion amplitude, better camera-prompt obedience, no brightness shift, and no quality loss at 1.0 (the "off" setting). Community testing backs it up - the thread that put it on people's radar was literally titled "Wan 2.2 Lightx + PainterI2V_for_Kijai" with the verdict "much more motions and speed."

The trick is a latent-space hack, not a new model. After your start image is VAE-encoded, the node separates the first-frame latent from the rest, computes the per-frame difference (the latent-space "motion vector"), strips the mean out of that difference so luminance stays put, scales it by motion_amplitude, clamps to [-6, 6], and recombines. You're literally amplifying how far each later frame drifts from frame one - which is exactly what reads as speed. The mean-preservation step is what keeps it from washing out or flickering into a brightness mess.

The inputs that matter

  • motion_amplitude - the whole point. 1.0 = stock behavior, 1.15 default = general use, 1.25–1.35 for running/jumping, up to 1.5 for extreme motion. Tune in 0.05 steps.
  • start_image - your I2V reference, required (it errors if you wire an image without a vae).
  • vae, clip_embeds - feed the same WANVAE and CLIP vision embeddings your KJ workflow already uses.
  • width / height / num_frames - output video geometry (defaults 832×480, 81 frames), matching the sampler.

Everything else - noise_aug_strength, start/end_latent_strength, temporal_mask, tiled_vae, the Fun/FLF2V toggles - is advanced or workflow-specific. Leave them alone on your first pass. The single output, image_embeds (type WANVIDIMAGE_EMBEDS), plugs straight into WanVideoSampler.

Installing it

No dependencies, no model downloads, no requirements.txt - it reuses the Wan 2.2 models and VAE you already have. ComfyUI Manager: search PainterI2VforKJ. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/princepainter/ComfyUI-PainterI2VforKJ.git

Restart ComfyUI. Here's the gotcha the README is quiet about: you still need Kijai's ComfyUI-WanVideoWrapper installed, because the model loader, VAE loader, sampler, and decode nodes in any working workflow are all wrapper nodes. This pack only replaces the encode step - it doesn't replace the stack around it.

Troubleshooting

  • Motion still slow? Nudge motion_amplitude up in 0.05 steps, and make sure your prompt describes the movement ("running forward quickly"), not a vague "moves around." The README is right that prompting is half the battle.
  • Too fast or jittery? Back it off. Pushing toward the 2.0 max is where you invite wobble and ping-pong-style artifacts - 1.4 is the author's own practical ceiling.
  • VAE error on load? You wired a start_image but no vae input. Connect a WANVAE loader.
  • Quality changed at 1.0? It shouldn't have - at 1.0 the node is a passthrough. If your baseline differs, the workflow, not this node, is the difference.

It's a niche tool for one specific annoyance, but if you live in 4-step Wan I2V workflows, it's a genuinely useful one - and it costs you nothing to try.

CategoryWanVideoWrapper/PainterI2V

Inputs (18)

NameTypeDefaultDescription
motion_amplitudeFLOAT1.151–2核心参数:动态幅度增强系数,>1.0增强运动减少慢动作,1.0=禁用
widthINT83264–8096输出视频宽度
heightINT48064–8096输出视频高度
num_framesINT811–10000总帧数
noise_aug_strengthFLOAT0.0000–10起始帧噪声增强强度
start_latent_strengthFLOAT1.0000–10起始帧latent强度
end_latent_strengthFLOAT1.0000–10结束帧latent强度
force_offloadBOOLEANtrue处理完成后卸载VAE到CPU
vaeoptWANVAEWanVideo VAE模型
clip_embedsoptWANVIDIMAGE_CLIPEMBEDSCLIP视觉嵌入(来自ClipVisionEncode)
start_imageoptIMAGE起始帧图像,I2V必需
end_imageoptIMAGE结束帧图像(可选)
control_embedsoptWANVIDIMAGE_EMBEDS控制信号嵌入(Fun模型)
fun_or_fl2v_modeloptBOOLEANtrue使用官方FLF2V或Fun模型时启用
temporal_maskoptMASK时间掩码,控制每帧权重
extra_latentsoptLATENT额外latent(如Skyreels A2参考图)
tiled_vaeoptBOOLEANfalse使用分块VAE编码(省显存)
add_cond_latentsoptADD_COND_LATENTSWanVideo额外条件latent

Outputs (1)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS