CivArchive
    ← All articles
    Published September 22, 2026by Hatolic

    How to Make a Local LLM Write Random Prompts for You in ComfyUI

    403 views2 reactions0 comments on CivitAI3 collected
    krea2workflowcustom nodeguidetool guide

    New prompt:
    You are a creative engineer who creates rich image-generation prompts for unusual high-fashion photography.

    User options: [young woman in night club]

    Treat the User options as the ONLY fixed constraint: the subject and the location.

    Step 1 (internal only, never output): Invent a completely random short story that fits the given scene. The genre and action must be random each time: love, battle, training, everyday life, leisure, mystery, adventure, rivalry, solitude, celebration, etc. The story must define ONE specific action, ONE mood, and ONE coherent moment inside that location.

    Step 2: Convert that story into one rich English image-generation prompt, maximum 400 words. The final image must look like a high-fashion editorial shoot.

    Output only the final raw prompt. Do NOT output the story, reasoning, explanations, headings, key points, or phrases like "Here's a hint:".

    IMPORTANT — what "unusual" means here:

    Unusual comes from COMPOSITION, CAMERA, and FRAMING — NOT from dumping random surreal objects into the scene. Every object in the frame must belong to the chosen location and make logical sense there. If the scene is a gym, everything is gym-related; if it is a cafe, everything is cafe-related. Nothing unrelated may appear.

    Achieve the unusual look through at least 3 of these: unexpected camera angle; extreme low or top-down view; strong foreground occlusion; off-center or tilted composition; unusual crop; extreme perspective or foreshortening; deep layered depth with foreground / midground / background; subject partially out of frame; mirror or reflection play; motion blur; lens distortion; wide-angle or telephoto compression; dramatic negative space; asymmetric balance; extreme scale contrast between subject and environment.

    Keep it coherent: one clear scene, one clear action, one clear mood. Do not mix unrelated themes.

    Style: high-fashion editorial photography. Styling, outfit, hair, makeup, and props must fit the chosen location and the invented story. Think Vogue / campaign-level composition. Atmospheric, intentional, cinematic. If the setting suggests it, allow subtle futuristic or magical elements — but only ones that logically belong to that setting.

    Include a 5–10 word lighting and atmosphere description.

    Test images from generator.
    https://civitai.red/posts/31170231
    More:
    https://civitai.red/posts/31299313


    ===============================================================

    🎲 OLLAMA RANDOM PROMPT → GENERATE

    Custom node for ComfyUI

    Folder: ComfyUI/custom_nodes/OGTE/

    Hatolic 2026 — made for lazy bums. 🦆

    Telegram: https://t.me/chototipaneuro

    ===============================================================

    A node for lazy bums. 🦆

    Are you seriously going to come up with a prompt by hand every single time?

    No. You'll queue up a batch, go grab a cup of tea, come back — and you'll have

    200 images generated from random solid prompts. A local LLM via Ollama writes

    the prompt for you, the node immediately wraps it into conditioning and hands

    it off to any generator.

    ===============================================================

    ⭐ WORKS PERFECTLY WITH GEMMA 4

    ===============================================================

    This node is tuned and tested for the Gemma family, including the new

    Gemma 4 line: gemma4:e2b, gemma4:e4b, gemma4:12b.

    Why Gemma 4:

    • Native support for the system prompt — you can use a full system role,

    just like in regular chat models (older Gemma can't do this)

    • Consistently produces long, coherent text without lists or tags

    • Holds the "output only the prompt, nothing else" instruction very well

    • E2B and E4B — efficient, lightweight, run great on laptops

    • 12B — unified multimodal model with up to 256K context

    Choosing a model for your hardware:

    gemma4:e2b — 2.3B, ~2-3 GB, ultra-light for laptops and edge devices

    gemma4:e4b — 4.5B, ~3-5 GB, the sweet spot for most tasks

    gemma4:12b — 12B, ~7-8 GB, best balance of quality and speed on RTX 3060+

    gemma4:26b — 26B MoE (4B active), ~17 GB, fast and smart

    gemma4:31b — 31B Dense, ~20 GB, max quality, needs real VRAM

    Verified commands:

    ollama pull gemma4:e2b

    ollama pull gemma4:e4b

    ollama pull gemma4:12b

    ollama pull gemma4:26b

    ollama pull gemma4:31b

    If you want to set it up once and forget it — use gemma4:e4b on a laptop or

    gemma4:12b on a machine with a GPU. Other models are supported too,

    but Gemma 4 is the top pick.

    ===============================================================

    📁 FILE STRUCTURE

    ===============================================================

    ComfyUI/custom_nodes/OGTE/

    ├── init.py ← REQUIRED

    ├── ollama_generate_then_encode.py ← main script

    └── config.ini ← created automatically on first run

    ===============================================================

    🧠 SUPPORTED MODELS

    ===============================================================

    gemma4* → ⭐ RECOMMENDED. Native system + user

    gemma* (older) → single user prompt (no system)

    qwen* → system + user (natively handles system)

    mistral* / mixtral* → system + user

    everything else → standard system + user

    The model list is pulled automatically from your Ollama at /api/tags.

    ===============================================================

    📦 REQUIREMENTS

    ===============================================================

    • Running Ollama at http://127.0.0.1:11434 (or another address)

    • At least one model: ollama pull gemma4:e4b (recommended) / e2b / 12b

    • Python packages: requests, torch (already bundled with ComfyUI)

    ===============================================================

    ⚙️ INPUTS / OUTPUTS

    ===============================================================

    INPUTS:

    ollama_host — Ollama address (default: http://127.0.0.1:11434)

    ollama_model — which model to call (list is automatic)

    system_prompt — instruction for the model (multiline)

    temperature — creativity (0.7 normal, 1.2+ chaos, 0.3 boring)

    seed — 0 = random every time, otherwise fixed

    max_retries — how many times to re-request on short/empty responses

    save_prompts — whether to save the prompt to a file

    clip (optional) — if connected, returns CONDITIONING

    OUTPUTS:

    conditioning — ready CONDITIONING for the sampler

    generated_prompt — the prompt text (for Show Text / copying)

    ===============================================================

    🚀 HOW TO USE (FOR LAZY BUMS)

    ===============================================================

    1. Add the node 🎲 Ollama → Random Prompt → Generate

    2. Pick a model like gemma4:e4b (or e2b / 12b) in the ollama_model field

    3. Connect CLIP (the same one going into your generator — Flux/SDXL/anything)

    4. conditioning output → into KSampler

    5. generated_prompt output → into Show Text (so you can read what it cooked up)

    6. Queue with as many iterations as you want (e.g., 100)

    7. Go drink your tea ☕

    Every iteration — a new random prompt. Every iteration — a new image.

    ===============================================================

    💾 SAVING PROMPTS

    ===============================================================

    If save_prompts = true (default), every prompt is written to:

    ComfyUI/output/prompts/prompts_YYYY-MM-DD.txt

    Format:

    1. A bathroom turned upside down. The bathtub is filled with rubber ducks...

    2. An abandoned observatory on a cliff at dawn, brass telescopes covered in...

    Numbering is continuous within a day, each day gets a new file.

    You can change the folder in config.ini (the folder field).

    ===============================================================

    🔧 config.ini

    ===============================================================

    The file is created automatically next to the script:

    [Ollama]

    host = http://127.0.0.1:11434

    model = gemma4:e4b

    system_prompt = Generate a detailed image prompt...

    temperature = 0.7

    max_retries = 3

    [Save]

    enabled = true

    folder = prompts

    What this gives you:

    • Default values for all node fields

    • Every time the node runs, the current settings are SAVED back

    • folder can be an absolute path (e.g., D:/prompts)

    ===============================================================

    🦆 FALLBACK

    ===============================================================

    If Ollama is unreachable, all retries failed, or the model produced garbage

    shorter than 50 characters — the node returns the LEGENDARY fallback about

    rubber ducks in the bathroom:

    "A bathroom turned upside down. The bathtub is filled with rubber ducks

    wearing tiny sunglasses..."

    This is not a bug. It's a feature. Better ducks than a red error screen.

    ===============================================================

    ❓ FAQ

    ===============================================================

    Why is the prompt short / empty?

    The model is being dumb or timing out. Increase max_retries to 4–5.

    Or switch to gemma4:e4b.

    Why is it slow?

    Ollama on CPU is pain. On GPU it's tolerable. gemma4:e2b flies even on a

    laptop, gemma4:e4b is the sweet spot, gemma4:12b if you have an RTX 3060+.

    Which model is best?

    Gemma 4. Specifically:

    • gemma4:e2b — for weak machines and edge devices

    • gemma4:e4b — optimal for most people

    • gemma4:12b — best quality on reasonable hardware

    It doesn't act up, natively supports the system prompt, and consistently

    writes long scenes without garbage.

    I want text only, without CLIP.

    Don't connect clip. The conditioning output will be None, and

    generated_prompt works as usual.

    The node didn't appear in the menu.

    Check that OGTE/ contains init.py. Without it ComfyUI won't see the

    script inside the subfolder.

    Where are the prompts saved?

    ComfyUI/output/prompts/. If you want a different location — edit config.ini.

    ===============================================================

    📜 LICENSE

    ===============================================================

    Do whatever you want. Just don't hurt the ducks. 🦆

    Hatolic 2026 — for lazy bums, with love.

    More useful stuff: https://t.me/chototipaneuro



    По Русски.
    ===============================================================

    🎲 OLLAMA RANDOM PROMPT → GENERATE

    Кастомная нода для ComfyUI

    Папка: ComfyUI/custom_nodes/OGTE/

    Hatolic 2026 — сделано для ленивых жопок. 🦆

    Telegram: https://t.me/chototipaneuro

    ===============================================================

    Нода для ленивых жопок. 🦆

    Ты что, серьёзно будешь каждый раз руками придумывать промпт? Нет. Ты запустишь

    очередь, уйдёшь пить чай, вернёшься — а у тебя 200 картинок сгенерировано по

    случайным годным промптам. Локальная LLM через Ollama пишет промпт за тебя,

    нода сразу заворачивает его в conditioning и отдаёт любому генератору.

    ===============================================================

    ⭐ ИДЕАЛЬНО РАБОТАЕТ С GEMMA 4

    ===============================================================

    Нода заточена и протестирована под семейство Gemma, включая новую линейку

    Gemma 4: gemma4:e2b, gemma4:e4b, gemma4:12b.

    Почему именно Gemma 4:

    • Нативная поддержка system-промпта — можно использовать полноценный system

    role, как в обычных чат-моделях (старые Gemma так не умеют)

    • Стабильно выдаёт длинный связный текст без списков и тегов

    • Отлично держит инструкцию "output only the prompt, nothing else"

    • E2B и E4B — эффективные модели, лёгкие, летают на ноутбуках

    • 12B — унифицированная мультимодальная модель с контекстом до 256K

    Выбор модели под железо:

    gemma4:e2b — 2.3B, ~2-3 GB, ультралёгкая для ноутов и edge-девайсов

    gemma4:e4b — 4.5B, ~3-5 GB, золотая середина для большинства задач

    gemma4:12b — 12B, ~7-8 GB, лучший баланс качества и скорости на RTX 3060+

    gemma4:26b — 26B MoE (4B активных), ~17 GB, быстрая и умная

    gemma4:31b — 31B Dense, ~20 GB, максимальное качество, нужна нормальная VRAM

    Проверенные команды:

    ollama pull gemma4:e2b

    ollama pull gemma4:e4b

    ollama pull gemma4:12b

    ollama pull gemma4:26b

    ollama pull gemma4:31b

    Если хочешь один раз настроить и забыть — ставь gemma4:e4b для ноутбука или

    gemma4:12b для машины с видеокартой. Остальные модели тоже поддерживаются,

    но Gemma 4 — топ.

    ===============================================================

    📁 СТРУКТУРА ФАЙЛОВ

    ===============================================================

    ComfyUI/custom_nodes/OGTE/

    ├── init.py ← ОБЯЗАТЕЛЕН

    ├── ollama_generate_then_encode.py ← основной скрипт

    └── config.ini ← создастся автоматически при первом запуске

    ===============================================================

    🧠 ПОДДЕРЖИВАЕМЫЕ МОДЕЛИ

    ===============================================================

    gemma4* → ⭐ РЕКОМЕНДУЕТСЯ. Нативный system + user

    gemma* (старые) → один user-промпт (без system)

    qwen* → system + user (нативно жрёт system)

    mistral* / mixtral* → system + user

    остальные (llama...) → стандартный system + user

    Список моделей подтягивается автоматически из твоего Ollama по /api/tags.

    ===============================================================

    📦 ТРЕБОВАНИЯ

    ===============================================================

    • Запущенный Ollama на http://127.0.0.1:11434 (или другом адресе)

    • Хотя бы одна модель: ollama pull gemma4:e4b (рекомендую) / e2b / 12b

    • Python-пакеты: requests, torch (уже стоят вместе с ComfyUI)

    ===============================================================

    ⚙️ ВХОДЫ / ВЫХОДЫ

    ===============================================================

    ВХОДЫ:

    ollama_host — адрес Ollama (default: http://127.0.0.1:11434)

    ollama_model — какую модель дёргать (список автоматом)

    system_prompt — инструкция для модели (multiline)

    temperature — креативность (0.7 норм, 1.2+ дичь, 0.3 скука)

    seed — 0 = каждый раз рандом, иначе фиксированный

    max_retries — сколько раз перезапросить при коротком/пустом ответе

    save_prompts — сохранять ли промпт в файл

    clip (optional) — если подключишь, вернёт CONDITIONING

    ВЫХОДЫ:

    conditioning — готовый CONDITIONING для сэмплера

    generated_prompt — текст промпта (для Show Text / копирования)

    ===============================================================

    🚀 КАК ПОЛЬЗОВАТЬСЯ (ДЛЯ ЛЕНИВЫХ ЖОПОК)

    ===============================================================

    1. Добавь ноду 🎲 Ollama → Random Prompt → Generate

    2. Выбери модель gemma4:e4b (или e2b / 12b) в поле ollama_model

    3. Подключи CLIP (тот же, что идёт в твой генератор — Flux/SDXL/что угодно)

    4. Выход conditioning → в KSampler

    5. Выход generated_prompt → в Show Text (чтобы читать, что там выдумалось)

    6. Включи queue с нужным количеством итераций (например, 100)

    7. Иди пить чай ☕

    Каждая итерация — новый случайный промпт. Каждая итерация — новая картинка.

    ===============================================================

    💾 СОХРАНЕНИЕ ПРОМПТОВ

    ===============================================================

    Если save_prompts = true (по умолчанию), каждый промпт пишется в:

    ComfyUI/output/prompts/prompts_YYYY-MM-DD.txt

    Формат:

    1. A bathroom turned upside down. The bathtub is filled with rubber ducks...

    2. An abandoned observatory on a cliff at dawn, brass telescopes covered in...

    Нумерация сквозная в пределах дня, каждый день — новый файл.

    Папку можно поменять в config.ini (поле folder).

    ===============================================================

    🔧 config.ini

    ===============================================================

    Файл создаётся автоматически рядом со скриптом:

    [Ollama]

    host = http://127.0.0.1:11434

    model = gemma4:e4b

    system_prompt = Generate a detailed image prompt...

    temperature = 0.7

    max_retries = 3

    [Save]

    enabled = true

    folder = prompts

    Что это даёт:

    • Значения по умолчанию для всех полей ноды

    • При каждом запуске ноды текущие настройки СОХРАНЯЮТСЯ обратно

    • folder можно указать абсолютным путём (например D:/prompts)

    ===============================================================

    🦆 FALLBACK

    ===============================================================

    Если Ollama недоступна, все ретраи провалились, или модель выдала мусор

    короче 50 символов — нода вернёт ЛЕГЕНДАРНЫЙ fallback про уточек в ванной:

    "A bathroom turned upside down. The bathtub is filled with rubber ducks

    wearing tiny sunglasses..."

    Это не баг. Это фича. Лучше уточки, чем красный экран с ошибкой.

    ===============================================================

    ❓ FAQ

    ===============================================================

    Почему промпт короткий / пустой?

    Модель тупит или таймаут. Увеличь max_retries до 4–5. Или возьми gemma4:e4b.

    Почему долго?

    Ollama на CPU — это боль. На GPU — терпимо. gemma4:e2b летает даже на ноуте,

    gemma4:e4b — золотая середина, gemma4:12b — если есть RTX 3060+.

    Какая модель лучше всего?

    Gemma 4. Конкретно:

    • gemma4:e2b — для слабых машин и edge

    • gemma4:e4b — оптимально для большинства

    • gemma4:12b — лучшее качество на разумном железе

    Она не выделывается, нативно поддерживает system-промпт и стабильно пишет

    длинные сцены без мусора.

    Хочу только текст, без CLIP.

    Не подключай clip. Выход conditioning будет None, а generated_prompt — как обычно.

    Нода не появилась в меню.

    Проверь, что в папке OGTE/ есть init.py. Без него ComfyUI не увидит

    скрипт внутри подпапки.

    Куда пишутся промпты?

    ComfyUI/output/prompts/. Если надо в другое место — правь config.ini.

    ===============================================================

    📜 ЛИЦЕНЗИЯ

    ===============================================================

    Делай что хочешь. Только уточек не обижай. 🦆

    Hatolic 2026 — для ленивых жопок, с любовью.

    Больше полезного: https://t.me/chototipaneuro

    Attachments

    Archived from CivitAI · Updated September 30, 2026View source