Nodes/Overtli Studio Suite/🌸 OVERTLI Pollinations Text Enhancer
ComfyUI Node

🌸 OVERTLI Pollinations Text Enhancer

Pollinations prompt enhancement without a key

By OvertliDSΒ·Created 5 months agoΒ·Updated 2 days agoΒ· 16
🌸 OVERTLI Pollinations Text Enhancer
  • image
  • enhanced_text
β—„promptβ–Ί
β—„text_mode_enabledfalseβ–Ί
β—„text_modeOffβ–Ί
β—„image_mode_enabledfalseβ–Ί
β—„image_modeOffβ–Ί
β—„video_mode_enabledfalseβ–Ί
β—„video_modeOffβ–Ί
β—„tts_mode_enabledfalseβ–Ί
β—„tts_modeOffβ–Ί
β—„modelopenai [text] [vision] [free]β–Ί
β—„file_pathβ–Ί
β—„custom_instructionsβ–Ί
β—„style_preset_1Offβ–Ί
β—„style_preset_2Offβ–Ί
β—„style_preset_3Offβ–Ί
β—„additional_stylesβ–Ί
β—„temperature0.7β–Ί
β—„max_tokens750β–Ί
β—„seed-1β–Ί
β—„vision_enabledtrueβ–Ί
β—„batch_image_modeall_framesβ–Ί
β—„max_batch_frames0β–Ί
β—„api_keyβ–Ί
β—„persist_api_keyfalseβ–Ί

The name is only half a lie. GZ_TextEnhancer does enhance text - it ships a rough idea to Pollinations' chat API and gets back a prompt ready for your sampler - but it doesn't call any API you have to set up. The free tier needs no key at all, which makes this the fastest "hello" node in the Overtli Studio Suite: type a rough idea, add the node, wire its enhanced_text output into your CLIP Text Encode's text input, and run. Everything else in your graph stays exactly where it is.

That drop-in placement is the point. If your checkpoint's encoder is itself a language model reading an instruction, having a second language model write that instruction is translation between two things that speak the same language - the pattern the community converged on as prompt enhancement went mainstream (prompt-engineering.md). You're not fighting your pipeline, you're bolting a writer onto the front of it.

How it works

Pollinations exposes an OpenAI-compatible chat endpoint, and this node speaks it. Your prompt plus the mode instructions you pick get assembled and sent to gen.pollinations.ai; the returned text comes back through an output sanitizer that strips chat scaffolding before it hits enhanced_text. Crucially for beginners: Pollinations' own models are also on their free tier, so the whole thing works with an empty api_key field. An optional IMAGE input exists because the default models are vision-capable - connect one and the node describes or rewrites based on what it sees, which is handy for img2img prompt seeding.

The three model choices (openai, openai-fast, openai-large) are the only ones this node exposes - the free-tier chat models, tagged [text] [vision] [free] in the dropdown. If you want the hundreds-of-models catalog, that's what GZ_AdvancedTextEnhancer is for.

The inputs that matter

  • prompt - your raw idea. Multiline, no weight syntax needed; treat it as a note to the writer.
  • text_mode_enabled + text_mode - the presets are the value here. "Enhance" expands a short idea into a richer prompt; "Refine" tightens wording without changing intent; "Ultra Detailed Prompt" and the image/video/TTS families give you mode-specific output shapes. One group at a time, and Off means the raw prompt sails through mostly untouched.
  • image - optional vision context.
  • style_preset_1..3 and additional_styles - layer curated style text on top. additional_styles is socket-first so it chains cleanly from the pack's GZ_StyleStackNode.

temperature, max_tokens, seed and vision_enabled are all there, but the defaults are sane - leave them alone on your first pass.

Output and wiring

Single enhanced_text STRING output. Into a CLIP Text Encode, a text-to-video prompt slot, or anywhere else text flows. That's the whole job, and it's refreshingly contained.

Installing

Search "Overtli" in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/OvertliDS/overtli-studio-suite
cd overtli-studio-suite
pip install -r requirements.txt

Restart ComfyUI afterward. Dependencies are just requests, Pillow and numpy - nothing heavy, and no model downloads, because the model isn't yours.

Where people get burned

Three things. First, this is a cloud call - Pollinations is a free hosted tier and it has the reliability of a free hosted tier (slow or down during spikes is a known complaint). If a run times out, raise GZ_POLLINATIONS_CHAT_TIMEOUT or retry. Second, free models censor; if your content gets refused at the source there is no workaround, because there are no local weights to edit. Third, mode presets add detail - that's the feature and the trap - so on "Enhance" expect the model to invent specifics you didn't ask for. Use "Refine" when you want your idea preserved, and reserve "Enhance" for when you genuinely want it expanded.

CategoryOVERTLI STUDIO/LLM

Inputs (25)

NameTypeDefaultDescription
promptSTRINGβ€”
text_mode_enabledBOOLEANfalseβ€”
text_modeCOMBOOff15 options: Off, πŸ“ Enhance, πŸ“ Refine, πŸ“ Creative Rewrite, πŸ“ Detailed Visual, πŸ“ Artistic Style, +9
image_mode_enabledBOOLEANfalseβ€”
image_modeCOMBOOff25 options: Off, πŸ–ΌοΈ Tags, πŸ–ΌοΈ Simple Description, πŸ–ΌοΈ Detailed Scene Description, πŸ–ΌοΈ Ultra Detailed Description, πŸ–ΌοΈ Portrait Photography, +19
video_mode_enabledBOOLEANfalseβ€”
video_modeCOMBOOff12 options: Off, πŸŽ₯ Cinematic Video Prompt, πŸŽ₯ Loop Video Prompt, πŸŽ₯ Action Sequence, πŸŽ₯ Ambient/B-Roll, πŸŽ₯ Product Showcase, +6
tts_mode_enabledBOOLEANfalseβ€”
tts_modeCOMBOOff9 options: Off, 🎀 Voiceover Script, 🎀 Character Voice, 🎀 Audiobook Narration, 🎀 Podcast Intro, 🎀 Commercial Spot, +3
modelCOMBOopenai [text] [vision] [free]3 options: openai [text] [vision] [free], openai-fast [text] [vision] [free], openai-large [text] [vision] [free]
imageoptIMAGEβ€”
file_pathoptSTRINGβ€”
custom_instructionsoptSTRINGβ€”
style_preset_1optCOMBOOff492 options: Off, 3D / CGI / Stylized 3D :: 3D Cartoon [3d] [stylized], 3D / CGI / Stylized 3D :: 3D Render [3d] [cgi], 3D / CGI / Stylized 3D :: 3D Sculpt Turntable Style [3d] [sculpt], 3D / CGI / Stylized 3D :: CAD Product Render [3d] [industrial], 3D / CGI / Stylized 3D :: Clay Render / ZBrush Style [3d] [sculpt], +486
style_preset_2optCOMBOOff492 options: Off, 3D / CGI / Stylized 3D :: 3D Cartoon [3d] [stylized], 3D / CGI / Stylized 3D :: 3D Render [3d] [cgi], 3D / CGI / Stylized 3D :: 3D Sculpt Turntable Style [3d] [sculpt], 3D / CGI / Stylized 3D :: CAD Product Render [3d] [industrial], 3D / CGI / Stylized 3D :: Clay Render / ZBrush Style [3d] [sculpt], +486
style_preset_3optCOMBOOff492 options: Off, 3D / CGI / Stylized 3D :: 3D Cartoon [3d] [stylized], 3D / CGI / Stylized 3D :: 3D Render [3d] [cgi], 3D / CGI / Stylized 3D :: 3D Sculpt Turntable Style [3d] [sculpt], 3D / CGI / Stylized 3D :: CAD Product Render [3d] [industrial], 3D / CGI / Stylized 3D :: Clay Render / ZBrush Style [3d] [sculpt], +486
additional_stylesoptSTRINGβ€”
temperatureoptFLOAT0.70–2β€”
max_tokensoptINT75064–16384β€”
seedoptINT-1-1–2147483647β€”
vision_enabledoptBOOLEANtrueβ€”
batch_image_modeoptCOMBOall_frames3 options: all_frames, first_middle_last, first_frame
max_batch_framesoptINT00–512β€”
api_keyoptSTRINGβ€”
persist_api_keyoptBOOLEANfalseβ€”

Outputs (1)

NameTypeDescription
enhanced_textSTRINGβ€”