Gemini Smart Prompt Generator
The style mixer that doesn't actually call Gemini
- enhanced_prompt
- negative_prompt
Here's the thing nobody tells you up front: for a node called "Gemini," this one doesn't ask for an API key, a model, or a provider. Look at its inputs and there's no api_key, no model dropdown, nothing that reaches the network. Every field is either a chunk of text you type or a style picker. So despite the badge, this reads as a local prompt assembler - it takes your base prompt and staples curated style tokens onto it, optionally at random. That's good news, actually: it's free, offline, instant, and repeatable with a fixed seed.
What it's for
You've got base_prompt - say "A beautiful landscape" - and you want it dressed up with a style without hand-writing "in the style of Studio Ghibli, cinematic lighting, oil painting." This node holds enormous curated libraries and lets you pick from dropdowns instead. The artist_style list alone has over 7,000 entries; there are separate menus for general art styles (126), movies (47), anime (52), mood (11), and digital art forms (80). Pick a few, and it fuses them into your prompt.
The other half of the node is a slot machine. random_mode has four settings - Disabled, Random Styles Only, Random Base+Styles, and Fully Random - and paired with num_random_styles (how many to grab, 1–10) and randomize_seed, it'll spin up prompt variety without you writing a single new word. Batch it and you get a spread of looks off one seed. preserve_user_text (on by default) keeps your own words intact instead of letting the randomizer overwrite them.
The inputs that matter
Most of the dropdowns you'll leave on None. The three you'll actually touch:
base_prompt- your subject, in whatever your model likes. This is the load-bearing input.random_mode+num_random_styles- the whole reason to reach for this node over just typing. Leave it Disabled and hand-pick styles, or turn it up for variety.- One or two style dropdowns (
artist_style,movies_style,Anime_style, etc.) if you want a specific look rather than a random one.
There's a negative_prompt field it carries through, and an optional prompt_template if you want to shape the output format. It emits two outputs: enhanced_prompt (wire this into your CLIP Text Encode positive) and negative_prompt (into the negative encode). Straightforward.
The honest take on whether it helps
This is where you need to know what model you're feeding. On the SDXL lineage - Illustrious, NoobAI, Pony, WAI - artist names and style tags genuinely move the image, because those models were trained on that vocabulary. Dumping a curated style onto an SDXL prompt is exactly the kind of thing that works.
On the 2026 LLM-encoded models - Z-Image, Flux 2, Anima, Krea 2 - it's a different story, and this is the trap. Those models read your prompt like an instruction, not a tag bag. Attention weights are silently discarded, quality-tag spam does nothing, and there's a soft cap around 75–100 effective tokens where the model starts to drift. Bolt 6 random artist names onto a Z-Image prompt and you're often just diluting the concepts that mattered. If that's your model, structure and word order beat style-stacking every time.
So: reach for it on anime/SDXL work where the giant artist library pays off, and be skeptical of it on the newer instruction-following models. Either way, do the one honest test - fix the seed, generate with and without the injected styles, and see if it actually earned its place.
Installing it
ComfyUI Manager is the easy path: search ComfyUI-OllamaGemini, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/al-swaiti/ComfyUI-OllamaGemini
pip install -r requirements.txt
then restart. This particular node needs no API keys and downloads no model weights - the style libraries ship in the repo. The catch is that OllamaGemini is a big kitchen-sink pack (five API providers, video, background removal, and more), so its requirements.txt pulls a lot of Python dependencies. If the node doesn't show up after install, that's almost always a dependency conflict during the pip step - check the ComfyUI startup console for the red traceback, which is where the ecosystem's dependency-hell problem announces itself.
Where people get stuck
The main friction is the 7,000-entry artist dropdown - scrolling it is a chore, and half the names won't do much on any given checkpoint. Treat it as a menu to sample from, not a comprehensive control. And remember the node just concatenates text; it can't fix a prompt that's fighting your model's encoder. If the "enhanced" prompt makes things worse, the node did its job - the styles you picked are the problem.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| base_prompt | STRING | A beautiful landscape | — |
| negative_prompt | STRING | — | |
| random_mode | COMBO | Disabled | 4 options: Disabled, Random Styles Only, Random Base+Styles, Fully Random |
| num_random_styles | INT | 31–10 | — |
| randomize_seed | INT | 00–999999999 | Seed value used as a base for randomization. A new random seed is generated on every run for variety. The number shown is from the last run. |
| preserve_user_text | BOOLEAN | true | — |
| artist_style | COMBO | None | 7743 options: None, 1041uuu, A. B. Jackson, A. Bill Miller, A. J. Casson, A. R. Middleton Todd, +7737 |
| general-arts_style | COMBO | None | 126 options: None, ads-advertising, ads-automotive, ads-corporate, ads-fashion editorial, ads-food photography, +120 |
| movies_style | COMBO | None | 47 options: None, 2001: A Space Odyssey, Amélie, Blade Runner, The Grand Budapest Hotel, The Matrix, +41 |
| Anime_style | COMBO | None | 52 options: None, Animal Transformation, Artistic and Abstract, Chibi Style, Criminal Underworld, Cultural Festival, +46 |
| mood_style | COMBO | None | 11 options: None, Aggressive, Calm, Chaotic, Energetic, Happy, +5 |
| digital_artform_style | COMBO | None | 80 options: None, Glitch Art, Digital Painting, Acrylic Painting, Algorithmic Art, Animation, +74 |
| prompt_templateopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| enhanced_prompt | STRING | — |
| negative_prompt | STRING | — |