Nodes/ComfyUI-SA-Nodes-QQ/Wan Video Image To Video Encode_v2 (QQ)
ComfyUI Node

Wan Video Image To Video Encode_v2 (QQ)

I2V conditioning from start, middle, AND end images — the experimental bit

By siraxe·Created 11 months ago·Updated 2 days ago· 72
Wan Video Image To Video Encode_v2 (QQ)
  • vae
  • clip_embeds
  • start_image
  • mid_image
  • end_image
  • control_embeds
  • temporal_mask
  • extra_latents
  • add_cond_latents
  • image_embeds
width832
height480
num_frames81
noise_aug_strength0.000
start_latent_strength1.000
mid_latent_strength1.000
end_latent_strength1.000
end_final_strength0.800
mid_position0.50
end_position1.00
force_offloadtrue
fun_or_fl2v_modeltrue
tiled_vaefalse

Standard Wan I2V conditions on a start image: the first frame is fixed and the model invents everything after. WanVideoImageToVideoEncode_v2 is the pack's experiment in going further - encoding a start image, a mid image, and an end image into the conditioning so the model has to pass through all three points. The README is refreshingly honest about it: "(EXPERIMENTAL) Maybe there's native ways to do this, but it seems to work." That's the whole vibe. It builds on Kijai's image-to-video encoding machinery (hence the WANVIDIMAGE_EMBEDS output type) and adds the multi-frame twist on top.

The mechanism: each provided image is VAE-encoded into latents, placed at its position in the timeline, and cosine-interpolated between keyframes (the README calls it "temporal feathering") so the transition from start → mid → end is smooth rather than a hard jump. Per-frame latent strength multipliers then control how hard each anchor holds the image.

The inputs that matter

  • width / height / num_frames - the output canvas (default 832×480×81) and length. The encoder is 8-aligned.
  • start_image, mid_image, end_image (optional IMAGEs) - the three anchors. Wire at least start; the node shines when you give it all three.
  • mid_position (0–1, default 0.5) - where the mid image sits in the timeline. end_position (0–1, default 1.0) - where the end image lands relative to the remaining timeline.
  • start/mid/end_latent_strength - per-anchor latent multipliers; the tooltips say it straight: "lower values allow for more motion." Lower = the model is freer to drift from the image.
  • end_final_strength (default 0.8) - strength of an end-image copy placed at the final frame for temporal consistency.
  • noise_aug_strength (default 0) - a little noise here "can add motion and give sharper results."
  • force_offload, plus optional vae, clip_embeds (the CLIP-vision encoding), control_embeds (for the Fun/FLF2V models - enable fun_or_fl2v_model for those), temporal_mask, extra_latents (Skyreels A2 reference images), tiled_vae (low-memory), and add_cond_latents (WIP).

Output is a single image_embeds (WANVIDIMAGE_EMBEDS) - wire it into the WanVideoWrapper sampler's image-embeds input.

When you'd risk it

The classic use: you want a clip that ends on a specific frame (a loop that returns to its start, a shot that must land on a particular composition, or a "transform from A to B to C" sequence). End-anchoring is exactly the trick the community uses for seamless loops and multi-keyframe sequences, and normally that means chaining multiple I2V generations. This node attempts it in one pass. Treat it as an experiment: if the multi-image conditioning fights the model, drop back to start-image-only encoding - the defaults are tuned to work, but "default setting work but can be adjusted" is doing a lot of work in that README sentence.

Installing it

Part of siraxe/ComfyUI-WanVideoWrapper_QQ via ComfyUI Manager (search WanVideoWrapper_QQ/SA-Nodes-QQ), or:

cd ComfyUI/custom_nodes
git clone https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ.git

Restart ComfyUI. Needs Kijai's ComfyUI-WanVideoWrapper installed (the WANVIDIMAGE_EMBEDS and WANVAE types live there) plus a Wan VAE.

Gotchas

  • Mid/end anchors that contradict the start will fight the model - keep them consistent in subject.
  • Lower _latent_strength = more motion, but also more drift. Find the floor per anchor before blaming the node.
  • Pack note: repo renamed to ComfyUI-SA-Nodes-QQ in v1.3.4; delete any stale wanwrapper_qq folder in custom_nodes if old workflows reference it.
CategoryWanVideoWrapper_QQ/utils

Inputs (22)

NameTypeDefaultDescription
widthINT83264–8096Width of the image to encode
heightINT48064–8096Height of the image to encode
num_framesINT811–10000Number of frames to encode
noise_aug_strengthFLOAT0.0000–10Strength of noise augmentation, helpful for I2V where some noise can add motion and give sharper results
start_latent_strengthFLOAT1.0000–10Additional latent multiplier, helpful for I2V where lower values allow for more motion
mid_latent_strengthFLOAT1.0000–10Additional latent multiplier for mid frame, helpful for I2V where lower values allow for more motion
end_latent_strengthFLOAT1.0000–10Additional latent multiplier, helpful for I2V where lower values allow for more motion
end_final_strengthFLOAT0.8000–10Strength for end_image copy placed at final frame for temporal consistency
mid_positionFLOAT0.500–1Position of mid_image as fraction of total frames (0.0 = start, 1.0 = end)
end_positionFLOAT1.000–1Position of end_image relative to remaining timeline after mid_image
force_offloadBOOLEANtrue
vaeoptWANVAE
clip_embedsoptWANVIDIMAGE_CLIPEMBEDSClip vision encoded image
start_imageoptIMAGEImage to encode
mid_imageoptIMAGEmiddle frame
end_imageoptIMAGEend frame
control_embedsoptWANVIDIMAGE_EMBEDSControl signal for the Fun -model
fun_or_fl2v_modeloptBOOLEANtrueEnable when using official FLF2V or Fun model
temporal_maskoptMASKmask
extra_latentsoptLATENTExtra latents to add to the input front, used for Skyreels A2 reference images
tiled_vaeoptBOOLEANfalseUse tiled VAE encoding for reduced memory use
add_cond_latentsoptADD_COND_LATENTSAdditional cond latents WIP

Outputs (1)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS