Skip to content

Repository files navigation

LTX2EasyPrompt-LD

This is an MPS-first version of LTXEasyPrompt-LD. The original node was CUDA/CPU only; these nodes are designed for MPS or CPU so they can run on Mac and other systems without using GPU VRAM.

On macOS, the nodes should work better with unified memory and assign the GPU to the LLM models. There is a considerable speedup from around 58 seconds per token to 3-4 tokens per second. The original was effectively unusable on a Mac, taking around 4 hours to build a prompt; this version can generate 180-240 tokens in about a minute.

This version uses different classes from LoRaDaddy's version so both can co-exist on the same system without clashing. The MPS suffix in the node name makes it easy to identify the MPS-ready version.

New features in this release

IT CAN READ IMAGES TOO - For Image to video workflows

🎯 Negative prompt output pin Automatic scene-aware negative prompt, no second LLM call. Detects indoor/outdoor, day/night, explicit content, shot type and adds the right negatives for each. Wire it straight to your negative encoder and forget about it.

🏷️ LoRA trigger word input Paste your trigger words once. They get injected at the very start of every prompt, every single run. Never buried halfway through the text, never accidentally dropped.

💬 Dialogue toggle On — the LLM invents natural spoken dialogue woven into the scene as inline prose with attribution and delivery cues, like a novel. Off — it uses only the quoted dialogue you provide, or generates silently. No more floating unattributed quotes ruining your audio sync.

⚡ Bypass / direct mode Flip the toggle and your text goes straight to the positive encoder with zero LLM processing. Full manual control when you want it, one click to switch back. Zero VRAM cost in bypass mode.

How it works Step 1 — Vision node analyses your starting frame Drop in any image and the vision node (Qwen2.5-VL-3B, + Qwen2.5 7b runs fully locally) writes a scene context describing:

Visual style — photorealistic, anime, 3D animation, cartoon etc Subject — age, gender, skin tone, hair, body type Clothing, or nudity described directly if present Exact pose and body position What they're on or interacting with Shot type — close-up, medium shot, wide shot etc Camera angle — eye level, low angle, high angle Lighting — indoor/outdoor, time of day, light quality Background and setting

It unloads from VRAM immediately after so LTX-2 has its full budget back. Step 2 — Prompt node uses that as ground truth Wire the vision output into the Easy Prompt node and your scene context becomes the authoritative starting point. The LLM doesn't invent the subject or guess the lighting — it takes exactly what the vision node described and animates it forward from your direction. You just tell it what should happen next:

"she slowly turns to face the camera and smiles"

And it writes a full cinematic prompt that matches your actual image — correct lighting, correct shot framing, correct subject — and flows naturally from there.

A ComfyUI custom node that turns plain English descriptions into fully structured, cinema-ready prompts for LTX-2 video generation — powered by a local, uncensored LLM with zero internet dependency after setup.

LTX-2 Easy Prompt — By LoRa-Daddy A ComfyUI custom node that turns plain English into fully structured, cinema-ready LTX-2 prompts — powered by a local, uncensored LLM. No cloud. No subscriptions. No restrictions.

🎬 What It Does Type a rough idea in plain English. Get back a fully detailed prompt with shot type, character description, scene atmosphere, camera movement, and generated audio/dialogue — all automatically paced to your exact frame count and wired straight into your LTX-2 pipeline.

✨ Key Features 🧠 Two Models Included

NeuralDaredevil 8B — maximum quality, richest detail, recommended for most users Llama 3.2 3B — low VRAM, runs on almost anything, great for sharing with others Switch between them from a dropdown — automatic VRAM unload/reload, no restart needed

⏱️ Smart Frame-Aware Pacing

Set your frame count once in the node The FRAMES output pin passes the real number straight to your LTX-2 sampler Prompt pacing adjusts automatically in the background — never manually sync again

🎙️ Always Generates Audio & Dialogue

Every prompt includes real ambient sound and invented dialogue that fits the scene Say "no dialogue" in your input if you want silence — otherwise it writes it for you Dialogue matches the mood: a whisper, a command, a confession, whatever fits

📡 Fully Offline After First Download

HuggingFace network calls are blocked at the module level — before Python even loads the library Point it at your local snapshot folder and it never touches the internet again, even on ComfyUI startup Works behind firewalls, no WinError 10013, no MaxRetryError

🔒 Clean Output Every Time

Uses hard token-ID stopping — the model is physically prevented from writing role delimiters like "assistant" into your output Regex cleaner runs as a backup safety net No more dirty prompts bleeding into your pipeline

🔥 No Content Restrictions

Both models use abliterated weights — safety filters removed at the model level, not just prompted around Explicit scenes use direct language automatically — no euphemisms, no fading out Clothed characters get a full undressing sequence before any explicit action Age always stated as a specific number Dialogue matches the energy of the scene

🎯 Built for LTX-2 Specifically

Prompt structure follows LTX-2's preferred order: style → camera → character → scene → action → movement → audio Pacing is automatically adjusted so the prompt fills your clip correctly without over-writing

⚙️ Setup

1️⃣ Install Clone or download this repo and place it into your ComfyUI custom nodes directory:

ComfyUI/custom_nodes/LTX2MPSEasyPrompt-LD/ ├── LTX2MPSEasyPromptLD.py ├── LTX2MPSVisionEasyPromptLD.py └── init.py

Or clone directly:

bash cd ComfyUI/custom_nodes git clone https://github.com/blackest/LTX2MPSEasyPrompt-LD

Install the Python dependencies:

bash pip install -r requirements.txt

Restart ComfyUI. Find the nodes under: Add Node → LTX2 → LTX-2 MPS Easy Prompt By Blackest

2️⃣ What’s included

  • LTX2MPSVisionEasyPromptLD.py — vision describe node for image-to-scene text
  • LTX2MPSEasyPromptLD.py — prompt architect node for generating structured LTX-2 prompts

3️⃣ First run — download your model

Set offline_mode → false Pick your model from the dropdown Hit generate — it auto-downloads from HuggingFace Once downloaded, flip offline_mode back to true

4️⃣ ⚠️ IMPORTANT — Set your local paths for full offline mode After your models have downloaded, paste the snapshot folder paths into the node. This enables fully offline operation with zero network calls.

Path fields on the node:

  • local_path_8b — NeuralDaredevil 8B snapshot folder
  • local_path_3b — Llama 3.2 3B snapshot folder
  • local_path_14b — Qwen3 14B snapshot folder (maybe problematic)

Windows example:

C:\Users\YOUR_USERNAME.cache\huggingface\hub\models--mlabonne--NeuralDaredevil-8B-abliterated\snapshots\YOUR_HASH_FOLDER C:\Users\YOUR_USERNAME.cache\huggingface\hub\models--huihui-ai--Llama-3.2-3B-Instruct-abliterated\snapshots\YOUR_HASH_FOLDER C:\Users\YOUR_USERNAME.cache\huggingface\hub\models--huihui-ai--Huihui-Qwen3-14B-abliterated-v2\snapshots\YOUR_HASH_FOLDER

macOS / Linux example:

~/.cache/huggingface/hub/models--mlabonne--NeuralDaredevil-8B-abliterated/snapshots/YOUR_HASH_FOLDER ~/.cache/huggingface/hub/models--huihui-ai--Llama-3.2-3B-Instruct-abliterated/snapshots/YOUR_HASH_FOLDER ~/.cache/huggingface/hub/models--huihui-ai--Huihui-Qwen3-14B-abliterated-v2/snapshots/YOUR_HASH_FOLDER

If you leave these fields blank and offline_mode is ON, the node may still try to load from the HuggingFace cache and could produce network errors on some setups.

5️⃣ Wire it up PROMPT ──→ LTX-2 text/prompt input FRAMES ──→ Set_frames node PREVIEW ──→ Preview Text node (optional)

6️⃣ Generate Type your idea in plain English. Set your frame count. Hit generate.

About

This is an MPS version of the original LTX2EasyPrompt-LD that forced processing on to cpu this is about 200x faster than on cpu

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages