One photo, a 140 degree macro traverse
A 4-second macro probe-lens move down a model-maker's workbench and around a small rocket. Nothing here was filmed and there is no 3D set: the whole shot starts as a single generated still, and the camera move is real geometry derived from that one frame.
Stage 1 - build a real camera move out of one still
A GPT Image 2 node generates the plate from a JSON production prompt written like a camera report, lens, aperture, kelvin and all. That single frame is turned into a 3D gaussian splat, and a macro probe camera traverses the bench and wraps 140 degrees around the rocket. The splat renders out as a pure depth video: brighter grey is nearer, black is scene the photo never saw.
Stage 2 - hand the move to a video model
A Seedance 2.0 node takes that depth video as the camera and the plate as the look. The depth carries path, speed and timing exactly; the plate carries every real colour, texture and light. The model invents the parts of the workshop the original photo never contained, and holds them consistent for the whole move.
Step by step
- 01
Generate the plate like a photograph, not like a picture
The starting frame is written as a JSON production prompt rather than a sentence: lens, aperture, colour temperature, subject placement, surface finish. Asking for a specific optical setup gets you a frame that behaves like it was shot, which matters enormously later, because every real colour, texture and highlight in the finished move is carried by this one still.
The prompt for this stepShow promptHide
Generate this photorealistic photograph exactly as specified in the JSON below. { "task": "text-to-image: photoreal macro probe-lens photograph on a model-maker's workbench, single frame, 16:9", "camera": { "body": "Sony A7R V", "lens": "Laowa 24mm f/14 2x Macro Probe", "sensor": "full-frame 36x24mm", "field_of_view": "73.7 degrees horizontal (24mm on full frame)", "aperture": "f/14 - probe-lens deep focus, everything from 10cm to the background acceptably sharp", "iso": 1600, "shutter": "1/50s, locked rig - zero motion blur", "white_balance_kelvin": 4300, "height_m": 0.05, "tilt_deg": 0, "roll_deg": 0, "position": "at the entrance of the object lane, 15cm before the first item, looking straight down the length of the workbench", "framing": "worm's-eye miniature world: desk surface fills the bottom of frame, objects tower left and right, the rocket miniature visible at the lane's end" }, "scene": "a model-maker's workbench, bright and inviting - warm task-lamp light plus soft daylight, open gentle shadows, every object clearly visible, NOT gloomy", "object_lane_front_to_back": { "left_20cm": "a roll of masking tape standing on edge, paint-flecked", "right_35cm": "two squat glass paint pots with worn metal lids, one amber one grey-blue", "left_55cm": "a chunky glass jar holding short stubby paint brushes, handles down", "right_70cm": "a battered tube of modelling putty lying flat, label worn BLANK", "center_90cm": "THE HERO: a retro-style miniature rocket, matte silver with primer patches and fine panel lines, standing on a round machined-metal display stand", "far_background_1.5m_plus": "soft out-of-focus workshop: a closed flight case with the logo stencil, a shelf of maquettes, an articulated task lamp - all far behind the lane" }, "surface": "worn light birch workbench, cut marks and faint paint stains, matte, no reflections", "clearance": "a clear straight corridor 12-15cm wide runs between the objects from the camera to the rocket - nothing blocks the lane; desk surface visible around every object including behind the rocket", "logo": { "source": "image 1 - the exact logo artwork", "authority": "image 1 contributes the logo glyphs ONLY - no style, color or composition influence", "placement": "stenciled in dark grey paint on the flight case lid in the background, facing the camera", "treatment": "clean spray stencil, glyphs EXACTLY as image 1 - do not re-typeset" }, "look": { "palette": "warm birch and amber task light #E8B06A, soft neutral daylight fill #C9D4DC, matte silver rocket", "character": "gentle filmic grain; real wear: paint flecks, tape residue, fine dust on the desk catching light" }, "constraints": [ "no people, no hands, no animals", "the provided logo is the ONLY legible marking - putty tube label blank, no text or numbers anywhere else", "no cables, no wires, no thin metal tools like blades or calipers in the lane", "no mirrors, no gloss, no strong reflections", "nothing in motion, no motion blur, everything static" ] }The plate. One generated frame, 16:9. - 02
Turn the single frame into geometry
The plate becomes a 3D gaussian splat, roughly 1.4 million splats, then gets optimised. This is the step that makes the rest possible: once the photograph is geometry, a camera can move through it, and the move is real parallax rather than a warp faked in 2D. What the photograph never saw is simply absent from the geometry, which turns out to be useful information rather than a problem.
- 03
Fly a macro probe camera down the bench
A camera path is authored across the full move and baked to keyframes: a push down the lane, a settle, then a 140 degree wrap around the rocket. A second render from directly overhead shows the path as it runs, with a marker travelling the trail live and a target marking what the lens is looking at. Being able to watch the move from above is what makes it correctable.
The same move from overhead. The marker is the camera, the target is what it looks at. - 04
Render the move as pure depth
The traverse camera renders the splat as depth only, with no colour at all: brighter grey is nearer the lens, black is scene the original photograph never contained. Handing a video model a depth pass rather than a colour render is the whole trick, because depth states the camera move unambiguously while leaving every question about appearance to the plate.
Camera only. No colour, no texture, no opinion about how anything looks. - 05
Give the model the move and the look separately
The depth video goes to the reference video input and the plate goes to the first frame. The split is deliberate and it is the reason this holds: path, speed and timing come from the depth, and colour, texture and light come from the plate. The model's actual job is narrow, which is to invent the parts of the workshop that were never photographed and keep them consistent while the camera moves past them.
The prompt for this stepShow promptHide
Use the reference video only for the camera movement: follow its camera path, speed and timing exactly. The reference video is a depth preview of the scene, not real imagery - brighter gray means closer to the camera, darker gray means farther away, and pure black areas are unmapped parts of the scene: extend the real workbench and workshop naturally into them. It contains no real colors, textures or lighting. The reference image shows the true, clean photographic appearance of everything - render every frame in that exact look and lighting. A single continuous shot, present tense. A macro probe-lens view across a model-maker's workbench in a bright, warm workshop: a paint-flecked roll of masking tape and a glass jar crowded with used paint brushes on the left, grimy amber and grey-blue paint pots and a battered blank putty tube on the right, and at the center of the bench a small retro miniature rocket - matte silver with primer patches and fine panel lines - standing on a round machined-metal display stand. Behind it, a black flight case with a stenciled logo, and farther back shelves of miniature models and an articulated task lamp in soft daylight. The camera glides forward at bench height down the open lane between the objects - the tape roll and brush jar passing close on the left, the putty tube and paint pots on the right - then slows and settles gently in front of the rocket, and arcs smoothly around it in a half-circle, keeping the rocket centered while its far side comes into view, ending on the rocket seen from the opposite side of where the shot began. The rocket's far side matches its near side exactly: the same matte silver panels, primer patches, panel lines and a third identical fin, continuing seamlessly around the body. As the camera comes around, the rest of the workshop is revealed naturally: the workbench continuing, more shelves, soft warm window light - consistent with the visible workshop. Everything on the bench stays perfectly still - nothing moves, no hands, no people anywhere. The only motion besides the camera: fine dust motes drifting slowly in the warm light. Preserve the bright, warm workshop exposure of the reference image; the stenciled logo on the flight case is the only text anywhere - no other text, numbers or labels appear. Quiet room tone only: faint workshop ambience, a soft building hum - no music, no voices. Photorealistic, cinematic macro, gentle shallow depth of field.
The finished traverse. Everything past the edge of the original photo is invented. - 06
Read the drive against the result
The comp keeps the drive and the result stacked in the same script, which is the only honest way to judge whether the move survived. What you are checking is not whether the picture is pretty but whether the camera did what it was told: same path, same speed, same timing, no drift as the wrap comes around.
Drive and result together. The check is the move, not the picture.
How it was wired
Wired in Nuke as: the plate to First frame, the depth driving video to the Reference video input, 4 seconds, 720p. The comp also carries the top-down camera path, a 2x2 grid and a stacked comparison so you can see the drive and the result side by side.