π OVERTLI LLM Text Enhancer (Legacy ID)
The legacy name that keeps your old workflows alive
- image
- response
This node is a ghost with good intentions. GZ_LMStudioTextEnhancer exists so that old Overtli workflows don't break: it's the legacy ID for the local-model text enhancer, and it maps to exactly the same class as the current GZ_LLMTextEnhancer. The pack registers both names in its node table, one under the "Legacy ID" display name. If you load a workflow saved before the rename, the graph still opens with a working node instead of a red "class not found" error. That's the entire point of its existence.
What it actually is
Mechanically it's identical to GZ_LLMTextEnhancer - same class, same inputs, same response STRING output. The provider dropdown offers LM Studio, Ollama, and OpenAI-Compatible; model is auto [local], meaning the node asks whichever local server is running what models it has. You get the same mode presets (text_mode_enabled/text_mode, image/video/TTS families), the same style_preset_1..3 layering, the same vision support via an optional IMAGE input, and the same VRAM-conscious toggles (unload_lm_studio, unload_ollama, cleanup_vram) that ask the local server to free its model after inference so your sampler gets the card back. For the full write-up, that node's page is your guide - this is the same tool wearing an older badge.
So which one should you use?
New workflows: use GZ_LLMTextEnhancer. You get the same behavior plus a node name that matches the current docs, the README, and every search result written after the rename. Keep GZ_LMStudioTextEnhancer around only for the workflows that already reference it, and migrate those when you next rebuild the graph - there's no functional reason to keep the legacy ID once a workflow has been saved under the new one. ComfyUI doesn't auto-rename nodes in saved JSON; the shim exists precisely because of that.
Install
Same pack, same path: search "Overtli" in ComfyUI Manager, or git clone https://github.com/OvertliDS/overtli-studio-suite into custom_nodes, pip install -r requirements.txt (just requests, Pillow, numpy - nothing heavy, no model files, since models live in your local server), then restart ComfyUI.
The one real trap: because both names are registered, you can absolutely end up with a workflow that has a GZ_LLMTextEnhancer and a GZ_LMStudioTextEnhancer doing the same job side by side, each pointing at the same local server. It works, but it's two nodes burning the same model. Treat the legacy node as compatibility glue, not a second tool - if you find yourself adding it fresh, you probably picked the wrong entry from the menu.
Inputs (30)
| Name | Type | Default | Description |
|---|---|---|---|
| provider | COMBO | LM Studio | 3 options: LM Studio, Ollama, OpenAI-Compatible |
| prompt | STRING | β | |
| text_mode_enabled | BOOLEAN | false | β |
| text_mode | COMBO | Off | 15 options: Off, π Enhance, π Refine, π Creative Rewrite, π Detailed Visual, π Artistic Style, +9 |
| image_mode_enabled | BOOLEAN | false | β |
| image_mode | COMBO | Off | 25 options: Off, πΌοΈ Tags, πΌοΈ Simple Description, πΌοΈ Detailed Scene Description, πΌοΈ Ultra Detailed Description, πΌοΈ Portrait Photography, +19 |
| video_mode_enabled | BOOLEAN | false | β |
| video_mode | COMBO | Off | 12 options: Off, π₯ Cinematic Video Prompt, π₯ Loop Video Prompt, π₯ Action Sequence, π₯ Ambient/B-Roll, π₯ Product Showcase, +6 |
| tts_mode_enabled | BOOLEAN | false | β |
| tts_mode | COMBO | Off | 9 options: Off, π€ Voiceover Script, π€ Character Voice, π€ Audiobook Narration, π€ Podcast Intro, π€ Commercial Spot, +3 |
| model | COMBO | auto [local] | 1 options: auto [local] |
| imageopt | IMAGE | β | |
| 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 | β | |
| temperatureopt | FLOAT | 1.00β2 | β |
| max_tokensopt | INT | 75064β32768 | β |
| 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 | β |
| timeout_secondsopt | INT | 605β1200 | β |
| max_image_dimensionopt | INT | 1280256β4096 | β |
| api_keyopt | STRING | β | |
| api_base_urlopt | STRING | β | |
| persist_api_keyopt | BOOLEAN | true | β |
| unload_lm_studioopt | BOOLEAN | true | β |
| unload_ollamaopt | BOOLEAN | true | β |
| cleanup_vramopt | BOOLEAN | true | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | β |