Nodes/ComfyUI-LTX2PromptArchitectOllama/πŸ”„ LTX2 Prompt Architect (Ollama)
ComfyUI Node

πŸ”„ LTX2 Prompt Architect (Ollama)

Let Ollama write your LTX-2.3 prompts β€” no API key, no cloud

By cody-liΒ·Created 2 months agoΒ·Updated 2 months agoΒ· 1
πŸ”„ LTX2 Prompt Architect (Ollama)
    • PROMPT
    • NEG_PROMPT
    • PREVIEW
    β—„user_inputβ–Ί
    β—„model_namewriter-fast-qwen3.5-9b-q8_0β–Ί
    β—„quality_preset0.8 - Balanced Professionalβ–Ί
    β—„max_tokens2048β–Ί
    β—„temperature0.70β–Ί
    β—„seed-1β–Ί
    β—„scene_contextβ–Ί
    β—„frame_count97β–Ί
    β—„width832β–Ί
    β—„height480β–Ί
    β—„styleNone β€” LLM decidesβ–Ί
    β—„moodNone β€” LLM decidesβ–Ί
    β—„cameraNone β€” LLM decidesβ–Ί
    β—„lightingNone β€” LLM decidesβ–Ί
    β—„audio_styleNone β€” detect from promptβ–Ί
    β—„ollama_base_urlhttp://localhost:11434β–Ί

    LTX-2.3 is a brilliant video model that eats detailed prompts for breakfast and spits out mush if you feed it three words. The community rule of thumb is basically "long prompts or nothing." Writing those by hand is a genuine chore, and this node fixes exactly that: you type one sentence of intent, and it hands back a full, LTX-2.3-tuned positive prompt, a negative prompt, and a preview.

    The "Ollama" in the name isn't marketing. Where the original LTX2PromptArchitectQwen node (from the LTX2 Easy Prompt ecosystem) leans on a Qwen model you may not be able to run, this is the drop-in replacement that calls your own local Ollama instance - no cloud, no API key, nothing leaves your machine. Same three outputs, same shape, so you can swap it into an existing workflow without rewiring anything.

    How it works

    Under the hood it's refreshingly simple. The node builds a long system prompt tuned for LTX-Video 2.3 - motion-first description, subject + action + environment + camera + lighting + style ordering, temporal words like "gradually", and a hard cap around 80–150 words because that's LTX's sweet spot. It posts your user_input (plus optional scene_context) to Ollama's /api/chat endpoint with format: "json" and think: false, then parses the response into the three outputs. The whole thing is Python stdlib - json, urllib, random. There is not a single pip dependency in requirements.txt.

    The JSON handling is worth a nod because it's where this kind of node usually dies. It strips Qwen-style <think> tags, digs JSON out of markdown code fences, and validates all three keys came back - so you get a clear error instead of garbage silently flowing into your sampler.

    Inputs and outputs that matter

    You'll set a handful, not all of them:

    • user_input - your creative intent. The only thing you must actually type.
    • model_name - which Ollama model to call. Default is writer-fast-qwen3.5-9b-q8_0, a specific quantized tag you almost certainly don't have pulled. Check ollama list and point this at something real.
    • quality_preset - six levels from "Draft / Quick Preview" to "Maximum Fidelity"; it just changes the detail keywords baked into the prompt.
    • scene_context (optional) - a description from a vision model like Qwen-VL. Wire a VLM in front and you've got a lazy image-to-video prompt loop.
    • style / mood / camera / lighting / audio_style (optional) - preset drop-downs. Leave them at "None - LLM decides" until you know what you want; they're overrides, not requirements.

    max_tokens, temperature, and seed control the LLM itself, and ollama_base_url lets you point at a remote Ollama if you run it on another box.

    The three outputs - PROMPT, NEG_PROMPT, PREVIEW - go straight to CLIPTextEncode (positive and negative) with PREVIEW into a ShowText node for debugging. Since it's the same interface as the Qwen node, you can unplug that one and plug this in without touching anything else.

    Installing it

    ComfyUI Manager: search "ComfyUI-LTX2PromptArchitectOllama" and install. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/cody-li/ComfyUI-LTX2PromptArchitectOllama.git
    

    Restart ComfyUI and it appears under LTX-Video/Prompt as πŸ”„ LTX2 Prompt Architect (Ollama). That's the whole install - no Python dependencies, no model files to download into ComfyUI; the model lives in Ollama. One wrinkle: the README's clone URL still points at an older ForMyQQ/... repo path. The pack is now at cody-li/ComfyUI-LTX2PromptArchitectOllama - use that one.

    The gotchas that will actually hit you

    • "Cannot connect to Ollama." Ollama isn't running. ollama serve in a terminal (or keep it as a background service), then re-run.
    • "model not found." You're using the default model name that isn't installed. Run ollama list, pick a model you actually have - the README suggests qwen3.5-9b or qwen3-14b - and paste it into model_name. This is the number one thing people trip on.
    • Empty output or "not valid JSON." That's a thinking model burning its token budget on reasoning. think: false needs Ollama 0.9+, and the node defaults max_tokens to 2048 for exactly this reason - don't dial it down and wonder why Qwen3.5 returns nothing. Lower temperature or switch models if it keeps happening.
    • Keep the geometry legal. The defaults (97 frames, 832Γ—480) are chosen to satisfy LTX-2.3's hard constraints - frame count divisible by 8 plus 1, width/height divisible by 32. Change them and the sampler will reject the run, not round it.
    • Slow generations are normal if Ollama is on CPU. That's an Ollama/GPU problem, not a node problem; a GGUF quant will get you there.

    Is it a miracle worker? No - the prompt is only half the battle, and LTX-2.3's adherence still means you'll seed-hunt no matter what it writes. But it kills the blank-page problem, keeps everything local, and for zero dependencies that's a genuinely useful deal.

    CategoryLTX-Video/Prompt

    Inputs (16)

    NameTypeDefaultDescription
    user_inputSTRINGYour creative intent β€” describe the video you want to generate
    model_nameSTRINGwriter-fast-qwen3.5-9b-q8_0Ollama model name (check with: ollama list)
    quality_presetCOMBO0.8 - Balanced ProfessionalQuality level β€” affects detail keywords in prompt
    max_tokensINT204864–8192Max tokens for LLM output (2048+ recommended for thinking models like Qwen3.5)
    temperatureFLOAT0.700–2LLM creativity β€” 0=deterministic, 0.7=balanced, 1.5=creative
    seedINT-1-1–18446744073709550000Random seed (-1 = random)
    scene_contextoptSTRINGScene description from reference image (e.g. from Qwen-VL output)
    frame_countoptINT971–257Target frame count β€” affects pacing
    widthoptINT832Video width in pixels
    heightoptINT480Video height in pixels
    styleoptCOMBONone β€” LLM decidesVisual style override
    moodoptCOMBONone β€” LLM decidesEmotional atmosphere
    cameraoptCOMBONone β€” LLM decidesCamera movement preference
    lightingoptCOMBONone β€” LLM decidesLighting style
    audio_styleoptCOMBONone β€” detect from promptAudio generation hint
    ollama_base_urloptSTRINGhttp://localhost:11434Ollama API base URL

    Outputs (3)

    NameTypeDescription
    PROMPTSTRINGPositive prompt for LTX-Video 2.3
    NEG_PROMPTSTRINGNegative prompt for LTX-Video 2.3
    PREVIEWSTRINGHuman-readable preview / debug info