WanVideo TextEncodeSingle
Encode exactly one prompt when the bundled encoder gives you too much
- t5
- model_to_offload
- text_embeds
The wrapper's main text-encode node, WanVideoTextEncode, is a two-for-one: it takes a positive and negative prompt and hands back one bundled WANVIDEOTEXTEMBEDS object, plus a |-separated prompt-travel trick on top. Most of the time that's exactly what you want. But some slots in the graph don't want a pos/neg pair - they want one standalone embed, and only one. WanVideoTextEncodeSingle is the plain version: one string in, one embeds object out, no bundling.
The clearest case where you need this: WanVideoOviCFG's ovi_negative_text_embeds input. Ovi's audio-video mode wants its own dedicated negative prompt for the audio track, separate from your main video negative - and that slot expects a single embed, not a positive-plus-negative pack. This node is how you build it.
How it works
Your prompt string goes through the umT5 text encoder - the same one WanVideoTextEncode uses - and comes out as a WANVIDEOTEXTEMBEDS object holding just that one encoded prompt. No pairing, no travel syntax, no assumptions about what the embed is "for." It's a raw building block other nodes then consume however they need to.
The inputs and output that matter
prompt(multiline string, required) - the text to encode. Whatever you'd type into the positive or negative box on the combined node, minus the pairing.t5(optional) - the loadedWANTEXTENCODER. Required in practice; nothing gets encoded without it.model_to_offload(optional) - hand it your loadedWANVIDEOMODELand this node will offload it from VRAM while the T5 encoder runs, then it comes back after. Standard VRAM-management pattern in this wrapper - useful if you're tight on memory and don't want the diffusion model and the text encoder both resident at once.force_offload(default true) - whether that offload actually happens.use_disk_cache(default false) - caches the encoded result to disk so re-running the same prompt string skips the encode step. Handy if you're iterating on other settings with a fixed prompt.device(gpuorcpu, defaultgpu) - where the encode runs. CPU is slower but frees VRAM during the encode, which only happens once per prompt anyway.
Output is a single text_embeds (WANVIDEOTEXTEMBEDS) - feed it directly into whatever single-embed slot needs it.
How to install it
Ships with the pack. ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. You'll need the umT5-XXL encoder in models/LLM for the t5 input to have anything to load - same requirement as the main text-encode node.
Common issues & troubleshooting
You don't actually need this node. If you're just running a normal T2V or I2V graph, WanVideoTextEncode already gives you positive and negative in one shot - don't add complexity you don't need. Reach for the single-prompt version only when a specific slot (Ovi's audio negative, or a manual embed-combine setup) calls for one standalone embed.
Wired into the wrong slot. Because the output type (WANVIDEOTEXTEMBEDS) is identical to what the combined encoder produces, it's easy to plug a single-prompt embed somewhere expecting a full pos/neg pair. If conditioning seems to be missing a side entirely, check whether you actually needed the bundled node instead.
t5 not connected. Same failure as the combined node - no encoder, no encode. Make sure your T5 loader is actually wired in before troubleshooting anything downstream.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| t5opt | WANTEXTENCODER | — | |
| force_offloadopt | BOOLEAN | true | — |
| model_to_offloadopt | WANVIDEOMODEL | Model to move to offload_device before encoding | |
| use_disk_cacheopt | BOOLEAN | false | Cache the text embeddings to disk for faster re-use, under the custom_nodes/ComfyUI-WanVideoWrapper/text_embed_cache directory |
| deviceopt | COMBO | gpu | Device to run the text encoding on. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text_embeds | WANVIDEOTEXTEMBEDS | — |