Nodes/ComfyUI-SkyReels-A2/A2 Video Generator
ComfyUI Node

A2 Video Generator

The core of SkyReels-A2 — compose three references into a video

By Yuan-ManX·Created about a year ago·Updated about a year ago· 32
A2 Video Generator
  • a2_model
  • clip_image_list
  • vae_image_list
  • prompt
  • negative_prompt
  • video_tensor
height480
width832
seed42
guidance_scale5.00
num_frames81
num_inference_steps50
vae_combinebefore
devicecuda

A2VideoGenerator is the node you came here for. It's the actual sampler in the ComfyUI-SkyReels-A2 pack: it takes the loaded model, your three reference images (as prepared by ReferenceImages), and your prompts, and runs Skywork's SkyReels-A2 pipeline to produce a video. SkyReels-A2 is a 14B fine-tune of Wan 2.1 built for "Compose Anything" generation - a person reference, an object reference, and a background reference get fused into a single shot, the same idea as Pika Ingredients, which is why it drew a crowd of "can't wait for Kijai to make this into nodes" when the weights dropped in April 2025.

How it works

This is a flow-matching diffusers pipeline under the hood - a Wan 2.1 transformer with a UniPCMultistepScheduler, seeded from your seed value via torch.Generator. The node calls the pipeline with the CLIP-processed reference list (clip_image_list) and the VAE-processed one (vae_image_list), the positive and negative prompts, and your resolution, frame count, guidance scale, and step count, asking for a raw pt tensor back. Nothing about the generation is happening in ComfyUI itself; this node is a carefully-argued pass-through to a diffusers call.

Inputs that matter

  • a2_model - the output of LoadA2Model. There is no way around it: if you haven't loaded the 14B pipeline, this node has nothing to run.
  • clip_image_list / vae_image_list - both outputs of ReferenceImages. All three refs have to be wired or it won't start.
  • prompt / negative_prompt - the typed outputs of A2Prompt and NegativePrompt.
  • seed - default 42. Set it for reproducibility; you'll be changing it a lot.
  • guidance_scale - default 5. Wan is a flow-matching model, so this behaves differently than SDXL-era CFG; 5 is a solid starting point, and if you push toward 1 you're effectively disabling guidance.
  • num_frames - default 81, which is the model's native context (~5 seconds). Pushing past it invites repetition and weird drift, the classic Wan limit.
  • num_inference_steps - default 50. This is a 14B model; 50 steps at 480p is minutes even on a 4090. Fewer steps is faster and worse; there's no free lunch here.
  • vae_combine - before (default) bakes the reference images into the start of the latent sequence; after folds them in as conditioning latents instead. Keep before unless you're experimenting.
  • height / width / device - resolution must match ReferenceImages; device is cuda (CPU is technically an option and practically a joke for a 14B model).

Output

One output, video_tensor (type TENSOR) - the raw frames. Feed it to the pack's CombineImages node, which builds the final composite (it also trims the model's conditioning preamble frames, so don't expect all 81 back).

Installing it

Same pack, every node: ComfyUI Manager → search "SkyReels", or

cd ComfyUI/custom_nodes
git clone https://github.com/Yuan-ManX/ComfyUI-SkyReels-A2.git
cd ComfyUI-SkyReels-A2
pip install -r requirements.txt

Then download the model (see LoadA2Model) and restart. The install is genuinely heavy - flash_attn, diffusers from git, assorted leftovers - but the workflow itself is just the six nodes wired in a line.

Common issues

Realistic expectations first: this is a 14B fine-tune in bf16 plus fp32 VAE/encoder, so it wants 24GB-class VRAM and is slow. The community's honest verdict on the model was mixed - the compose idea is great, but multi-reference identity consistency didn't always hold, and people who wanted speed leaned on Kijai's Wan wrapper with fp8 weights rather than this pack. If you see mismatched subject/object/background, that's the model's known weakness, not a broken setting. And because the pack rides git-master diffusers, a later upgrade can break the pipeline call - pin your environment once it works.

CategorySkyReels-A2

Inputs (13)

NameTypeDefaultDescription
a2_modelMODEL
clip_image_listIMAGE_LIST
vae_image_listIMAGE_LIST
promptPROMPT
negative_promptNEGATIVEPROMPT
heightINT480
widthINT832
seedINT42
guidance_scaleFLOAT5.00
num_framesINT81
num_inference_stepsINT50
vae_combineCOMBObefore2 options: before, after
deviceCOMBOcuda2 options: cuda, cpu

Outputs (1)

NameTypeDescription
video_tensorTENSOR