HyVideo I2V Encode
The official image-to-video path in Kijai's Hunyuan wrapper
- text_encoders
- clip_l
- image
- hyvid_cfg
- model_to_offload
- hyvid_embeds
This is the node that plugs Tencent's official HunyuanVideo image-to-video model into the wrapper. It's newer than the pack itself - kijai added it once Tencent finally shipped their own I2V weights, which arrived a full three months after the base text-to-video model, well after Wan had already made image-to-video the workflow everyone expected by default. If you only remember one thing about this node: it encodes your prompt and your reference image together, through the wrapper's LLM text encoder, into a single conditioning object.
That's the key difference from the pack's other image-to-video route (feeding an image through HyVideoEncode into the sampler's image_cond_latents, originally built for the community "leapfusion" technique). This node is the official, model-native way to do it; leapfusion is the older workaround. Use this one unless you have a specific reason not to.
The inputs that matter
text_encoders- theHYVIDTEXTENCODERfrom DownloadAndLoadHyVideoTextEncoder.prompt- your text prompt, describing the motion and content you want.image- the reference frame that becomes (roughly) the first frame of the output.prompt_template- pickI2V_video(the default) orI2V_imagedepending on what you're conditioning on, ordisabledto skip the built-in template entirely. These are the LLM system prompts tuned specifically for image-conditioned generation; getting this wrong gives you a text-to-video-flavored read on an image-to-video job.image_embed_interleave(default 2) - controls how densely the image's hidden-state tokens get interleaved into the conditioning. Lower values lean the model harder toward the reference image; this is fine at default for most people.clip_l- optional escape hatch to use ComfyUI's own CLIP model instead of the one loaded by the text-encoder node (disableclip_modelon that node first if you go this route).hyvid_cfg- optional, from HyVideoCFG, if you want true negative-prompt CFG applied on top of the model's built-in guidance.force_offload(default on) - offloads the text encoder after use, freeing VRAM for the sampler.
Output: hyvid_embeds, wired straight into HyVideoSampler.
How to install it
Comes with the pack - no separate download for the node itself.
- ComfyUI Manager: search ComfyUI-HunyuanVideoWrapper, install, restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-HunyuanVideoWrapper, thenpip install -r ComfyUI-HunyuanVideoWrapper/requirements.txt, restart.
You'll also need the LLM text encoder (auto-downloads) and the diffusion model + VAE (manual download from Kijai's HunyuanVideo_comfy HuggingFace repo - the README is explicit that these have no auto-download).
Common issues & troubleshooting
Output ignores your image entirely, or looks like plain text-to-video. Check prompt_template matches your use case - leaving it on a text-only template, or setting it to disabled without another plan for image conditioning, throws away the whole point of this node. Also confirm the image socket is actually connected; it's optional in the schema, so a missing wire fails silently rather than erroring.
Out of memory. This node briefly runs both the LLM text encoder and processes the image through it, which stacks on top of whatever the diffusion model is already using. Leave force_offload on, and make sure the text encoder's own load_device is set to offload as well.
Motion feels weak, image just sits there. Try nudging image_embed_interleave down a notch, and double-check you're not accidentally also feeding a static-leaning image_cond_latents from HyVideoEncode into the sampler alongside this - the two image-conditioning paths aren't meant to be stacked casually.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| text_encoders | HYVIDTEXTENCODER | — | |
| prompt | STRING | — | |
| force_offloadopt | BOOLEAN | true | — |
| prompt_templateopt | COMBO | I2V_video | Use the default prompt templates for the llm text encoder |
| clip_lopt | CLIP | Use comfy clip model instead, in this case the text encoder loader's clip_l should be disabled | |
| imageopt | IMAGE | — | |
| hyvid_cfgopt | HYVID_CFG | — | |
| image_embed_interleaveopt | INT | 2 | — |
| model_to_offloadopt | HYVIDEOMODEL | Model to move to offload_device before encoding |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| hyvid_embeds | HYVIDEMBEDS | — |