Nodes/ComfyUI_DreamBoard/🎬 Prompt extra
ComfyUI Node

🎬 Prompt extra

The 'Prompt extra' Node That's Secretly a Local LLM

By gordon123Β·Created about a year agoΒ·Updated about a year agoΒ· 2
🎬 Prompt extra
    • text
    β—„textβ–Ί

    The name is a quiet lie, and it's the best part of this node. "🎬 Prompt extra" sounds like a passthrough utility, and the code's own function is literally called pass_text. But open prompt_extra_node.py and you'll find a full local LLM call hiding in there. It takes your text, sends it to Ollama's gemma3:latest, and hands back whatever the model wrote. No API key, no cloud, no per-token bill - a text-generation run happening right in the middle of your image workflow.

    Why would you reach for it? In the DreamBoard pack - which the README flatly describes as "a simple prompter for video" - this is the brainstorm-before-the-render step. You feed it a rough idea ("close-up, rain, neon"), gemma3 turns it into something more usable, and you wire the result into your text encoder or into the sibling StoryboardNode's extra_text field. It's the writer-in-the-loop node, and it does exactly one thing: string in, LLM'd string out.

    Here's the mechanism, from the source: ollama.generate(model="gemma3:latest", prompt=text, stream=False), then return the reply. One blocking call. That's the key word - blocking. The node freezes until the model finishes, which on a CPU-only machine can stretch into real seconds or minutes depending on how big the tag is. It's a STRING node end to end, so it can sit anywhere a string can: before a CLIP Text Encode, after a prompt merger, or upstream of the StoryboardNode.

    The whole input/output schema is one field. Input: text (multiline string, your raw idea). Output: text (the model's response). That's the entire API. Beginners can't get lost in it, and there's nothing else to set.

    Installing it (and the part the README skips)

    Standard ComfyUI Manager search for "ComfyUI_DreamBoard", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/gordon123/ComfyUI_DreamBoard
    cd ComfyUI_DreamBoard
    pip install -r requirements.txt
    

    But that one-liner hides the real requirements, and this is where people get burned. requirements.txt lists ollama>=0.7.0, torch, transformers, pillow, torchvision, and numpy - and nearly all of those are already installed in your ComfyUI environment. The only genuinely new package is the ollama client. That client is worthless without two things the README never mentions:

    • The Ollama server installed and running (the desktop app, or ollama serve).
    • The gemma3 model pulled: ollama pull gemma3.

    If you're on the Windows portable build, don't run that pip command from a plain PowerShell - it won't touch the embedded Python, and you'll wonder why nothing imported. Let ComfyUI Manager install the requirements, or point pip at python_embeded\python.exe yourself. And remember this installs into the shared environment, so a stray pip install of torch/transformers can clash with whatever ComfyUI already pinned - the classic custom-node dependency trap.

    Troubleshooting

    • Startup import error mentioning ollama - the client library isn't installed. pip install ollama.
    • "Connection refused" or the node erroring on generate - Ollama isn't running. Start it, then re-run.
    • The node hangs on first use - gemma3 is loading or being pulled on demand. Give it a minute; then pre-pull with ollama pull gemma3 so it's ready.
    • The model's prose doesn't look like a prompt - expected. LLMs love fluffy output, and diffusion models don't. A find-and-replace after this node (kill stray em-dashes, trim adjectives) goes a long way.

    One honest caveat: the pack's README literally says "UNDERCONSTRUCTION!", and there's a single commit in the repo. This is an early experimental toy, not a polished tool. Treat it as a fun local-LLM sidecar, not a production dependency.

    CategoryStoryboard

    Inputs (1)

    NameTypeDefaultDescription
    textSTRINGβ€”

    Outputs (1)

    NameTypeDescription
    textSTRINGβ€”