ComfyUI Node

SCAIL Pose Render

Turn pose sequences into the SCAIL cylinder-skeleton frames your video model feeds on

By ckinpdx·Created 9 months ago·Updated 8 months ago· 17
SCAIL Pose Render
  • pose_sequence
  • pose_images
width512
height768
auto_half_resolutiontrue
fov55.00
cylinder_pixel_radius4.00

Every node in this pack up to this point has been producing abstract pose data. SCAILPoseRenderer is where it becomes pictures: it renders a pose sequence into the familiar SCAIL-style 3D cylinder skeletons - colored limbs on a transparent background - and outputs them as an image batch. Those frames are the currency your video generation actually consumes. In the pack's example workflows, they go into WanVideoAddSCAILPoseEmbeds in ComfyUI-WanVideoWrapper (driving the SCAIL-preview Wan model), which is the entire point: a stick figure you control, a real character the model animates along it.

How it works

The renderer uses Taichi on the GPU. Each skeleton's 18 joints are projected through a camera model defined by fov, limbs are drawn as 3D cylinders with per-bone colors, and each frame becomes an RGBA image (alpha composited down to RGB on output). The fov input default (55°) matches SCAILPoseFromDWPose's default, and the tooltip on that node tells you to keep them in agreement - they share one camera space, so render FOV and conversion FOV should be the same number.

The inputs you'll actually touch:

  • pose_sequence - the animated sequence from SCAILBeatDrivenPose, SCAILAISTBeatDance, SCAILAISTFullSequence, SCAILCMUMotion, or the FBX node.
  • width / height - output resolution (512×768 defaults; make them match what your video model expects).
  • auto_half_resolution - true by default, and it's a good default: render at half res then upscale, which is dramatically faster with barely visible cost. Turn it off only for final hero renders.
  • fov - camera field of view; keep it matched to the conversion node.
  • cylinder_pixel_radius - limb thickness (4 default). Thicker reads as bolder/cleaner at low res; thinner looks more skeletal.

Output is a single pose_images of type IMAGE - a batch of frames you can feed to WanVideoAddSCAILPoseEmbeds, a VHS_VideoCombine to preview the raw skeleton video, or any other image consumer.

Installing and troubleshooting

Pack-wide install: clone ckinpdx/ComfyUI-SCAIL-AudioReactive into ComfyUI/custom_nodes, pip install -r requirements.txt, restart, or use ComfyUI Manager. Taichi is the dependency to watch - it's in requirements, but Taichi GPU init occasionally fails on exotic setups, and this node does ti.init(arch=ti.gpu) with a try/except fallback. If you get a blank or missing render, the first suspects are a stale Taichi (upgrade it: pip install -U taichi) or the render FOV not matching the pose conversion FOV. Also remember this renders the skeleton: if your character's limbs look wrong, that's upstream in the pose generation, not a renderer bug.

CategorySCAIL-AudioReactive

Inputs (6)

NameTypeDefaultDescription
pose_sequenceSCAIL_POSE_SEQUENCEAnimated pose sequence from SCAILBeatDrivenPose
widthINT51264–4096Output image width in pixels
heightINT76864–4096Output image height in pixels
auto_half_resolutionBOOLEANtrueRender at half res then upscale. Faster.
fovFLOAT55.0010–120Field of view in degrees
cylinder_pixel_radiusFLOAT4.001–20Thickness of skeleton limbs

Outputs (1)

NameTypeDescription
pose_imagesIMAGE