Nov 5, 2026 · 3 min read
How a depth map gave a flying bus a moving camera
The bus descended, but the city around it felt flat. A depth map let us prepare first and last frames with parallax, giving the shot a convincing sense of camera movement.
Two frames, one painting
This started as a transport study. I tried animating from a single image with MiniMax H3 Max Turbo, asking the model to move the bus downward. By the last frame, the image had drifted into a more generic style. The detail I wanted to keep was gone.
Using both a first and last frame gave us more control over the appearance. We made one large painting, took crops from the top and bottom, and placed the bus in both. The model could fill in its movement between them.
That kept the buildings consistent, but everything except the bus moved as one flat picture. The frames needed to describe the camera movement as well.
Depth into layers
City painting
Marigold depth mapIn Muse, our node canvas at SplayFlo, I used Marigold V2 to estimate a depth map from the painting. That helped us separate the scene into five layers, from the foreground capsule buildings through the old city to the distant skyline and mountains.
Moving those layers would reveal areas hidden behind the buildings, so we filled those areas before composing the frames. The map described relative depth in the visible painting; it could not tell us what belonged behind an object.
Foreground
Near city
Distant backingWe shifted the nearby layers farther than the distant ones and held the far backing in place. Their relative movement made the camera's descent convincing. The bus was a separate element, moving along its own path and passing behind the foreground structures.
We chose how far each layer moved to stage the shot. The result was a layered approximation of a camera move, with enough depth for this view.
Parallax Scene in Muse brings the layers, depth map, and bus together. We can set the camera and bus at the start and end, preview their movement, and send the node's two frame outputs to a video model.
A test worth keeping
First frame
Last frameThe prepared frames went into Generate Video in Muse. The prompt described the downward camera glide, the bus's path, and the faster movement of nearby buildings. MiniMax H3 Max Turbo filled in the motion between the frames.
This version worked on the first attempt. I had generated it at 480p to keep the test cheap, but I liked the result enough to keep it and stop experimenting.
To use that clip in the reel, we ran it through Upscale Video in Muse. It increased both the resolution and frame rate, taking the 24 fps clip to 60 fps at 1080 × 1872. The result was good enough to show the experiment.