ComfyUI-DioBrando-Nodes
Grok Vision Analyze — send an image (tensor or URL) to xAI's Grok vision API and get a text response back.
Nodes (5)
Ask Grok what's in your image, without leaving the canvas
No tensor juggling, same API bill
Pull any image from the web straight into your graph
Kill Qwen-Image's VAE grid before you sharpen
Your SCAIL-2 video doesn't have to stop at 81 frames anymore
ComfyUI-DioBrando-Nodes
ComfyUI custom nodes I use day-to-day:
- Grok Vision Analyze — send an image (tensor or URL) to xAI's Grok vision API and get a text response back. Useful for auto-captioning, prompt generation from reference images, or quick visual QA.
- Load Image From URL — fetch a remote image directly into ComfyUI as
IMAGE+MASKtensors. No download/upload step needed. - SCAIL-2 Infinity (auto window) — generate arbitrarily long SCAIL-2 character animation from one node, instead of hand-wiring chunk after chunk.
Install
Clone into your ComfyUI custom_nodes folder:
cd ComfyUI/custom_nodes
git clone https://github.com/DanielBartolic/ComfyUI-DioBrando-Nodes
cd ComfyUI-DioBrando-Nodes
pip install -r requirements.txt # only Pillow + numpy + torch, all standard ComfyUI deps
Restart ComfyUI. The nodes show up under the DioBrando/ category.
Grok Vision setup
Set your xAI API key as an environment variable before launching ComfyUI:
export XAI_API="xai-..."
Or paste it into the optional api_key input on the node (overrides env var).
Models supported
grok-4.3-latest ← default
grok-4.3
grok-4.20-multi-agent-0309
grok-4.20-0309-reasoning
grok-4.20-0309-non-reasoning
grok-4-1-fast-reasoning ← fastest + cheapest
grok-4-1-fast-non-reasoning ← fastest + cheapest
grok-4-vision
grok-3-vision-beta
grok-2-vision-1212
grok-vision-beta
SCAIL-2 Infinity
SCAIL-2 is trained on 81-frame chunks with a 5-frame overlap (76-frame step). Going past
81 frames normally means wiring multiple WanSCAILToVideo → KSampler → VAEDecode blocks
by hand, feeding each chunk's decoded tail into the next via previous_frames /
video_frame_offset. This node runs that loop internally — chunk → sample → decode →
re-anchor on the last 5 frames → repeat until the driving pose video is exhausted — and
stitches the result into one continuous video.
Nothing is reimplemented: it calls core WanSCAILToVideo.execute() for per-chunk
conditioning, common_ksampler() to sample, and VAE.decode / decode_tiled to decode. All
SCAIL-2 features (pose mask, reference mask, replacement mode, clip-vision, pose
strength/start/end) pass straight through. Peak VRAM stays at one 81-frame window regardless
of total length — each decoded chunk moves to CPU immediately and the cache is freed per
window.
| Param | Default | Notes |
|---|---|---|
| window_length | 81 | Frames per chunk. SCAIL-2 trained at 81 — keep it. |
| previous_frame_count | 5 | Overlap frames anchored from the previous chunk. Trained at 5. |
| max_frames | 0 | Hard cap on total frames. 0 = run until the pose video ends. |
| decode_tiled | off | Tiled VAE decode, to bound decode VRAM at high resolution. |
| vary_seed_per_window | off | Off = same seed each chunk (best continuity). |
With a pose_video it generates fixed 81-frame windows stepping by 76 until the output
reaches the driving video length, then trims the overshoot (228 driving frames = exactly 3
windows). Without one, it does a single window. The first 81 frames are identical to the
stock single-chunk graph.
Requires a ComfyUI build with SCAIL-2 core support (comfy_extras.nodes_scail, added in
PR #14373, merged 2026-06-09). On older
builds this one node is skipped with a warning and the rest of the pack still loads. Models:
Comfy-Org/SCAIL-2.
Nodes
| Node | Inputs | Outputs |
|---|---|---|
| Grok Vision Analyze (Image) | IMAGE tensor + prompt | response, usage |
| Grok Vision Analyze (URL) | image URL string + prompt | response, usage |
| Load Image From URL | URL string | IMAGE, MASK, url |
| SCAIL-2 Infinity (auto window) | model, vae, conditioning, pose video + masks, reference image, sampler settings | images, latent, total_frames |
Author
@diobrando0 on HuggingFace · @workordie on Civitai · DanielBartolic on GitHub.
License
MIT — see LICENSE.