Zura V4 · Orbit whole scene with parallax
Make the Room Turn With the Camera, Not Just the Performer
- STRING
Here's the tell that you're looking at a fake camera move: the performer turns to three-quarter, and the wallpaper behind them doesn't budge. Every angle-generation model does this, because rotating a person is easy and moving a room is geometry.
Zura V4 · Orbit whole scene with parallax is a text node that spends its entire added paragraph trying to talk the model out of that shortcut. Same two inputs as its V3 sibling - camera_prompt, and a shot_size enum of wide, medium, close - same single string output. One sentence swapped.
What's different from the V3 prompt node
Zura V3 · Safe camera framing appends Keep the same person and room. The V4 version replaces that with an instruction to move the physical camera around the same performer inside the same three-dimensional room, rotate the perspective of both the person and the entire environment together, and show coherent parallax - wall panels, furniture, lamps and their shadows changing relative position behind the person. Explicitly: don't reuse a static background, don't rotate only the person. Keep the room's identity and objects consistent, and let the lighting follow the new viewpoint.
Everything else is inherited verbatim, including the head-protection tail (show the entire head and hair, clear space above it, don't crop the forehead, hair, chin or shoulders) and the shot-size framing line.
Why the parallax clause exists
Because this is the failure mode that separates "camera move" from "person turns". The whole point of the V4 multicam path is a generated set - you swap the bedroom for a studio and then shoot it from three angles. If the model rotates the performer and keeps the background static, you get a slideshow, and every subsequent shot contradicts the last one about where the room is.
The prompt is doing the job that geometry should do, which is the honest caveat. Depth-based camera work exists precisely because single-image models can't invent the pixels behind an occluder: the depth map only describes the original view, so as a virtual camera moves and reveals new background, there's no pixel data there and something has to hallucinate it. A prompt nudge is a cheap approximation of that. The pack's own render node knows this - when the scene actually matters it feeds the model a warped geometry guide and relit keyframes, not just text.
Using it
Feed camera_prompt with your angle instruction and wire the output into the text encode that produces your candidate angle stills. In the V4 flow, the scene swap happens on the render side: Zura V4 · Generative scene-aware multicam only enters scene mode when its look_enabled is on and background_mode is not "Keep source background", and it refuses plans that include an original-camera shot, because a source-room shot would reintroduce the room you just replaced. Pair the two or neither works properly.
cd ComfyUI/custom_nodes
git clone https://github.com/ZURAVFX/ComfyUI_zura_nodes
Restart ComfyUI, or install Zura Nodes via ComfyUI Manager. No dependencies for this node specifically - it's string assembly, zero GPU.
Set your expectations
Text-level parallax instructions get partial adherence at best. Expect the model to move some wall furniture and to get lazier as the angle gets wider, and expect the scene to drift between shots even when each individual still looks fine. That's why the workflow reviews a short Plan/Render test before committing a full clip - the README says a structurally valid graph doesn't guarantee visual consistency, and this is the node where that warning bites hardest.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| camera_prompt | STRING | — | |
| shot_size | COMBO | 3 options: wide, medium, close |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |