
The photos
Street View walks of the bridge became our location scout. What's real: the railing, the benches, the facades.
A woman crosses the Reussbrücke in Lucerne with her head in her phone. Too many thoughts, too much noise. In the middle of the bridge she stops, looks up, and the city is suddenly there: the lake, the Chapel Bridge, the Jesuit church in the evening light.
The challenge wasn't the story. It was the place. Anyone from Lucerne knows this bridge: its cast-iron railing, its wooden benches, the buildings at each end. If one detail is invented, they notice. So the brief was strict: a commercial on a real location, without a crew, without a permit, without travelling, and without filming a single frame.
We built the location first, from Google Maps, Google Earth and Blender. Then we let the AI shoot inside it.
The script is written in Lucerne dialect and read softly, close to the ear. Its timing came first: the longest pause, 0.75 seconds, sits right before «luegt si ufe», she looks up. That's the turn of the film, at 40 % of its length. Every camera move and every cut was measured against that clock.
Si lauft dur Lozärn.She walks through Lucerne.
Z vill Gedanke. Z vill Reiz. Z vill im Usse.Too many thoughts. Too much noise. Too much outside.
Und denn… luegt si ufe.And then… she looks up.
Für en chline Momänt isch eifach alles da.For a little moment, everything is simply there.
Mängisch bruchsch nume de Momänt, wo du grad lebsch.Sometimes all you need is the moment you're living.
Will guet zu dir luege bi dir afangt.Because taking care of yourself starts with you.
An AI video model doesn't know where things are. Ask it for "the Reussbrücke" and it invents a bridge. So before generating anything, we gave it a world that can't lie: real photographs for what things look like, a real 3D city for where they are, and a measured bridge for where she walks.

Street View walks of the bridge became our location scout. What's real: the railing, the benches, the facades.

Lucerne's old town in 3D, imported into Blender. Where everything stands, to the metre.

A clean bridge built to measure and placed inside the real city. Our virtual set.

Where she is and where the camera looks, shot by shot. The film's GPS.
Capture
CleanedWe walked the bridge in Street View and captured thirteen views: both ends, both walkways, the railing up close, the benches, the lamp posts. Then we cleaned each capture of the map interface, the arrows and the street names, and tested three image models side by side for the one that changed the least.
From those plates we cut element references: the railing panel with its three oval bosses, the bench, the lamp, every building at the north and south ends. Each shot only received the pieces it would actually see.

The same photogrammetry you fly through in Google Earth, brought into Blender as 76 tiles of Lucerne's old town: the Reuss, the Chapel Bridge, the water tower, the Jesuit church, the rooftops.
We aligned it to our bridge to within one degree. From then on, every question had a measured answer. How far is the Chapel Bridge from the middle of the bridge? What does she see when she turns to the river? Which building sits behind her when the camera looks south?

Photogrammetry is beautiful from the sky and melts at street level: the railing turns to wax, the benches disappear, the deck grows spikes. So we rebuilt the bridge itself, clean: 52 metres of deck, both walkways, the railing, five benches per side and the lamp posts, all where Street View says they are.
The result is a hybrid set: real city around, clean bridge underfoot. Every camera was placed and animated inside it: height, lens, speed, and exactly where it looks.

The hardest problem in AI film isn't one beautiful shot. It's the cut. Every generation is an island: it doesn't know where the previous shot left her. In our first drafts she jumped from one end of the bridge to the other between two cuts.
So we wrote a score. She enters at 14 metres, walks north on the east walkway at 3.3 km/h, passes bench 2, then bench 3, and stops at 29 metres, one metre before lamp post 2. Every shot was then checked by counting benches and lamp posts: if the marks didn't match, the take was rejected.


Every shot was generated with Seedance 2.5 from three kinds of input: the camera move rendered from our 3D set, the location photographs, and the cast sheets. Each one has a single job.

Our first 3D previs had mannequins walking the bridge. The AI copied them faithfully: the stiff gait, the feet sinking into the deck, the phone held in a fist.
So we took every character out of the 3D. The reference clip now shows an empty bridge and a moving camera. How she walks, how she holds the phone and how her feet meet the asphalt come only from the text and the cast sheets.
Path, height, lens and speed come from the render. Nothing about the people.
Background photos show only what lies beyond the bridge. With a walkway in them, she walked on the wrong side.
The key moments come from two long takes cut like a multicam shoot, so her position can't jump.
One approved frame became the light reference for every shot: the same evening, the same skin.
At first glance it reads as footage. But this page is for the people who watch twice, so here is what we know is off.
Kept
RejectedIn over-the-shoulder shots, the model can show her on the walkway or the full row of benches, not both. Every time we asked for the row, she drifted into the middle of the bridge. We kept the takes with her in the right place and fewer benches.
The close-up of her feet that opens the film came out walking south, the opposite way to every other shot. Watch which side the river and the railing are on.
The facades are simplified, shop signs don't read, and in some shots a building at the far end of the bridge is a cousin of the real one rather than its twin.
A generic photo feed that matches what the voice says, not a real app. Freeze a frame and it won't hold up.
The score keeps her on the right stretch of bridge, but between some cuts her exact spot shifts a little. Count the benches and you'll find it.
The photographs are from midday. The evening light is the model's reading of our description, so shadows don't always agree with where the sun really is.
On purpose. The Reussbrücke is never this quiet. Every other passer-by would have been one more face to keep consistent, and one more distraction from hers.
| Phase | What and with what | Credits | CHF |
|---|---|---|---|
| Location plates | 13 Street View captures cleaned and upscaled · Seedream 5.0 Pro, GPT Image 2.5, Nano Banana 2.1, Topaz | 87 | 2.61 |
| Voice | Swiss German narration · ElevenLabs v4 | 3 | 0.10 |
| Cast & props | Character sheets and the phone · Nano Banana 2.1, GPT Image 2.5 | 20 | 0.59 |
| Drafts | 41 test generations at 480p · Seedance 2.5 draft | 600 | 18.00 |
| Final takes | 7 approved shots rendered at 1080p · Seedance 2.5 | 832 | 24.96 |
| Total | Generation only | 1,542 | ≈ 46.25 |
Credits taken from the account's transaction history. CHF at the plan rate of 6,000 credits for CHF 180, so CHF 0.03 per credit. Not included: software subscriptions (Higgsfield plan, Claude, CapCut, Google Flow Music) and our time. Google Maps, Google Earth and Blender cost nothing.
Most of the money went into learning, not into the film: 600 credits of drafts to find what the model gets wrong, 832 to render what it got right. That ratio is the real skill. Every bad take was a bad instruction.
A crew, a permit, a closed bridge and the right evening would have cost days and thousands of francs. Here the location was built from public maps, measured in 3D and handed to the AI as a set it couldn't argue with. The craft didn't disappear. It moved: from the camera to the brief.
That's how I work: deciding what has to be true before deciding what to show. If your brand needs a film in a place people recognise, tell me about your project. I'll send you a quote.