FunTextBox
The prompt box every VideoX-Fun sampler actually needs
- prompt
This looks like the plainest node in the whole pack - a multiline text box that outputs a string - and functionally it is. But it's not optional decoration: every sampler in VideoX-Fun (Wan and CogVideoX-Fun alike) types its prompt and negative_prompt inputs as STRING_PROMPT, a custom type this pack defines, not ComfyUI's generic STRING. That means ComfyUI's built-in text nodes won't connect to them at all - the sockets just won't link. FunTextBox exists specifically to produce a type those sockets will accept. If you've been staring at a sampler wondering why you can't wire in a prompt, this is almost certainly why.
How it works
You type text into the widget, and it outputs that text as-is, tagged with the STRING_PROMPT type. There's no processing, formatting, or validation happening - it's a pass-through with the right type signature.
The inputs that matter
prompt- the only field, a multiline string, default empty. Use oneFunTextBoxfor your positive prompt and a second for your negative prompt; each sampler takes both as separateSTRING_PROMPTinputs.
Output: prompt (STRING_PROMPT type) - into any sampler's prompt or negative_prompt socket.
Installing it
Ships with the base VideoX-Fun pack, nothing separate to install. Search ComfyUI Manager for VideoX-Fun; if it's not indexed there:
cd ComfyUI/custom_nodes
git clone https://github.com/aigc-apps/VideoX-Fun
pip install -r VideoX-Fun/requirements.txt
Restart ComfyUI and you'll find it under the CogVideoXFUNWrapper category alongside everything else.
Common issues
Can't connect a normal ComfyUI text node to a sampler's prompt input. That's the whole reason this node exists - the sampler expects STRING_PROMPT, and ComfyUI's default CLIPTextEncode or plain text-multiline nodes output either CONDITIONING or generic STRING, neither of which matches. Swap in FunTextBox and the connection will work.
Forgot you need two of these, not one. Positive and negative prompts are two separate STRING_PROMPT inputs on every sampler here - you need one FunTextBox feeding each, not a single node trying to serve both.
Wondering if you can reuse a prompt across the Wan and CogVideoX-Fun sides of the pack. You can - STRING_PROMPT is the same type regardless of which model family consumes it, so a single FunTextBox output can fan out to multiple samplers if you're comparing the same prompt across model families in one graph.
Prompting advice, since this node is where you're typing it. The community's practical rule for the Wan side of this pack is to write plainly and technically rather than reaching for evocative language - flat, concrete description tends to out-perform words like "beautiful" or "breathtaking" for prompt adherence. For image-to-video specifically, describe only the motion here, not the contents of the starting image; the model already has the image, restating it in the prompt tends to fight rather than help.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING_PROMPT | — |