Nodes/Image Processing Suite for ComfyUI/Transform Orchestrator (Multi-Segment)
ComfyUI Node

Transform Orchestrator (Multi-Segment)

Randomized Ken Burns Motion For Whole Video Batches

By marcoc2·Created 2 years ago·Updated 5 months ago· 1
Transform Orchestrator (Multi-Segment)
  • background
  • transform_data
frames_per_segment64
total_frames512
travel_percent0.10
start_scale1.00
end_scale1.00
direction_moderandom_8dir
direction_flowcenter_to_edge
easing_modeease-in-out
seed0

AnotherTransformKeyframes gives you one clean pan-or-zoom. But real content needs lots of motion - think a slideshow where every segment drifts in a different direction, or a 500-frame background animation that wanders from center to edge and back without you keyframing every single move by hand. AnotherTransformOrchestrator is the node that generates a whole sequence of Ken Burns segments automatically: you tell it how long the total clip is and how long each segment is, and it rolls the dice on direction, flow, and travel for every segment, seeded for reproducibility. It's the lazy-but-smart way to fill a long animation with motion.

It's from marcoc2/ComfyUI-AnotherUtils, and it slots into the same stack as AnotherTransformKeyframes - it also outputs TRANSFORM_DATA, which AnotherAnimatedCompositeMasked consumes. The difference is scope: one move vs. a choreographed string of moves.

How it works

You pick a segment length (frames_per_segment) and a total (total_frames), and the node carves the timeline into segments. For each segment it picks a direction from your direction_mode - random or sequential, over 8 compass directions or a subset of 4 - and a flow from direction_flow:

  • center_to_edge - starts at center, moves outward. The classic drift.
  • edge_to_center - starts offset, settles to center. Feels more like a "landing."
  • random - coin flip per segment.

travel_percent (0.01–1.0) sets how far each segment travels: 0.1 is a subtle drift, 1.0 is a full center-to-edge run. Start/end scale and an easing mode apply per segment, and the seed makes the whole choreography reproducible. The output is one long interpolated TRANSFORM_DATA stream covering every frame of the total.

The inputs that matter

  • background - an image input used for context/sizing in the pipeline. It's technically required, so wire in the image you're going to animate.
  • frames_per_segment / total_frames - 64 and 512 by default: an 8-segment, ~20-second clip at 24fps. Tune to your real footage.
  • travel_percent - the single most influential creative dial. Small = gentle, large = restless.
  • direction_mode / direction_flow - the choreography. random_8dir + center_to_edge is a good default.
  • seed - lock it when you like a run; change it to reshuffle the whole piece.

What comes out

A transform_data list covering all total_frames, ready for AnotherAnimatedCompositeMasked.

Installing it

Standard AnotherUtils install:

cd ComfyUI/custom_nodes
git clone https://github.com/marcoc2/ComfyUI-AnotherUtils.git

Restart ComfyUI, or search "AnotherUtils" in ComfyUI Manager. No models.

Where people get burned

The main gotchas are rhythm and length. If frames_per_segment doesn't divide total_frames evenly, the last segment gets truncated and your animation ends mid-move - pick numbers that divide cleanly. And travel_percent at 1.0 with edge_to_center over a short segment produces frantic movement that reads as camera shake, not a pan; keep it under ~0.3 unless you're deliberately going for energy. Finally, remember the compositor does the actual rendering: this node only produces the numbers. Generate, check the pattern with a short total first, then commit to the long render.

CategoryAnotherUtils/animation

Inputs (10)

NameTypeDefaultDescription
backgroundIMAGE
frames_per_segmentINT641–100000
total_framesINT5121–100000
travel_percentFLOAT0.100.01–1How far from center toward edge. 0.1 = subtle movement, 1.0 = full edge
start_scaleFLOAT1.000.01–100
end_scaleFLOAT1.000.01–100
direction_modeCOMBOrandom_8dir4 options: random_8dir, random_4dir, sequential_8dir, sequential_4dir
direction_flowCOMBOcenter_to_edgecenter_to_edge: starts center moves out. edge_to_center: starts offset moves to center. random: coin flip per segment
easing_modeCOMBOease-in-out4 options: linear, ease-in, ease-out, ease-in-out
seedINT00–4294967295

Outputs (1)

NameTypeDescription
transform_dataTRANSFORM_DATA