Nodes/ComfyUI-Apt_Preset/Stack_WanCameraImageToVideo
ComfyUI Node

Stack_WanCameraImageToVideo

Camera-Controlled I2V on Wan

By cardenluo¡Created 2 years ago¡Updated 18 days ago¡ 309
Stack_WanCameraImageToVideo
  • clip_img
  • start_image
  • camera_conditions
  • CameraImage
◄clip_vision_nameclip_vision_h.safetensors►
◄width832►
◄height480►
◄length81►

Most Wan I2V setups let the model decide how the camera moves - you describe the shot in the prompt and hope. Wan's official camera control extension gives you an actual dial for it, reusing the same pose-file format the AnimateDiff community built for CameraCtrl years earlier: zoom, pan, tilt, and - by combining them - arcing and handheld-feeling moves. One early tester described it as easy to underestimate from the HuggingFace page ("just panning? that's not very impressive") before finding it handled genuinely complex combined moves with clean, controlled results in Wan 2.1 14B at 720p. Stack_WanCameraImageToVideo is this pack's config node for that feature, matching ComfyUI's own native node of the same name.

How it works. start_image is your source frame. clip_img and clip_vision_name (default clip_vision_h.safetensors) handle the standard CLIP vision conditioning every Wan I2V node in this pack uses. camera_conditions is the piece that actually drives the camera: it takes a WANCAMERA-typed input, meaning you need a camera pose loader node upstream - a separate node (not part of this pack's stack family) that reads a pose file describing the move you want. width, height, and length (default 832×480, 81 frames) round out the standard video-dimension controls. Output is CameraImage, a config bundle for a downstream Wan sampler.

Installing it. No extra dependency for this node beyond the base pack: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset, restart, or search "ComfyUI-Apt_Preset" through ComfyUI Manager. You'll additionally need the Wan camera-control checkpoint (an official Alibaba release, downloaded separately), the CLIP vision model matching clip_vision_name in models/clip_vision, and a camera-pose loader node to actually produce the WANCAMERA input - check whatever pack provides Wan's camera pose files for the loader and preset pose library, since this node doesn't generate pose data itself.

Common issues. The single most-reported problem with Wan camera control in the wild is a tensor size mismatch error thrown right from the camera node - one user hit this running the official workflow completely unmodified, just uploading a single image. That kind of error is almost always a resolution mismatch between your start_image and what the camera pose data was generated to expect; make sure width/height here actually match the resolution your pose source assumes, rather than resizing the image and leaving the pose data as-is. Beyond that, if you're after an unusual camera feel - handheld shake, for instance - know going in that the standard pose presets are fairly limited; combining basic moves (pan plus tilt) to approximate something more complex is a documented community workaround, not a built-in preset, and there's currently no easy way to save a custom combined move back out as a reusable pose file.

CategoryApt_Preset/stack/😺backup

Inputs (7)

NameTypeDefaultDescription
clip_vision_nameCOMBOclip_vision_h.safetensors1 options: None
widthINT83216–4096—
heightINT48016–4096—
lengthINT811–4096—
clip_imgoptIMAGE—
start_imageoptIMAGE—
camera_conditionsoptWANCAMERA—

Outputs (1)

NameTypeDescription
CameraImageCAMERAIMAGE—