Nodes/Overtli Studio Suite/πŸ”Œ OVERTLI OpenAI-Compatible Studio
ComfyUI Node

πŸ”Œ OVERTLI OpenAI-Compatible Studio

One key, any OpenAI-shaped API β€” the BYO-backend studio node

By OvertliDSΒ·Created 5 months agoΒ·Updated 2 days agoΒ· 16
πŸ”Œ OVERTLI OpenAI-Compatible Studio
  • image
  • audio
  • text
  • image
  • video
  • audio
β—„active_enginetextβ–Ί
β—„promptβ–Ί
β—„modelgpt-4.1-miniβ–Ί
β—„text_modeOffβ–Ί
β—„image_modeOffβ–Ί
β—„video_modeOffβ–Ί
β—„tts_modeOffβ–Ί
β—„stt_modeOffβ–Ί
β—„ttaudio_modeOffβ–Ί
β—„file_pathβ–Ί
β—„custom_instructionsβ–Ί
β—„style_preset_1Offβ–Ί
β—„style_preset_2Offβ–Ί
β—„style_preset_3Offβ–Ί
β—„additional_stylesβ–Ί
β—„api_base_urlβ–Ί
β—„api_keyβ–Ί
β—„persist_api_settingstrueβ–Ί
β—„temperature0.7β–Ί
β—„max_tokens750β–Ί
β—„timeout_seconds120β–Ί
β—„require_api_keytrueβ–Ί
β—„max_image_dimension1280β–Ί
β—„vision_enabledtrueβ–Ί
β—„batch_image_modeall_framesβ–Ί
β—„max_batch_frames0β–Ί
β—„media_width1024β–Ί
β—„media_height1024β–Ί
β—„audio_voicenovaβ–Ί
β—„audio_speed1.00β–Ί
β—„audio_response_formatmp3β–Ί
β—„stt_response_formattextβ–Ί
β—„stt_languageautoβ–Ί

Somewhere between "cloud by default" and "bring your own GPU" there's a middle path: the API you already pay for. GZ_OpenAICompatibleTextEnhancer is the Overtli Studio Suite's BYO-backend node. Point it at any provider that speaks the OpenAI protocol - Groq, Together AI, LocalAI, a vLLM box, your work's internal gateway - paste a base URL and key, and it drives text enhancement, image generation, video, TTS, STT, and music through that single endpoint. The pack's README lists exactly this roster of engines: text, image_gen, video_gen, text_to_speech_gen, speech_to_text_gen, text_to_music_gen.

How it works

active_engine picks the modality, model is a plain text field you fill with whatever your provider calls the model (default gpt-4.1-mini), and prompt is your input. That's the entire required surface. The node builds an OpenAI-style request against api_base_url with api_key and dispatches to the right engine - for media engines it mirrors the behavior of the pack's dedicated Pollinations nodes, but aimed at your endpoint instead. The IMAGE input feeds vision-capable models, and the AUDIO input feeds the speech-to-text engine. require_api_key defaults to true, which is a deliberate guard: this route genuinely needs one, unlike the free Pollinations tier.

The inputs that matter

  • active_engine - which job. This is the field you'll flip most.
  • api_base_url - your provider's OpenAI-compatible endpoint. persist_api_settings (default on) saves it plus the key so you only configure once; GZ_ProviderSettings can hold them too.
  • model - your provider's model id. If text works but the video engine 404s, the README's caution applies: modality support depends on what the provider and model actually expose, and the node can only validate, not grant, capability.
  • text_mode through ttaudio_mode - the same curated preset dropdowns as the rest of the pack, now applied to your backend.
  • style_preset_1..3 and additional_styles - style layering, chainable from GZ_StyleStackNode.
  • temperature, max_tokens, timeout_seconds - the usual dials.
  • media_width/media_height, audio_voice, audio_speed, stt_response_format (srt/vtt included), stt_language - engine-specific knobs that only matter when that engine is active.

Outputs

Four sockets, mirroring the advanced router: text, image, video, audio. One run fills text plus whichever media output your engine produces; wire forward what you care about. A text engine leaves the media sockets empty, and that's fine.

Install and gotchas

Standard pack install - search "Overtli" in ComfyUI Manager, or clone and pip install -r requirements.txt, restart. The README's first troubleshooting entry is about this node: if the OpenAI-compatible route isn't in your node list at all, the pack didn't load cleanly - restart ComfyUI and check the console for import errors before assuming the node is broken.

Where people get burned: wrong base URL format. Some providers want https://api.groq.com/openai/v1 and others just the bare host - if calls 404 or throw auth errors at the path level, normalize the URL to include the /v1 your provider expects. And remember the content-policy reality of any hosted API: the filter belongs to the backend, not the node. There's no local patch for a refusal at your provider's end - if that matters for what you're making, the pack's GZ_LLMTextEnhancer route with your own LM Studio or Ollama is the sibling node designed for exactly that.

CategoryOVERTLI STUDIO/LLM

Inputs (35)

NameTypeDefaultDescription
active_engineCOMBOtext6 options: text, image_gen, video_gen, text_to_speech_gen, speech_to_text_gen, text_to_music_gen
promptSTRINGβ€”
modelSTRINGgpt-4.1-miniβ€”
text_modeoptCOMBOOff15 options: Off, πŸ“ Enhance, πŸ“ Refine, πŸ“ Creative Rewrite, πŸ“ Detailed Visual, πŸ“ Artistic Style, +9
image_modeoptCOMBOOff25 options: Off, πŸ–ΌοΈ Tags, πŸ–ΌοΈ Simple Description, πŸ–ΌοΈ Detailed Scene Description, πŸ–ΌοΈ Ultra Detailed Description, πŸ–ΌοΈ Portrait Photography, +19
video_modeoptCOMBOOff12 options: Off, πŸŽ₯ Cinematic Video Prompt, πŸŽ₯ Loop Video Prompt, πŸŽ₯ Action Sequence, πŸŽ₯ Ambient/B-Roll, πŸŽ₯ Product Showcase, +6
tts_modeoptCOMBOOff9 options: Off, 🎀 Voiceover Script, 🎀 Character Voice, 🎀 Audiobook Narration, 🎀 Podcast Intro, 🎀 Commercial Spot, +3
stt_modeoptCOMBOOff4 options: Off, 🧾 Clean Transcript, 🧾 Punctuation and Casing, 🧾 Structured Notes
ttaudio_modeoptCOMBOOff4 options: Off, πŸ”Š Audio Prompt Enhance, πŸ”Š Music Direction, πŸ”Š Ambience and Foley
imageoptIMAGEβ€”
file_pathoptSTRINGβ€”
audiooptAUDIOβ€”
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β€”
api_base_urloptSTRINGβ€”
api_keyoptSTRINGβ€”
persist_api_settingsoptBOOLEANtrueβ€”
temperatureoptFLOAT0.70–2β€”
max_tokensoptINT75064–32768β€”
timeout_secondsoptINT1205–1200β€”
require_api_keyoptBOOLEANtrueβ€”
max_image_dimensionoptINT1280256–4096β€”
vision_enabledoptBOOLEANtrueβ€”
batch_image_modeoptCOMBOall_frames3 options: all_frames, first_middle_last, first_frame
max_batch_framesoptINT00–512β€”
media_widthoptINT1024128–4096β€”
media_heightoptINT1024128–4096β€”
audio_voiceoptSTRINGnovaβ€”
audio_speedoptFLOAT1.000.25–4β€”
audio_response_formatoptCOMBOmp36 options: mp3, wav, opus, aac, flac, pcm
stt_response_formatoptCOMBOtext5 options: json, text, srt, verbose_json, vtt
stt_languageoptCOMBOauto14 options: auto, en, es, pt, fr, de, +8

Outputs (4)

NameTypeDescription
textSTRINGβ€”
imageIMAGEβ€”
videoVIDEOβ€”
audioAUDIOβ€”