Nodes/Overtli Studio Suite/πŸš€ OVERTLI Copilot Text Enhancer
ComfyUI Node

πŸš€ OVERTLI Copilot Text Enhancer

Your Copilot subscription, pressed into service as a prompt writer

By OvertliDSΒ·Created 5 months agoΒ·Updated 2 days agoΒ· 16
πŸš€ OVERTLI Copilot Text Enhancer
  • image
  • copilot_response
β—„promptβ–Ί
β—„text_mode_enabledfalseβ–Ί
β—„text_modeOffβ–Ί
β—„image_mode_enabledfalseβ–Ί
β—„image_modeOffβ–Ί
β—„video_mode_enabledfalseβ–Ί
β—„video_modeOffβ–Ί
β—„tts_mode_enabledfalseβ–Ί
β—„tts_modeOffβ–Ί
β—„modelgpt-5.3-codexβ–Ί
β—„file_pathβ–Ί
β—„copilot_executableβ–Ί
β—„custom_instructionsβ–Ί
β—„style_preset_1Offβ–Ί
β—„style_preset_2Offβ–Ί
β—„style_preset_3Offβ–Ί
β—„additional_stylesβ–Ί
β—„vision_enabledtrueβ–Ί
β—„batch_image_modeall_framesβ–Ί
β—„max_batch_frames0β–Ί
β—„allow_all_pathsfalseβ–Ί
β—„allow_all_toolsfalseβ–Ί
β—„silenttrueβ–Ί
β—„output_formattextβ–Ί
β—„timeout_seconds60β–Ί
β—„max_output_tokens1000β–Ί

Here's the pitch, and it's a good one: you already pay for GitHub Copilot, so why pay again (or hit rate limits on a free tier) for prompt enhancement? GZ_CopilotAgent routes your ComfyUI text jobs through the GitHub Copilot CLI - the same subscription you use for coding - and hands the rewritten prompt back as a string. The Overtli README calls it "local CLI-based text enhancement," which is honest: the models are cloud, but the transport is a CLI process on your machine, and if you're already signed into the GitHub CLI the whole thing is supposed to "just work."

How it works

Under the hood the node shells out to the Copilot CLI as a subprocess, feeding it your prompt and reading back the response. "It will open a copilot-cli terminal silently by default for communication," per the README - a background process, not a window popping up on you. Auth is the clever bit: the node detects your existing gh session and reuses it, so there's no separate API key to mint. The prerequisites are real, though: an active Copilot subscription and the GitHub CLI installed and authenticated.

Vision is handled by writing Comfy IMAGE tensors to temporary local files and referencing them with Copilot CLI's @path attachment syntax, so vision-capable models actually receive the image bytes. The model dropdown (default gpt-5.3-codex) lists the Copilot model roster. There's background handling for auth recovery and vision-cache retries so stale image attempts don't silently block new ones.

Inputs worth knowing

  • prompt - your raw idea.
  • text_mode_enabled/text_mode plus image/video/TTS mode groups - the standard suite presets.
  • image - optional vision context; vision_enabled toggles it, and batch_image_mode/max_batch_frames control how a video-frame batch gets sampled (all frames, first/middle/last, or just the first).
  • copilot_executable - only needed if the CLI isn't on your PATH or you want a specific binary. GZ_COPILOT_EXECUTABLE does the same job as an env var.
  • allow_all_paths and allow_all_tools - both default false, and you should think of them as the node's blast-radius controls. The CLI can read files and run tools; leaving these off keeps it scoped. Flipping them on is "I trust this completely," not "slightly more convenience."
  • silent (default true) - hides the CLI chatter.
  • timeout_seconds (default 60) and max_output_tokens (default 1000).

Output

copilot_response, a STRING. There's an output_format toggle between text and json if you want a structured envelope. Feed the text into a CLIP Text Encode or any prompt slot.

Install and the failure modes

Pack install is the same as the others (search "Overtli" in Manager, or clone and pip install -r requirements.txt, restart). The README's troubleshooting section is unusually specific about this node's failure modes, so lean on it: check the Copilot CLI is installed and reachable, that the executable path is right if you set one manually, that your gh auth session is still valid, and that no environment token overrides are fighting the auto-detected session.

Two honest caveats. First, this whole route is a wrapper around a coding agent - the models are great at following a structured instruction, which is exactly the enhancement job, but your prompts are going through GitHub's service with all the content filtering that implies. If you're enhancing anything a hosted filter would refuse, the pack's local GZ_LLMTextEnhancer is the sibling you want instead. Second, a subprocess + auth-recovery + temp-image-file chain is more moving parts than a plain HTTP call; when it misbehaves, the failures tend to be environmental (auth, PATH, timeout) rather than prompt-quality problems, and the timeout_seconds dial is where you start.

CategoryOVERTLI STUDIO/LLM

Inputs (27)

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
modelCOMBOgpt-5.3-codex17 options: gpt-5.3-codex, gpt-4o, gpt-5.4, gpt-5.4-mini, gpt-5.2-codex, gpt-5.2, +11
imageoptIMAGEβ€”
file_pathoptSTRINGβ€”
copilot_executableoptSTRINGβ€”
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β€”
vision_enabledoptBOOLEANtrueβ€”
batch_image_modeoptCOMBOall_frames3 options: all_frames, first_middle_last, first_frame
max_batch_framesoptINT00–512β€”
allow_all_pathsoptBOOLEANfalseβ€”
allow_all_toolsoptBOOLEANfalseβ€”
silentoptBOOLEANtrueβ€”
output_formatoptCOMBOtext2 options: text, json
timeout_secondsoptINT605–1200β€”
max_output_tokensoptINT100064–32768β€”

Outputs (1)

NameTypeDescription
copilot_responseSTRINGβ€”