Two-stage distilled inference pipeline that animates a character from a driving
video, wiring the Phase 1-3 SCAIL-2 conditioning into a runnable CLI.
- scail_animation.py: ScailAnimationPipeline (mirrors distilled.py) plus a pure,
testable build_scail_conditionings that assembles VideoConditionByDrivingLatent
+ VideoConditionByMaskChannels (driving appended, mask on the trailing driving
tokens), and a load_masks helper. main() + scail_animation_arg_parser add
--driving-video / --mask-path / --mode / --driving-strength on top of the
standard two-stage distilled parser.
- LTXModelConfigurator now reads config `mask_conditioning_channels`, so a
SCAIL-trained checkpoint whose config declares it builds the widened
patchify_proj automatically — no runtime widening wrapper needed at inference.
- CLAUDE.md pipeline table row.
Verified on CPU (verify_phase4_pipeline.py): the module imports, the CLI parses
the SCAIL flags, build_scail_conditionings grows the sequence and places the mask
channels on the driving tokens (target stays zero), driving-only leaves
cond_channels None, and the configurator honors mask_conditioning_channels
(patchify_proj widened from config). End-to-end runs still need a GPU and a
SCAIL-trained checkpoint.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>