Virtual 📋
Virtual (WildPromptor) — camera, lighting, and film-stock keywords
- prompt
This is the "how it's shot" node. Camera bodies, film stocks, lens effects, view angles, lighting setups, poses, expressions - the photographic and stylistic layer that sits on top of your subject and setting. Of all the WildPromptor list nodes, this is the one whose contents are most likely to genuinely improve an image rather than just add words, and there's a specific reason why.
It's part of the WildPromptor pack by 1038lab, who also builds the ComfyUI-RMBG background-removal nodes.
Why the camera and film-stock lists matter
Here's the single most useful fact for photorealism: naming a physical piece of equipment is the highest-leverage phrase there is. Modern text encoders were trained on real photo captions, so "shot on a Canon EOS 5D" or "Cinestill 800T" drops the model out of its glossy beauty-default mode faster than any pile of "realistic, ultra-detailed, 8k" ever will. Film stocks are also the most reliable color-grading control you have - Kodak Portra for warm skin, Ilford HP5 for black-and-white grain, Cinestill 800T for neon night halation.
Virtual's Cameras (47 entries) and Film_Stocks (30) lists are exactly this vocabulary, pre-loaded. That makes them the standout content in the whole pack. The mood-word categories (Expressions, some of the effects) are weaker - quality and emotional modifiers do much less than concrete optical facts.
How it works
Same mechanism as every list node here: the data/Virtual folder holds a .txt file per category, each becomes a dropdown. The categories are Film_Stocks, Photography_Effects, View Angles (116 entries), Camera_Shots, lighting (49), Cameras, image_quality, Expressions (70), Photography_Styles, and Pose (57).
Each dropdown opens with:
- ❌disabled - skip it
- 🎲Random - random line, seed-reproducible
- 🔢ordered - step through in sequence across a batch
The enabled dropdowns are resolved and concatenated.
Inputs and outputs
The dropdowns are the interface; the extra controls are batch_size, seed, and allow_duplicates. The output is prompt, a STRING list. In practice you feed it into the virtual slot of Prompt Concat, alongside subject and environment fragments, rather than using it alone.
An honest take
Reach for the Cameras, Film_Stocks, lighting, and View Angles lists - those are the ones with real payoff. Randomizing Cameras across a batch is a genuinely good way to find a look you didn't know you wanted. The image_quality list, on the other hand, is full of (detailed masterpiece intricate details award winning) type strings, which is dated SDXL boilerplate that does nothing on LLM-encoded models and not much on anything else. Skip it.
Installing it
ComfyUI Manager: search ComfyUI-WildPromptor, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/1038lab/ComfyUI-WildPromptor
then restart. Under 🧪AILab/🧿WildPromptor. No model downloads.
Common issues
- Node missing after install - full restart required; it's under the 🧪AILab menu.
- Camera/film names aren't changing the look - a physical camera phrase is high-leverage but not a magic word; it works best on photoreal models with a matching prompt, and it competes with everything else in your prompt. Keep the rest lean.
- Can't tell what Random selected - chain the Show Prompt node after it.
- Custom lines out of order - added
.txtfiles aren't always displayed in your saved order; restart to re-scan and don't lean on line order except in 🔢ordered mode.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| Film_Stocks [30]opt | COMBO | ❌disabled | 33 options: ❌disabled, 🎲Random, 🔢ordered, Agfa APX 400, Agfa Vista, Agfacolor Pro 200, +27 |
| Photography_Effects [33]opt | COMBO | ❌disabled | 36 options: ❌disabled, 🎲Random, 🔢ordered, Anaglyph 3D Photography, Bloom Effect, Bokeh Effect, +30 |
| View Angles [116]opt | COMBO | ❌disabled | 119 options: ❌disabled, 🎲Random, 🔢ordered, back view, back view Low angle, back view seen from above, +113 |
| Camera_Shots [50]opt | COMBO | ❌disabled | 53 options: ❌disabled, 🎲Random, 🔢ordered, Aerial View, Dolly zoom, Dutch angle shot, +47 |
| lighting [49]opt | COMBO | ❌disabled | 52 options: ❌disabled, 🎲Random, 🔢ordered, Ambient lighting, Area light, Back-light, +46 |
| Cameras [47]opt | COMBO | ❌disabled | 50 options: ❌disabled, 🎲Random, 🔢ordered, Aaton LTR Cinema, ARRI ALEXA 65 Cinema, Bolex H16 Cinema, +44 |
| image_quality [17]opt | COMBO | ❌disabled | 20 options: ❌disabled, 🎲Random, 🔢ordered, (detailed masterpiece intricate details award winning lots of details), (detailed masterpiece most beautiful artwork in the world Ultrarealistic), (elegant highly detailed digital painting artstation concept art smooth sharp focus), +14 |
| Expressions [70]opt | COMBO | ❌disabled | 73 options: ❌disabled, 🎲Random, 🔢ordered, Angry, Annoyed, Appreciative, +67 |
| Photography_Styles.txt [30]opt | COMBO | ❌disabled | 33 options: ❌disabled, 🎲Random, 🔢ordered, Abstract Photography, Action Photography, Analogue Photography, +27 |
| Pose [57]opt | COMBO | ❌disabled | 60 options: ❌disabled, 🎲Random, 🔢ordered, arm support, arms behind back, arms wide open, +54 |
| batch_sizeopt | INT | 11–1000 | — |
| allow_duplicatesopt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |