CLIP Vision Encode
The node that lets your image talk
- clip_vision
- image
- CLIP_VISION_OUTPUT
CLIP Vision Encode is the image-side sibling of CLIP Text Encode. Text encoding turns words into conditioning; this turns a picture into CLIP_VISION_OUTPUT - the image's embedding, computed by a CLIP vision model. It's the reference-image workhorse: style transfer, character consistency, and a whole generation of video conditioning all start here, because every node that says "take this image as a reference" is secretly asking for this node's output.
The output is a bundle of hidden states and image embeddings from the vision model - not a conditioning you can drop straight into a KSampler. It's an intermediate that other nodes consume: Apply Style Model, the Wan video conditioning nodes, IP-Adapter-style adapters, unCLIP conditioning. Think of it as the "how the model sees this picture" package, precomputed once so downstream nodes don't each re-encode it.
How it works
Three inputs:
- clip_vision - the vision model, loaded from a separate
clip_visionfolder (e.g.clip-vit-large-patch14, or the vision model that matches your style/video model). - image - your reference image.
- crop - "center" (default) crops the image to a centered square before encoding; "none" passes it through as-is. The vision models were trained on square inputs, so center-crop is the safe default; choose "none" only when you know the model handles non-square.
One output, CLIP_VISION_OUTPUT, which wires into whatever reference-consuming node comes next.
What matters in practice
- It's the front half of style transfer. The classic chain is CLIP Vision Encode (reference) → Apply Style Model → sampler. Want a painting's look? Encode the painting.
- It's the front half of a lot of video. Wan's image-to-video and video-control nodes take
clip_vision_outputto lock identity. SCAIL-2, FunInpaint, FirstLastFrame - all of them want this node's output, not the raw image. - One encode, many consumers. Since it's a distinct output type, you can fan one CLIP Vision Encode into several nodes without re-encoding. Cheap in the graph, still one pass at runtime.
Gotchas
- Right vision model for the job. A style-model chain wants the CLIP vision model the style file was trained against; a Wan chain wants the Wan-compatible vision model. Mixing them produces subtly wrong embeddings that are hard to debug because nothing errors.
- Crop choice changes identity. With "center," off-center subjects get cropped into the encode, which can shift what the reference "means." If your subject isn't centered, test "none."
- It's not an image embedder for display. The output isn't for you to look at - it's features for the model. Don't expect to preview anything useful from it.
Ships with ComfyUI core, no install. If you've ever wondered why every interesting 2026 workflow has a stray CLIP Vision Encode near the top - this is why. It's the point where your reference image starts speaking the model's language.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_vision | CLIP_VISION | — | |
| image | IMAGE | — | |
| crop | COMBO | 2 options: center, none |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP_VISION_OUTPUT | CLIP_VISION_OUTPUT | — |