⭐ OVERTLI Advanced Studio
The whole Overtli suite behind a router
- image
- audio
- text
- image
- video
- audio
"GZ_AdvancedTextEnhancer" is a spectacularly misnamed node. It does far more than enhance text - it's the control-room node of the whole Overtli Studio Suite. Think of it as a router: pick a backend on the left, pick a job on the right, and one node hands back text, an image, a video, or audio depending on what you asked for. If you only install one thing from this pack, this is it.
The two inputs that actually run the show are provider and active_engine. Provider is your backend: pollinations (the cloud default), lm_studio or copilot (local), or openai_compatible (any OpenAI-shaped API). Then active_engine says which modality you want from that backend - text, image, video, text_to_speech, speech_to_text, or text_to_music. Not every combination exists (Copilot and LM Studio only do text), and the node validates the pairing for you with a readable terminal error instead of silently doing nothing.
So what is it mechanically? A dispatcher. Under the hood the node's routing calls the exact same engine classes as the pack's single-purpose nodes - GZ_ImageGen, GZ_TextToSpeech, and the rest. You aren't getting a different or worse result by going through the router; you're getting every node in the pack collapsed into one surface so you can swap active_engine between runs without rebuilding your graph. Nice for iterating: run an idea as text, then flip the engine to image and generate straight from the same prompt.
The inputs that matter
Beyond provider and engine you've got a big optional pile. The mode groups are the real personality of this suite: each family has an *_mode_enabled toggle plus a preset dropdown - text_mode (Enhance, Refine, Ultra Detailed Prompt…), image_mode (Tags, Concept Art, Portrait…), video_mode (Cinematic, Loop, i2v scripts), plus TTS, STT and music variants. Only enable one group at a time; each preset is an instruction that gets layered with your custom_instructions, your prompt, and your style layers in a strict order. style_preset_1..3 are giant curated dropdowns, and additional_styles is socket-first, so it chains straight off the pack's GZ_StyleStackNode.
For the cloud engines the model dropdowns (hundreds of entries tagged [free]/[paid], [text]/[vision], etc.) are fetched live from the provider, and temperature, max_tokens and timeout_seconds behave like you'd expect. Optional IMAGE and AUDIO inputs feed the vision and STT/TTS routes, and the per-node api_key/api_base_url overrides beat any persisted settings.
The outputs
Four sockets: text, image, video, audio. One run fills text plus whichever media output your engine produces - wire the one you care about forward (text into a CLIP Text Encode, or the image/video/audio into a preview or save node). Blank sockets are harmless, so you can leave the others dangling.
Install and first run
Search "Overtli" in ComfyUI Manager, or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/OvertliDS/overtli-studio-suite
cd overtli-studio-suite
pip install -r requirements.txt
Then restart ComfyUI. Dependencies are genuinely light - requests, Pillow, numpy; torch comes from ComfyUI. The pack README's quick start is: add GZ_ProviderSettings once to save your keys, add this node, pick provider and active_engine, run.
Where people trip
Set exactly one instruction group and don't stack them. Video generation is synchronous - the UI freezes until the provider finishes rendering, which the README confirms is expected, so set timeout_seconds accordingly. Keys have a resolution order (node input beats environment variable beats persisted settings), so a stale api_key on the node can silently override the key you saved in Provider Settings. And remember this is a cloud-first route: prompts and reference images leave your machine, and the free Pollinations tier is free for a reason.
Inputs (54)
| Name | Type | Default | Description |
|---|---|---|---|
| provider | COMBO | pollinations | 4 options: pollinations, lm_studio, copilot, openai_compatible |
| active_engine | COMBO | text (pollinations, lm_studio, copilot, openai_compatible) | 6 options: text (pollinations, lm_studio, copilot, openai_compatible), image (pollinations, openai_compatible), video (pollinations, openai_compatible), text_to_speech (pollinations, openai_compatible), speech_to_text (pollinations, openai_compatible), text_to_music (pollinations, openai_compatible) |
| prompt | STRING | — | |
| text_mode_enabledopt | BOOLEAN | false | — |
| text_modeopt | COMBO | Off | 15 options: Off, 📝 Enhance, 📝 Refine, 📝 Creative Rewrite, 📝 Detailed Visual, 📝 Artistic Style, +9 |
| image_mode_enabledopt | BOOLEAN | false | — |
| image_modeopt | COMBO | Off | 25 options: Off, 🖼️ Tags, 🖼️ Simple Description, 🖼️ Detailed Scene Description, 🖼️ Ultra Detailed Description, 🖼️ Portrait Photography, +19 |
| video_mode_enabledopt | BOOLEAN | false | — |
| video_modeopt | COMBO | Off | 12 options: Off, 🎥 Cinematic Video Prompt, 🎥 Loop Video Prompt, 🎥 Action Sequence, 🎥 Ambient/B-Roll, 🎥 Product Showcase, +6 |
| tts_mode_enabledopt | BOOLEAN | false | — |
| tts_modeopt | COMBO | Off | 9 options: Off, 🎤 Voiceover Script, 🎤 Character Voice, 🎤 Audiobook Narration, 🎤 Podcast Intro, 🎤 Commercial Spot, +3 |
| stt_mode_enabledopt | BOOLEAN | false | — |
| stt_modeopt | COMBO | Off | 4 options: Off, 🧾 Clean Transcript, 🧾 Punctuation and Casing, 🧾 Structured Notes |
| ttaudio_mode_enabledopt | BOOLEAN | false | — |
| ttaudio_modeopt | COMBO | Off | 4 options: Off, 🔊 Audio Prompt Enhance, 🔊 Music Direction, 🔊 Ambience and Foley |
| pollinations_modelopt | COMBO | auto | 617 options: auto, openai [text] [vision] [free] [tools], qwen/qwen3.8-flash [text] [vision] [free] [tools], openai/gpt-6-astra [text] [vision] [free] [tools], qwen/qwen3.8-max-0902 [text] [vision] [free] [tools], deepseek/deepseek-v4-flash-vision-exp [text] [vision] [free] [tools], +611 |
| lm_studio_modelopt | COMBO | auto [local] | 1 options: auto [local] |
| copilot_modelopt | COMBO | gpt-5.3-codex | 17 options: gpt-5.3-codex, gpt-4o, gpt-5.4, gpt-5.4-mini, gpt-5.2-codex, gpt-5.2, +11 |
| openai_model_overrideopt | STRING | — | |
| imageopt | IMAGE | — | |
| audioopt | AUDIO | — | |
| vision_enabledopt | BOOLEAN | true | — |
| batch_image_modeopt | COMBO | all_frames | 3 options: all_frames, first_middle_last, first_frame |
| max_batch_framesopt | INT | 00–512 | — |
| custom_instructionsopt | STRING | — | |
| style_preset_1opt | COMBO | Off | 492 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_2opt | COMBO | Off | 492 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_3opt | COMBO | Off | 492 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_stylesopt | STRING | — | |
| tts_style_presetopt | COMBO | Off | 10 options: Off, Natural Narration, Podcast Host, Dramatic Performance, Educational Explainer, Broadcast News, +4 |
| stt_style_presetopt | COMBO | Off | 10 options: Off, Verbatim Accuracy, Readable Transcript, Meeting Notes, Legal Deposition, Lecture Digest, +4 |
| ttaudio_style_presetopt | COMBO | Off | 10 options: Off, Cinematic Atmosphere, Lo-Fi Chill, Epic Trailer, Ambient Focus, Synthwave Drive, +4 |
| advanced_audio_style_bundleopt | COMBO | Off | 5 options: Off, Clarity Bundle, Creator Bundle, Cinematic Bundle, Broadcast Bundle |
| temperatureopt | FLOAT | 0.70–2 | — |
| max_tokensopt | INT | 75064–32768 | — |
| timeout_secondsopt | INT | 1205–1200 | — |
| seedopt | INT | 00–18446744073709550000 | — |
| output_formatopt | COMBO | text | 2 options: text, json |
| media_widthopt | INT | 512128–4096 | — |
| media_heightopt | INT | 512128–4096 | — |
| safe_modeopt | BOOLEAN | false | — |
| no_logoopt | BOOLEAN | true | — |
| enhance_media_promptopt | BOOLEAN | false | — |
| stt_response_formatopt | COMBO | text | 5 options: json, text, srt, verbose_json, vtt |
| stt_languageopt | COMBO | auto | 14 options: auto, en, es, pt, fr, de, +8 |
| audio_response_formatopt | COMBO | mp3 | 6 options: mp3, wav, opus, aac, flac, pcm |
| audio_voiceopt | COMBO | nova | 13 options: alloy, echo, fable, onyx, nova, shimmer, +7 |
| audio_speedopt | FLOAT | 1.000.25–4 | — |
| audio_durationopt | INT | 100–600 | — |
| audio_instrumentalopt | BOOLEAN | false | — |
| api_keyopt | STRING | — | |
| api_base_urlopt | STRING | — | |
| copilot_executableopt | STRING | — | |
| persist_provider_settingsopt | BOOLEAN | true | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| image | IMAGE | — |
| video | VIDEO | — |
| audio | AUDIO | — |