Replace Camera Parameters ππ π β‘
Tuning CameraCtrl's intrinsics
- poses
- CAMERACTRL_POSES
This is the deepest-cut node in an already niche corner of the pack. Once you have a CAMERACTRL_POSES object - built with Create CameraCtrl Poses, its Advanced sibling, or loaded from a file - it carries not just the motion trajectory but the camera's intrinsic parameters. This node lets you override those intrinsics without touching the trajectory itself.
What "camera intrinsics" means here
fx/fy are the camera's focal length in the x and y directions, and cx/cy are the principal point - where the optical center of the camera sits in the frame - both normalized to a 0β1 range rather than pixel units. This is standard computer-vision camera-model vocabulary (the same parameters that describe a pinhole camera in any 3D vision pipeline), carried into CameraCtrl because the underlying technique models the "camera" generating your video as an actual virtual camera with these properties. cx/cy default to 0.5/0.5 - dead center, the normal case - while fx/fy default to specific non-round values (0.474812461/0.844111024) that come from CameraCtrl's own reference setup.
Practically: if a trajectory (especially a loaded file, authored for someone else's aspect ratio or field of view) doesn't quite match your target framing, this node lets you correct the intrinsics without rebuilding the motion path from scratch.
Inputs and output
poses- theCAMERACTRL_POSESobject whose intrinsics you're overriding.fx,fy- focal length, x and y, 0β1, extremely fine step (essentially continuous).cx,cy- principal point, x and y, 0β1, step 0.01. Leave at 0.5/0.5 for a centered camera unless you have a specific reason to shift it.
Output is CAMERACTRL_POSES with the new intrinsics applied.
How to install it
Same CameraCtrl requirements as the rest of the family.
- ComfyUI Manager - search AnimateDiff Evolved by Kosinkadink, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved, restart. - Model -
CameraCtrl_pruned.safetensors. - Motion module - v3 SD1.5 (
v3_sd15_mm). - Gen2 only.
Common issues & troubleshooting
You're not sure whether you actually need this node. Most people building a camera pose from scratch with the Basic or Advanced nodes won't need to touch this - the defaults are sane. Reach for it specifically when a loaded pose file's framing doesn't match your target output, or when you're deliberately experimenting with field-of-view effects.
This is uncharted territory even within an already-obscure feature. CameraCtrl overall barely comes up in community discussion, and hand-tuning its camera intrinsics is a level deeper than that. There's no well-worn set of "good" fx/fy values to reference beyond CameraCtrl's own defaults - treat any change as an experiment, and compare against the unmodified pose so you can tell what actually shifted.
Changing fx/fy produces a much bigger visual shift than expected. Focal length changes affect apparent field of view, so small changes in a 0β1 normalized value can read as a meaningfully different "lens" in the output. Move it in small increments rather than jumping to an arbitrary number.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| poses | CAMERACTRL_POSES | β | |
| fx | FLOAT | 00β1 | β |
| fy | FLOAT | 10β1 | β |
| cx | FLOAT | 0.500β1 | β |
| cy | FLOAT | 0.500β1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CAMERACTRL_POSES | CAMERACTRL_POSES | β |