DanielBartolicandClaude Opus 5 3ee5939487 Add SCAIL-2 Infinity (auto window) node
Generates arbitrarily long SCAIL-2 video from a single node by looping the
81-frame chunk -> sample -> decode -> re-anchor process internally, instead of
hand-wiring one WanSCAILToVideo/KSampler/VAEDecode block per chunk.

Reuses ComfyUI core verbatim (WanSCAILToVideo.execute, common_ksampler,
VAE.decode/decode_tiled). Peak VRAM stays at a single 81-frame window: each
decoded chunk is moved to CPU and the cache freed per window.

Registered through NODE_CLASS_MAPPINGS rather than the V3 comfy_entrypoint,
since ComfyUI's loader accepts one or the other (nodes.py: `if
NODE_CLASS_MAPPINGS ... elif comfy_entrypoint`) and the rest of this pack is
legacy-style. io.ComfyNode still supplies the v1 shims off define_schema.

The import is guarded: SCAIL-2 core support (comfy_extras.nodes_scail, PR
with a warning instead of taking the whole pack down.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 22:57:10 +02:00

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 + MASK tensors. 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.

S
Description
No description provided
Readme MIT
42 KiB
Languages
Python 100%