Screencap Stream
Feed your live screen into ComfyUI as an image
- image
This node turns your browser's screen-share capability into a live IMAGE input for ComfyUI. Click "Start capture," pick a screen, window, or tab to share, and from then on every queued run pulls in the current frame of that share as an image - a live preview shows right in the node so you can see what you're about to feed in. Combined with auto-queue, it becomes a continuous feed: whatever's on your screen keeps flowing into your workflow frame by frame, which is the backbone for real-time or reactive setups - driving a video model off a game window, another application, or a webcam feed running through a browser tab, instead of a static file you have to keep re-uploading.
It sits naturally alongside the audio-reactive cluster elsewhere in this pack - Sound Reactive for live mic input, this node for live visual input - if you're building something closer to a full live-visual rig than a normal batch workflow.
The inputs and outputs that matter
frame_data- populated by the node's own JavaScript, not something you type or edit. It's plumbing that carries the captured frame back to the Python side; leave it alone.crop_width/crop_height(default 1 each, essentially "no crop") - only meaningful once you've actually drawn a crop box on the live preview.- Output:
image- the current captured (and optionally cropped) frame.
The crop workflow is entirely mouse-driven on the preview itself: drag to draw a crop box, drag inside it to move it, drag an edge or corner to resize, hold shift while dragging to lock the aspect ratio, and right-click or double-click to clear the crop entirely.
How to install it
Standard KJNodes install: ComfyUI Manager → search "KJNodes for ComfyUI" → install, or cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, then pip install -r ComfyUI-KJNodes/requirements.txt, then restart. This is browser-side JavaScript plus a thin Python bridge - no model downloads, no extra Python dependencies beyond the pack's own requirements.
Common issues & troubleshooting
"Start capture" does nothing. Screen/window sharing is a browser permission, same family as camera or microphone access. If your browser silently blocked the permission prompt, or you dismissed it once and it's now remembered as denied, you'll need to reset that permission for the ComfyUI site in your browser's settings before capture will work.
Only one frame ever updates. This node needs auto-queue running to actually stream continuously - a single manual "Queue Prompt" click just grabs whatever frame happened to be current at that instant. Turn on auto-queue if you want a live feed rather than a one-off snapshot.
Crop looks wrong or isn't applying. The crop is drawn directly on the live preview inside the node, not set through the numeric widgets - crop_width/crop_height reflect what you've drawn rather than the other way around. If nothing's cropping, you haven't actually drawn a box yet; the defaults (1, 1) are effectively "off."
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| frame_data | STRING | — | |
| crop_width | INT | 11–16384 | — |
| crop_height | INT | 11–16384 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |