Selected work

Independent AI brand film · Self-initiated · Concept / spec · 2026

Velmora

A rainy commute. One tap. The world goes quiet.

A self-initiated spec film, not a client job. Velmora, Villa Aurelia and Lena are fictional.

Velmora · 0:30 · 2560 × 1440 · Sound A tired commuter misses her tram, taps Reserve, and the rain gives way to a cliffside villa, an infinity pool, a boat to a cypress island and one quiet look back at blue hour. A 30-second film. At a crowded tram stop in the rain, a tired woman watches her tram leave without her. She taps Reserve on the VELMORA app and gold light floods out of the phone. The rain gives way to a white villa on a cliff at golden hour: she opens the doors to the sun, walks the edge of an infinity pool and crosses the sea to a cypress island by boat. At blue hour she turns and looks into the lens. It ends on her phone beside a candle and the words VELMORA, Travel, quietly. A woman’s voice speaks six lines, all after the tap.

Velmora is a luxury travel app that doesn’t exist. I invented it to answer one question: can AI video carry one woman, one story and one look across a full 30-second brand film, with the real app on screen and a voice that lands on the right shots? There was no client. The brand, the app and the woman are fictional.

Transcript

The voice is a single female voice, low and close, and it only starts after the tap.

  1. On screen The app screen: VELMORA · Villa Aurelia · Aegean coast · 7 nights · “Your quiet week is ready.” · Reserve
  2. 0:09 “Somewhere, it’s already quiet.”
  3. 0:12 “The doors are unlocked. The light has been waiting.”
  4. 0:16 “Nothing is asked of you here.”
  5. 0:18 “Except whether you swim before dinner… or after.”
  6. 0:23 “Velmora.”
  7. 0:27 “Travel, quietly.”
  8. On screen The end card: VELMORA / Travel, quietly.
Project
Independent AI brand film
Brand
Velmora, a fictional luxury travel app No client.
Character
Lena, an original AI character
Final picture
WAN 3.0, one 30-second generation
Voice
Lifted from a Seedance 2.5 take, isolated and re-timed line by line
Finish
Magnific Precision Video Upscaler, frame-rate boost
Specs
0:30 · 16:9 · 2560 × 1440 · 60 fps · stereo
Cut-downs
9:16 and 1:1, 0:20 each
Year
2026

The idea

Rain, then quiet

The ad had one job: make a travel app feel like relief. So the film starts somewhere you’d want to leave. A packed tram stop in the rain, the doors closing in her face. One tap on the app, and the city noise is pulled away into gold light. Everything after that is slow, warm and nearly silent, and the voice only arrives once she has left the city. That contrast is the ad.

Three worlds of light, each described in words in the prompt: grey city, golden hour, blue hour.

  • Frame from the finished film 0:04 Grey city
  • Frame from the finished film 0:08 The tap
  • Frame from the finished film 0:22 Blue hour

Building the ingredients

A woman, an app, a world

Before any video, I fixed the three things a video model tends to invent: the face, the screen and the places.

Final generation input @Image1 Lena’s anchor (Uni-1 Max) Early 30s, dark shoulder-length hair tucked behind one ear, faint freckles, one small gold hoop. The final prompt describes her once and calls her Lena after that.
Final generation input The same prompt in Recraft V4.1 Pro Attached to the final take as a second look at the same face.
Final generation input @Image3 The VELMORA app screen Designed as a flat UI mock so the phone shows real, readable words. The early takes invented their own (“Book Now” and gibberish); with the mock attached, the final film shows Villa Aurelia and the gold Reserve button.
Development study Casting options. The first one anchored the first round of takes; the final take uses the Uni-1 Max portrait.
Development study Look development in Nano Banana Pro. These settled the light and the details before I wrote the shot prompts. The final take didn’t see them; their descriptions went into the words.
Face check Anchor / final film.

Planning the moment

Boards before motion

I planned ten shots on an annotated board: timings, camera moves and wardrobe for each one. A video model reads drawings literally, so the board that went into the final take is a clean pencil redraw with no labels.

Development study My ten-shot board, with timings, camera moves and wardrobe.
Final generation input @Image2 The same board redrawn as clean pencil panels in GPT Image 2. For composition and camera only.
Development study An earlier photographic keyframe board, used for the first round of takes.

I also tested sketch boards in Ideogram 4.0, Krea and Nano Banana Pro before settling on the GPT Image 2 version.

The iteration that changed the film

Seven takes, one diagnosis

I ran seven full 30-second takes across Seedance 2.5 and WAN 3.0 and reviewed each one against the brief, shot by shot. One early take went tram, villa, doors, pool, balcony, title card: the phone tap, the espresso, the boat and the dinner never registered. Ten three-second shots were more than one 30-second generation could hold, and the beat it dropped hardest was the app, the one thing the ad is about.

What was going wrong

  • Beats were dropped. The model squeezed ten shots into the five or six it could hold.
  • The storyboard fought the prompt. It had twelve panels with two duplicates, a different shot order, and the wrong hair and wardrobe, so the model landed somewhere in between.
  • Text leaked onto signs and the phone.
  • Camera notes contradicted each other, like a lateral slide that also had to follow her from behind.
  • The payoff was missing: she never looked into the lens.
  • The ending was a generic title card, because the prompt banned all text.
  • The look drifted to clean, high-key midday light.

What changed in the rewrite

  • Eight shots with uneven lengths. The doors and the balcony turn get four seconds each; the tap gets three. The espresso and the dinner-with-a-guest scene were cut.
  • A clean board in shot order, plus one rule: where the text and the board disagree, the text wins.
  • Every sign described as blank or switched off, and the real app screen attached.
  • One look into the lens, timed to the second.
  • Explicit permission for the end card, with its exact words.
  • Light described in words instead of colour codes.
Before
After Film, 0:22
The sketch board leaked into the picture: a painted sea behind the table. Fix: the board is for composition only and everything renders as live action.
Before
After Film, 0:07
The model invented app text, including a “Book Now” button. Fix: attach the real screen and name exactly what it shows.
Before
After
Garbled letters on the departure board. Fix: describe every sign as blank. “Avoid text” on its own isn’t enough.
Before
After
The wrong tree on the island. Fix: one canonical island, reused as a reference.

Picture from one take, voice from another

The rewrite gave the best picture on WAN 3.0: a readable app screen, the gold bloom, one consistent Lena and a proper end card. But WAN skipped the voiceover. A Seedance 2.5 take of the same prompt spoke every line well but couldn’t match the picture. So I kept both: WAN’s picture and its own sound design, and Seedance’s voice.

Shots in the final film
  1. Tram stop 0:00–0:06
  2. The tap, gold bloom 0:06–0:09
  3. Villa from the air 0:09–0:12
  4. The doors 0:12–0:16
  5. Infinity pool 0:16–0:19
  6. Boat to the island 0:19–0:23
  7. Blue hour, the look 0:23–0:26
  8. End card 0:26–0:30
  9. Voice 6 lines at 0:09, 0:12, 0:16, 0:18, 0:23, 0:27

The recipe

Four references, one prompt

  • @Image1 Lena’s anchor portrait, Uni-1 Max Takes Face, skin, freckles, hair length, the gold hoop Leaves The ivory shirt, except in the doors shot
  • Second portrait: same prompt, Recraft V4.1 Pro, attached without a tag Takes A second look at the same face Leaves Everything else
  • @Image2 Clean pencil storyboard, GPT Image 2 Takes Composition and camera, shot by shot Leaves The drawn look, and anything the text contradicts
  • @Image3 VELMORA app screen Takes The exact UI, wherever a phone is on screen Leaves Nothing
Model WAN 3.0
  • 30 seconds
  • 16:9
  • 1080p
  • one generation
Output Velmora
  • Upscaled afterwards to 2560 × 1440 at 60 fps

How the prompt is built

  1. 01 One title line and the format: 30 seconds, eight shots, hard cuts except one gold transition.
  2. 02 The references, each with a role and a rule.
  3. 03 The story in one sentence.
  4. 04 The look: film stock, then each world of light in words.
  5. 05 Camera rules: one move per shot, always forward or left to right.
  6. 06 Performance rules: small gestures, and exactly one look into the lens.
  7. 07 Eight shots with timecodes, each with its own sound.
  8. 08 The voiceover lines, pinned to the second.
  9. 09 Music and an Avoid list.

Two beats, as written

The tap

Her thumb, nail unpainted, taps the gold Reserve button once. On the tap, warm gold light blooms out of the screen, spreads across her fingers and the sleeve, and fills the entire frame until it is pure warm gold.

Frame from the finished film 0:07 The tap in the finished film.

The look

She stands at the railing looking at the lights, then at the 2-second mark turns her head over her shoulder to look straight into the lens with a small, private, closed-mouth smile. Hold on her face for the rest of the shot.

Frame from the finished film 0:24 The look in the finished film.

The full prompt

The prompt for the final take. Timecodes, headings and references are highlighted; the wording is unchanged.

Read the full prompt

VELMORA — "Travel, quietly." 30-second cinematic brand film for a luxury travel app.16:9, 24fps, 30 seconds, eight shots with hard cuts, except shot 2 → shot 3 which is one continuous gold light transition.

REFERENCES@Image1 = Lena, the only person in the film. Lock her exact face, skin, hair length and body in every shot: early 30s, dark straight shoulder-length hair tucked behind her right ear, a thin pale scar cutting through her left eyebrow, faint freckles across the nose and cheeks, one small gold hoop in her right ear only, natural unretouched skin with visible pores. The ivory linen shirt in this image is her wardrobe for shot 4 only.@Image2 = storyboard, 8 panels in shot order, for composition and camera only. Render everything as photoreal live action, never as a drawing. Where this text and the storyboard disagree, this text wins.@Image3 = the VELMORA app screen. Whenever a phone screen is visible it shows exactly this: the VELMORA wordmark, the villa photo, "Villa Aurelia", and the gold "Reserve" button. No other text anywhere in the film except this screen and the final end card.

STORYA tired woman @Image1 on a wet city commute taps one button, and the world goes quiet, warm and slow.

LOOKShot on 35mm film, fine grain, soft halation on highlights, gentle lift in the blacks, 50mm anamorphic with shallow focus and oval bokeh. Never crisp, never clean, never CGI.City (shots 1–2): flat overcast daylight, wet grey-teal asphalt, slate and near-black coats, harsh cool fluorescent spill from the tram and shelter.Golden hour (shots 3–6): low sun near the horizon, long soft shadows, sea haze, pale gold highlights, warm earth mid-tones, umber shadows. Skies are hazy warm gold, not blue.Blue hour (shots 7–8): deep ink-blue sky after sunset, warm amber practical light from candles and village windows. Stars barely visible. No moon.

CAMERA RULESThe camera is always moving, one move per shot, always forward or left-to-right so cuts flow into each other. Handheld and restless in the city; smooth, slow and stabilised after the tap. Moving subjects (tram, boat) travel left to right.

PERFORMANCEDocumentary-real. Small gestures, no posing, no wide smiles, no acting toward the lens. Lena looks into the lens exactly once, in shot 7.

SHOTS

Shot 1 (0–4s) — Rain, tram shelter.@Image1 Lena in a charcoal wool coat over a grey knit, both wet, hair stuck to her cheek. Handheld, slow push-in from just behind her right shoulder as she steps toward a packed tram. The doors close in her face and the tram pulls away left to right, throwing spray across the kerb. She stays in the rain and lets out one long tired breath, visible in the cold air. The tram destination display is dark and blank; the shelter poster is a plain grey panel with no lettering.Sound: rain drumming on the shelter roof, tyres hissing, tram bell, door hiss, distant siren.

Shot 2 (4–7s) — Close on her hand and phone.Rain beads on the wet wool sleeve. The phone fills most of the frame and the screen is fully readable, showing exactly @Image3. Slow push-in. Her thumb, nail unpainted, taps the gold Reserve button once. On the tap, warm gold light blooms out of the screen, spreads across her fingers and the sleeve, and fills the entire frame until it is pure warm gold.Sound: one crisp glass tap. The city sound is pulled backwards into a rising whoosh that lands on a soft deep sub-bass boom and a bright airy shimmer.

Shot 3 (7–10s) — Villa from the air, golden hour.The pure gold resolves into the low sun over a still sea. Continuing the forward motion, a slow aerial glide forward and down reveals a small white villa on a cliff with a single infinity pool, a limestone terrace and a few cypress trees. No people visible.Sound: sudden near-silence, then soft wind and distant surf fading in.

Shot 4 (10–14s) — Terrace doors.Slow dolly in from the terrace side toward tall old oak double doors. Lena, in the ivory linen shirt and wide sand-coloured linen trousers, pushes them open from inside, one hand on each door, arms at a natural width, not spread wide. Low sun hits her face; she closes her eyes, tilts her chin up a little, and her shoulders drop as she breathes out.Sound: old wood creaking, a latch clicking, a rush of sea air, cicadas, one gull.

Shot 5 (14–18s) — Infinity pool.Lena in a plain black one-piece swimsuit walks slowly along the infinity edge of the pool from left to right, seen from a low camera on the terrace side, in profile, water just covering her feet, the sea and low gold sun behind her. Smooth lateral slide moving with her. Ripples spread from each step and catch the light. One single pool edge, one horizon.Sound: water lapping at the edge, soft footsteps in water, breeze.

Shot 6 (18–22s) — Small boat, open sea.Low tracking shot skimming the water, moving left to right alongside a small varnished teak boat gliding toward a rocky islet with one tall cypress. Lena sits at the bow in an ivory linen cover-up over the black swimsuit, one hand on the gunwale, wind lifting her hair, squinting into the light. No one else in the boat is visible.Sound: low engine hum, hull slapping small waves, wind.

Shot 7 (22–26s) — Night balcony.Blue hour. A whitewashed balcony with an iron railing and a potted olive tree, above a village of warm lit windows and a dark coastline. Lena in a terracotta silk slip dress, a thin cream knit draped over her forearms only so the dress is fully visible. Slow drift left to right. She stands at the railing looking at the lights, then at the 2-second mark turns her head over her shoulder to look straight into the lens with a small, private, closed-mouth smile. Hold on her face for the rest of the shot.Sound: crickets, a far-off village murmur, soft waves.

Shot 8 (26–30s) — Phone on the ledge, end card.Her phone lies face-up on the balcony ledge beside a glass candle, village lights as soft bokeh behind. Very slow push-in on the glowing screen showing @Image3. The image fades to black. On black, the VELMORA wordmark appears in thin letter-spaced serif capitals, and beneath it in smaller type: Travel, quietly. Both fade out last.Sound: the crickets thin out, the candle flutters, a single soft warm tone, then silence.

VOICEOVERA single female voice, late 30s, low and warm, unhurried, close-miked, almost conversational, no announcer energy. Speaks only these lines, at these moments, and nothing else. No other speech in the film.7s (as the gold resolves into the sea): "Somewhere, it's already quiet."11s (as the doors open): "The doors are unlocked. The light has been waiting."15s (pool): "Nothing is asked of you here."19s (boat): "Except whether you swim before dinner… or after."24s (as she turns to the lens): "Velmora."28s (on the end card): "Travel, quietly."

MUSICNone in the city. From the tap onward, a single sustained warm piano note with soft room reverb, one note every few seconds, barely there under the ambience. It ends on the final tone.

AVOID:Any lettering except the @Image3 screen and the end card. Drawn or illustrated look. A second person or a duplicate Lena. Wardrobe from the wrong shot. Wide or open-mouth smiles. Arms spread theatrically. Moon in the sky. Blue midday skies in golden-hour shots. Warped hands, doors, railings or water. Gibberish speech.

Trimmed: a few lines of my own notes that were accidentally pasted after the Avoid list.

Finishing

Upscale, voice, cut-downs

Upscale
Magnific Precision Video Upscaler, from the 1080p generation to 2560 × 1440, with frame-rate boost to 60 fps.
Voice
Isolated from the Seedance take with a vocal-separation model (UVR MDX-Net Voc_FT). Each line was cut out and placed on its shot: the villa at 0:09, the doors at 0:12, the pool and the boat from 0:16, “Velmora” at 0:23 and “Travel, quietly.” at 0:27. WAN’s own sound design sits under the voice, with the boat engine pulled down so the line stays clear. Mixed to streaming loudness (−15 LUFS).
Cut-downs
20 seconds in 9:16 and 1:1, reframed shot by shot so her face, the phone screen and the end card stay in frame. All six lines are kept.
9:16 cut-down · 0:20
1:1 cut-down · 0:20
9:16 for Reels, TikTok and Shorts · 1:1 for feed posts.

What I learned

What held, and what didn’t

  1. Fewer shots, uneven lengths

    Eight shots held. Ten didn’t. Give the important beats more time and cut the rest.

  2. A contradictory reference is worse than none

    The board had to match the text exactly, or be redrawn.

  3. Name the text you want

    “Avoid text” doesn’t work. Describing blank signs and attaching the real screen does.

  4. Light in words, not codes

    Hex values don’t move a video model. Described light does.

  5. Picture and voice can come from different takes

    I kept the best of each, then rebuilt the mix.

  6. Give the end card permission

    Ban all text and you get a generic title card. Name the words and the model builds a proper ending.

Limitations

  • WAN didn’t follow every line. The doors open with her arms spread wide (the prompt asked for a natural width), a crescent moon appears at blue hour despite “No moon”, and the balcony became a dinner table, so the terracotta dress never shows.
  • The pool shot frames her from the waist down. Her face isn’t in it.
  • The voice is a model’s voice, taken from another take. That’s fine for a spec film. Client work gets a licensed AI voice or a voice artist, recorded to the final cut.

What I’d refine next

  • Generate in two halves split at the gold bloom, for even tighter face consistency.
  • Record a purpose-made voiceover and a light piano bed in post, timed to the cut.

Credits and invitation

Sources and credits

Creative direction, script, edit and sound
Anirudh Thakur
Character
Lena, an original AI character (Uni-1 Max, Recraft V4.1 Pro)
Casting tests, places and props
Nano Banana Pro
Storyboard
GPT Image 2 (final), with Ideogram 4.0, Krea and Nano Banana Pro tested
Video
WAN 3.0 (final picture), Seedance 2.5 (voice and comparison takes)
Upscale
Magnific Precision Video Upscaler
Voice isolation
UVR MDX-Net Voc_FT
Workspace
FLORA

Velmora, Villa Aurelia and Lena are fictional. This is a self-initiated spec film, not a client commission, and it isn’t affiliated with any travel company.

Download the 7-page case study (PDF)
Frame from the finished film 0:20 Out to the island.
Work · anirudhthakur.work 02 / 02