HY OmniWeaving Redux Vision Encode
The local SigLIP + Redux encoder that replaces OmniWeaving's CLIP-vision route
- images
- CLIP_VISION_OUTPUT
Reference-to-video is where OmniWeaving shines, and reference images have to get into the model somehow. The official pipeline routes them through a CLIP-vision encoder that projects image features into the text space. HY OmniWeaving Redux Vision Encode is this pack's local, fully-offline version of that route: it runs a SigLIP image encoder plus a Redux-style image embedder - the same Flex-Redux pairing, from the Runware/Flex-Redux HF repo - and emits a single CLIP_VISION_OUTPUT with mm_projected populated. No API, no cloud, no hidden server. It's all weights on your disk.
What that output actually is: the SigLIP encoder turns each image into a sequence of vision features (last_hidden_state, plus penultimate_hidden_states and all_hidden_states), and the Redux embedder squashes those into mm_projected - the projection that the Qwen text encoder can consume as if it were text tokens. That's the deepstack-friendly path the whole pack is built around: mm_projected being None is the classic symptom of a legacy or fallback CLIP-vision route, and this node exists to keep that from happening.
The inputs that matter
- images - the reference image (or batch of them). Wire
prepared_imagesfromHY OmniWeaving Image Prepif you want pixel-exact parity; that node does the same Lanczos + center-crop the original repo does. - image_encoder_model and image_embedder_model - two dropdowns over your
models/clip_visionfolder. The pack tries to auto-pickimage_encoder.safetensorsandimage_embedder.safetensors(the README filenames from Flex-Redux). Both must be present - the encoder alone is useless without the embedder. - crop -
center(default) ornone. Keep center; it's the parity default. - device -
defaultorcpu, advanced, for forced offload debugging.
Output is a single CLIP_VISION_OUTPUT. It wires into HY OmniWeaving Conditioning (which forwards it into the conditioning for non-t2v tasks) or into HY OmniWeaving Clip Vision Concat when you're stacking multiple references.
Installing it
In the hy_omniweaving_comfyui_unofficial pack. ComfyUI Manager (search "hy_omniweaving") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Shiba-2-shiba/hy_omniweaving_comfyui_unofficial
Restart. No pip deps - the SigLIP model is loaded through transformers, which any modern ComfyUI install already has. You do need a recent ComfyUI for the extension API, and the two clip_vision files from Flex-Redux in the README.
Common issues
- "Failed to load Redux image encoder cleanly" - you selected the wrong file for one of the two dropdowns (e.g. an embedder where it wants the encoder, or a random CLIP file). The encoder is SigLIP, the embedder is the
diffusion_pytorch_model.safetensorsRedux weights. - Only one of the two files downloaded - the node will fail at the missing one. Grab both.
mm_projectedstillNonedownstream - that's a signal you're hitting a fallback CLIP-vision route, not this node. If you connected this node and still see it, check the wire into Conditioning; fort2vit's intentionally ignored.
One practical note from the pack's own docs: in the current validated i2v path, text-side multimodal input prefers explicit semantic_images even when Redux clip_vision_output is also present. So this node is not always the star of the show - but for reference2v and multi-reference runs, it's exactly the piece the official behavior maps onto.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| image_encoder_model | COMBO | 0 options: | |
| image_embedder_model | COMBO | 0 options: | |
| crop | COMBO | center | 2 options: center, none |
| device | COMBO | default | 2 options: default, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP_VISION_OUTPUT | CLIP_VISION_OUTPUT | — |