Nodes/VideoX-Fun/FunTextBox
ComfyUI Node

FunTextBox

The prompt box every VideoX-Fun sampler actually needs

By aigc-apps·Created 2 years ago·Updated 20 days ago· 2,174
FunTextBox
    • prompt
    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 one FunTextBox for your positive prompt and a second for your negative prompt; each sampler takes both as separate STRING_PROMPT inputs.

    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.

    CategoryCogVideoXFUNWrapper

    Inputs (1)

    NameTypeDefaultDescription
    promptSTRING

    Outputs (1)

    NameTypeDescription
    promptSTRING_PROMPT