Nodes/Symbiotica/Focus Pull
ComfyUI Node

Focus Pull

Focus Pull — the reveal move for AI video

By symbiotica-ai·Created 6 months ago·Updated about 12 hours ago· 2
Focus Pull
  • video
  • video
directioninto focus
strength0.60
seconds1.2

The rack focus is one of the easiest ways to make a clip feel like cinema instead of a generated GIF: open soft and let it resolve, or open sharp and let it fall away. Focus Pull, from the symbiotica-ai/comfyui-nodes pack, does exactly that on a VIDEO, and the timing is handled for you - which matters more than you'd think.

The mechanism is honest about what it is. This is not a depth-aware rack between two planes inside one shot. There's no depth model here. The whole frame moves together, a defocus that goes from "the lens is on this shot" to "the lens is off it." For the shots this node exists for, that's the right tool anyway: the subject already fills the frame, and the pull is the reveal. If you need a real rack between a foreground face and a background street, you want a depth-based node, not this one.

How it works

ffmpeg decodes the clip, each frame gets a disc convolution at a radius that follows a focus curve, and it's re-encoded. Your audio rides through untouched. The key detail is in the seconds input: the rack starts on the first frame going into focus and lands on the last frame coming out of it - there is nothing to line up by hand. Ask for 1.2 seconds and you get a 1.2-second pull that fills the clip. Ask for longer than the clip and it simply uses the whole clip.

Two directions, both useful:

  • into focus - opens soft and resolves. The reveal. Great for a clip that starts mid-action, or for hiding the rough first frames of a generated shot behind a soft open.
  • out of focus - opens sharp and falls away, ending soft. The "and then the memory fades" move.

The inputs that matter

  • direction - into focus or out of focus. Pick by which end of the shot you want the viewer to remember.
  • strength - how far out of focus the soft end goes. 0.3 is a gentle breath; 1.0 puts a face past recognising; 0 passes the video through untouched. Default 0.6 is a solid middle.
  • seconds - the length of the rack, 0.1–10. This is the one to tune per edit. Short and punchy (0.5–1s) reads as energy; long and slow (3s+) reads as mood.

Output is one video, same geometry and duration as the input.

Install

Part of the symbiotica-ai/comfyui-nodes pack - search "Symbiotica" in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt

Restart, and make sure ffmpeg/ffprobe are on PATH (the pack looks in PATH, Homebrew, /usr/bin) - without them every video node in this pack fails before doing anything.

Gotchas

Everything is re-encoded, so a long clip takes a while - that's the price of doing the defocus per-frame. And because the defocus is a uniform blur, don't set a huge strength on a clip with important detail at the edges; the whole frame goes soft together, so there's no shallow-depth look to be had here. If the pull feels too weak, remember it's a global rack: a small strength on a wide shot is barely perceptible, so nudge it up. For the full "this doesn't look AI" treatment, stack it with the pack's Film Grain and Camera Shake - grain plus motion plus a focus breath covers a lot of generated-video tells.

CategorySymbiotica/Video

Inputs (4)

NameTypeDefaultDescription
videoVIDEO
directionCOMBOinto focusWhich way the lens travels. 'into focus' opens the clip soft and lets it resolve — the reveal. 'out of focus' opens sharp and lets the shot fall away, ending soft.
strengthFLOAT0.600–1How far out of focus the soft end of the pull goes. 0.3 is a gentle breath, 1.0 puts a face past recognising. 0 passes the video through untouched.
secondsFLOAT1.20.1–10How long the rack takes. It starts on the first frame going into focus and lands on the last frame coming out of it, so there is nothing to line up. Longer than the clip and it simply uses the whole clip.

Outputs (1)

NameTypeDescription
videoVIDEO