Nodes/Jakkanna/Jakkanna SCAIL-2 Validate Input
ComfyUI Node

Jakkanna SCAIL-2 Validate Input

Your SCAIL-2 video must be exactly 81 frames at 16 fps — this node enforces it

By teenu·Created 2 months ago·Updated 2 months ago· 6
Jakkanna SCAIL-2 Validate Input
  • source_video
  • reference_image
  • width
  • height
  • length
  • fps
  • input_report

SCAIL-2 is picky about its inputs, and the pickiness is the point. The model was trained on a canonical recipe - 81 frames at 16 fps - and the Production workflow's whole reproducibility story depends on everything feeding it being exactly that. Jakkanna SCAIL-2 Validate Input is the gatekeeper: you wire your source video and reference image through it, and it either hands you clean metadata or stops the run with an error before you've burned twenty minutes on a clip that was wrong from frame one.

This is a validation node, not a converter. It doesn't fix your input; it checks it and tells you what you got.

What it checks

Two required inputs, no settings:

  • source_video (VIDEO) - the driving video, i.e. the 81-frame clip from Pose Studio or the Image + FBX Prepare node.
  • reference_image (IMAGE) - the replacement subject SCAIL-2 should put into the motion.

On execution it enforces three hard rules, raising ValueError if any fail:

  1. The video must have exactly 81 frames.
  2. It must run at exactly 16 fps - the canonical training rate. 30 fps from a phone clip will be rejected, not silently resampled.
  3. The resolution must be 704×1280 or 1280×704, the portrait/landscape pair the production topology is tuned for.

If you're driving with frames from your own video source, that means you need to prepare it at 16 fps before it reaches this node - the error message says as much, because there's nothing it can do about it retroactively.

What comes out

On success it returns the numbers you can't be bothered to measure yourself:

  • width, height, length, fps - the actual values, useful for wiring resolution-aware logic downstream or just as sanity output.
  • input_report (STRING) - a JSON summary. Wire it into a Show Text/PreviewAny node alongside the other reports in the production workflow to keep the audit trail visible.

Install

Part of the teenu/ComfyUI-Jakkanna pack. ComfyUI Manager → search Jakkanna → Install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/teenu/ComfyUI-Jakkanna.git
cd ComfyUI-Jakkanna
pip install -r requirements.txt

Restart, and don't run the upstream vnccs-utils alongside it - this pack keeps the original node IDs and the two will collide.

Where it fits

Think of the Validate family as the Production workflow's argument to the future: Input Validate checks the raw material, Subject Mask Validate checks the SAM segmentation, Sampler Validate checks the sampling config, and the whole set writes into the reproducibility manifest. If you're just testing SCAIL-2 with a loose workflow, you can skip this node entirely - it only earns its keep when you want runs that are comparable and re-runnable. When the source video is wrong, the error tells you precisely what's wrong with it, which beats a twenty-minute silent failure by a lot.

CategoryJakkanna/SCAIL-2

Inputs (2)

NameTypeDefaultDescription
source_videoVIDEO
reference_imageIMAGE

Outputs (5)

NameTypeDescription
widthINT
heightINT
lengthINT
fpsFLOAT
input_reportSTRING