- image
- video
- prompt
- json
"Muse (GGUF)" isn't a describing node - it's a brainstorming node. Where the VLM Prompt nodes look at your media and tell you what's there, Muse invents. You pick a genre, a mood, a shot type, an artist, and a subject; it writes you a full concept with a ready-to-use image prompt. It's the "I have writer's block at 11pm" node, and it's genuinely good at shaking something loose.
The whole thing is constraint-driven. Every dropdown defaults to "Random", and the pools are deep - 79 genres, 50 moods, 114 artists, 63 subjects - so a straight run is a lottery ticket. The fun is narrowing it: pick "Noir Photography" + "Melancholy" + "Dutch Angle" + "Vivian Maier" and let the model do the rest.
The inputs that matter
- genre, mood, shot_type, artist, subject - the five constraint dropdowns, each with a "Random" default.
- free_hint - a freeform word, phrase, or constraint ("cyberpunk detective with a broken umbrella"). Leave empty to dream freely, per the tooltip.
- aesthetic_bias - 12 output styles, from "Stable Diffusion / Tag Style" to "3D Render / Octane". The standout is "Midjourney v6/v7 - Painterly Realism", which the tooltip recommends pairing with the MidjourneyV1Z LoRA.
- output_format -
JSON + Prompt(default),Prompt Only, orJSON Only. This is how the two outputs split. - image (optional) - a style reference.
reference_modethen decides: Style Only invents a new scene matching the visual language, Style + Subject may keep the subject too. - max_tokens (default 900), keep_model_loaded, seed.
It has two outputs: prompt (STRING) - the extracted prompt, ready to paste or wire forward - and json (STRING), the full concept structure. In Prompt Only mode the prompt pin carries the text and JSON mode returns the structure alone.
How it works
Muse reuses the same GGUF engine as the VLM Prompt nodes, in text-only mode - the default model is the same Gemma4-E4B-uncensored-Q4_K_M, and it shares the whole GGUF dependency situation. It builds your constraints into a structured request, asks the model for a concept (in JSON), then extracts the prompt field for the STRING pin. On a video-style reference the engine can also pull a random pose/action hint from its built-in pose bank to keep sequences from going stale.
Install
ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/mexxmillion/ComfyUI-VLMPrompt.git
pip install -r ComfyUI-VLMPrompt/requirements.txt
Restart ComfyUI. The model and its mmproj auto-download to ComfyUI/models/llm/GGUF on first run, and - same caveat as every GGUF node here - llama-cpp-python is not in requirements.txt, so you need a multimodal build with the VLM chat handlers for this node to load at all. The muse data (genres, moods, artists…) lives in muse_data.json and pose_bank.json, so you can curate the pools without touching Python.
Common issues
- Everything feels samey after a while - the pools are finite and a small 4B model lands in familiar ruts. Swap
model_nameto the Qwen options or add afree_hintto break out. - Node missing after install - the llama-cpp-python handler problem again, not Muse itself.
- Reference image ignored - a style reference only does something when the mmproj is actually loaded; check the console for the "no mmproj" warning.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | Gemma4-E4B-uncensored-Q4_K_M | 4 options: Gemma4-E4B-uncensored-Q4_K_M, Qwen3-VL-8B-abliterated-Q4_K_M, Qwen3.5-4B-Uncensored-HauhauCS-Q4_K_M, Qwen3.5-9B-Uncensored-HauhauCS-Q4_K_M |
| genre | COMBO | Random | 79 options: Random, Photo Realism, Cinematic Photography, Street Photography, Landscape Photography, Portrait Photography, +73 |
| mood | COMBO | Random | 50 options: Random, Melancholy, Nostalgia, Loneliness, Quiet Dread, Existential, +44 |
| shot_type | COMBO | Random | 22 options: Random, Wide Establishing Shot, Extreme Wide Shot, Full Shot, Medium Shot, Medium Close-Up, +16 |
| artist | COMBO | Random | 114 options: Random, None, ── Photographers ──, Gregory Crewdson, Cindy Sherman, Annie Leibovitz, +108 |
| subject | COMBO | Random | 63 options: Random, ── Heroines & Protagonists ──, Heroine — Iconic Hero Pose, Heroine — Battle-Worn Warrior, Heroine — Sci-Fi Captain / Pilot, Heroine — Mech Pilot, +57 |
| free_hint | STRING | Optional freeform guidance — a word, phrase, character description, or constraint. Leave empty to dream freely. | |
| output_format | COMBO | JSON + Prompt | 3 options: JSON + Prompt, Prompt Only, JSON Only |
| aesthetic_bias | COMBO | Midjourney v6/v7 — Painterly Realism | Bias the generated prompt toward a specific output aesthetic. 'Midjourney v6/v7' = cinematic painterly realism (recommended for the MidjourneyV1Z LoRA). |
| reference_mode | COMBO | Style Only | When a reference image is connected: 'Style Only' invents a totally new scene matching the visual language. 'Style + Subject' may keep the subject too. |
| max_tokens | INT | 900256–4096 | — |
| keep_model_loaded | BOOLEAN | false | — |
| seed | INT | 11–4294967295 | — |
| imageopt | IMAGE | Optional style reference image — Muse dreams a NEW scene with the same visual DNA | |
| videoopt | IMAGE | Optional video frames as style reference (sampled) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| json | STRING | — |