Nodes/comfyui-mixlab-nodes/Screen Share ♾️Mixlab
ComfyUI Node Runs on cloud

Screen Share ♾️Mixlab

Feed your live screen into ComfyUI

By MixLabPro·Created 3 years ago·Updated 2 months ago· 1,859
Screen Share ♾️Mixlab
  • image_base64
  • prompt
  • slide
  • seed
  • current frame (image)
  • prompt
  • denoise (float)
  • seed (int)
refresh_rate500

This is the node that makes ComfyUI capture your screen and pipe it in as a live image stream. Point it at any window - Photoshop, a browser, a 3D viewport, a video player - and every frame you draw or scrub becomes the input to your workflow. Pair it with a fast model and you get near-real-time generation reacting to whatever's on screen. It's the centerpiece of Mixlab's "real-time design" pitch, the TouchDesigner-flavored corner of the pack.

The reason this is even usable interactively is speed. A normal SDXL sampler at 30 steps is far too slow to feel live. This node was built in the LCM-LoRA era, and it's meant to sit in front of a distilled, few-step model - the whole point of distillation is turning a 20–30 step generation into a 1–4 step one, which is what drops latency low enough that dragging a brush in Photoshop and watching the output update feels responsive rather than like a slideshow.

How it works

Your browser grabs the screen pixels (using the standard screen-capture API) and ships them to the node as a base64 image on a repeating timer. Each tick, the current frame becomes the node's image output, which feeds your sampler; the result renders back out. Because the capture happens in the browser, this is a front-end-driven node - it's polling on an interval, not being pushed frames by the executor.

Inputs and outputs

  • image_base64 - the live capture. This is a special Mixlab widget (its type is a custom one), not a socket you wire from another node; it's the screen-grab surface itself. You interact with it in the node's UI to pick what to capture.
  • refresh_rate (INT, default 500) - milliseconds between grabs. 500 = two frames a second, safe and light. Drop it toward 100–200 for smoother real-time if your model and GPU can keep up; raise it if you're overwhelming the pipeline.

There are also optional prompt, slide, and seed inputs - these are Mixlab's own control widgets so the node can bundle a prompt, a denoise slider, and a seed alongside the frame, which is why the outputs mirror them.

Outputs: current frame (image) (the captured frame, your main line into the sampler), plus prompt (STRING), denoise (float) (FLOAT), and seed (int) (INT). Those last three let a single node drive prompt, denoise strength, and seed into your KSampler so you can tweak everything live from one place instead of hunting around the graph.

How to install it

Comes with the Mixlab pack.

  • ComfyUI Manager: search comfyui-mixlab-nodes, install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git, install requirements (install.bat on Windows or ../../../python_embeded/python.exe -s -m pip install -r requirements.txt), restart.

Common issues

You have to use HTTPS. This is the single biggest gotcha, and the maintainer flags it explicitly: browsers only grant screen-capture over a secure context, so you must reach ComfyUI over https://127.0.0.1 (not http://). On a remote or LAN server the README specifically points you at the HTTPS service on port 8189. On plain HTTP the capture silently refuses to start and the node just sits there doing nothing - people burn a lot of time on this before realizing it's not the node, it's the protocol.

It feels laggy / choppy. That's usually the model, not the capture. If your sampler can't finish a frame inside refresh_rate, frames queue up and it stutters. Fix the pipeline first - put an LCM/Turbo/Lightning-style few-step model behind it and keep steps very low - then tighten refresh_rate. Real-time is a whole-pipeline property; this node just delivers the pixels.

Nothing captures. Check that you actually granted the browser's screen-share permission prompt, and that you're on a browser that supports it. Also, this is a live front-end node, so a headless/API run won't have a screen to share - it's an interactive tool by nature.

Category♾️Mixlab/Screen

Inputs (5)

NameTypeDefaultDescription
image_base64CHEESE
refresh_rateINT5000–18446744073709550000
promptoptPROMPT
slideoptSLIDE
seedoptSEED

Outputs (4)

NameTypeDescription
current frame (image)IMAGE
promptSTRING
denoise (float)FLOAT
seed (int)INT