Nodes/Jakkanna/Jakkanna Image + FBX Prepare
ComfyUI Node

Jakkanna Image + FBX Prepare

Jakkanna Image + FBX Prepare

By teenu·Created 2 months ago·Updated 2 months ago· 6
Jakkanna Image + FBX Prepare
  • image
  • subject_mask
  • driver
  • driving_mask
  • registered_reference
  • preprocess_report
fbx_file
camera_presetAuto Director

The Jakkanna pack gives you two doors into SCAIL-2 animation. One is the Pose Studio + Krea 2 workflow, where you author the character's look from a mannequin. The other - the one people actually search for - is "I have a photo of this person and a Mixamo clip, make them dance." Jakkanna Image + FBX Prepare is the front door of that second path. It takes a single photo and a binary Mixamo-compatible FBX and hands SCAIL-2 everything it needs to animate: a registered driver video, a mask sequence, and a reference image that's been reprojected onto the same camera as the motion.

It's the heaviest node in the pack - the only one doing real machine learning instead of bookkeeping. SAM 3D Body runs in a separate process so it doesn't eat your ComfyUI context.

How it works

Feed it one high-resolution photo of a single person and one .fbx from ComfyUI/input/animate. The node runs a subprocess that fits the person with SAM 3D Body, retargets the FBX's 20-bone Mixamo skeleton onto the fitted body, and renders an exact 81-frame driver at 16 fps - SCAIL-2's canonical length. The same fitted camera reprojects the original photo, so the reference and the driver share one canvas and frame-zero geometry instead of being two unrelated images the model has to reconcile.

Two details matter in practice. First, the driver is content-addressed: the run name is built from the image's sha256 and the FBX filename, so re-queueing the same inputs reuses the prepared driver instead of re-running the fit. That first run on a new image takes minutes - it loads SAM 3D Body into its own CUDA context and downloads it to models/sam3dbody on first use. Second, preparation runs in a child process, so cancelling the queue actually kills it rather than leaving it parked on the GPU. This node has no fallback for machines without NVIDIA CUDA; it raises a clear error.

The inputs that matter

Only two are required, and one of them (the FBX) is the thing people trip on:

  • image - your single-subject photo, from an ordinary Load Image.
  • fbx_file - a dropdown populated from input/animate. If it reads "No FBX files found under input/animate", create that folder, copy a binary Mixamo-compatible .fbx in, and refresh ComfyUI. ASCII FBX is rejected; clips shorter than five seconds get time-stretched automatically, longer ones keep their original speed.

Optional but worth knowing:

  • camera_preset - defaults to Auto Director. The full list is Auto Director, Classic Full Shot, American / Cowboy, Medium Shot, Medium Close-Up, Classic Close-Up, and Dutch Left/Right (10°). One fixed camera runs the whole clip; angles that would reveal an unseen side of the subject are intentionally omitted.
  • subject_mask - a MASK that guides the body fit when SAM's automatic subject isolation is being fooled by scene clutter. Leave it unconnected and SAM 3.1 does the segmentation itself.

What comes out

Four outputs, and the wiring is exactly what SCAIL-2 expects:

  • driver (IMAGE) → the 81-frame driving video.
  • driving_mask → the mask sequence, into the mask input.
  • registered_reference → the reprojected reference image.
  • preprocess_report (STRING) → a JSON manifest. Wire it into a Show Text / PreviewAny and check the frame-zero registration score, plus whether timing and root-motion decisions were made automatically. That's your reproducibility record.

Install

The pack installs once and this node comes with it. In ComfyUI Manager search for Jakkanna and install, or:

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

Then restart ComfyUI. Jakkanna is a fork of AHEKOT's VNCCS Utils that keeps the original node IDs, so remove the upstream vnccs-utils first - running both in one instance makes them fight over the same nodes. Beyond the pack, the full stack wants ComfyUI 0.27.0+, VideoHelperSuite 1.7.9+, an NVIDIA GPU (validated at ~27 GiB VRAM on a 5090), ~30 GB of SCAIL-2 files, and ~3 GB for SAM 3D Body. The README's model table has exact paths.

Gotchas

Where people get burned: the FBX has to be a binary Mixamo mapping - a skeleton profile that isn't 20-bone Mixamo gets rejected. Multi-person photos and non-human subjects are out of contract; pick a clean single-subject shot or pass a subject_mask. Hidden or out-of-frame anatomy (the back of the coat, the shoes) can't be recovered from pixels that aren't there - describe it in the customization prompt. And remember this prepares, not generates: you still need the SCAIL-2 sampler nodes downstream for the actual animation.

CategoryJakkanna/SCAIL-2

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
fbx_fileCOMBO1 options: No FBX files found under input/animate
camera_presetoptCOMBOAuto Director8 options: Auto Director, Classic Full Shot, American / Cowboy Shot, Medium Shot, Medium Close-Up, Classic Close-Up, +2
subject_maskoptMASK

Outputs (4)

NameTypeDescription
driverIMAGE
driving_maskIMAGE
registered_referenceIMAGE
preprocess_reportSTRING