← All Work
// PERSONAL PROJECT / AGENTIC PRODUCTION CASE STUDY

Ghost Casting

A campaign shoot with no model, no camera, no location.

Spec work with running-spot energy. We ran a real casting session for a woman who does not exist, locked her identity the way a character department locks a CG double, taught a neural network her face on a desk GPU, and then shot her across five cities in one night. Every discipline from twenty years of production survived. Only the trucks didn’t.

Role
Casting · Direction · Production · Pipeline
Talent
0 humans · 2 trained identities
Locations
5 cities · 0 permits · 0 flights
Year
2026
Five-city world tour grid: the same AI-generated runner in San Francisco, New York, London, Paris, and Sydney
The World Tour · One actor, five cities, one night of GPU time · Every face machine-verified against the master plate

We held a casting session for six women who don’t exist.

The brief: a fit Asian American runner with one identity anchor, a small beauty mark under her left eye. Six candidate plates were generated as a real casting would run: same setup, six different faces, reviewed like a callback sheet. Candidate 04 booked the job. We call her Mei.

Then the machines started lying. Every single generation, across two different AI systems, put the beauty mark on the wrong side. One system caught its own error, apologized, and got it wrong again. The fix was not a better prompt. The fix was production discipline: one approved master plate became the single source of truth, and every downstream frame references it.

Casting sheet of six AI-generated candidates
The casting sheet · Six invented candidates · 04 booked the job
Prompts propose. The plate decides. The first law of the project

Then we taught a machine her face.

From the approved plate: a six-angle studio turnaround, a 26-image training dataset, and roughly four and a half hours of training on a single desk GPU. The strip below is the same prompt rendered at checkpoints during training, from the model’s generic guess at step zero to Mei, locked, at step 2500.

Six-angle studio turnaround of Mei
Studio turnaround · One identity, six angles
Training progression from step 0 to step 2500 converging on Mei's face
One prompt, six checkpoints · A neural network learning a face that never existed

The result is directable talent: one trigger word now produces Mei in any scene, any light, any wardrobe, with no reference image attached. And the system is repeatable; a second character, a basketball athlete with his own identity anchor, went from casting to turnaround in a day.

Six-angle turnaround of Dante, a second invented athlete
Character 002 · Same system, new spot

Five cities. Zero flights. One night.

The lesson of the shoot: the discipline isn’t prompting, it’s pre-production. Every location was scouted against real reference photography before a single frame rendered; every wardrobe came from a locked kit library matched to conditions; every sky was a directed choice. Scouted locations rendered believable on the first take. The unscouted one took three rounds and still argued about the paint color.

Mei on the Golden Gate Bridge in blue fog light, teal windbreaker
San Francisco · Blue fog light · Rain kit
Mei leading a winter marathon across the Brooklyn Bridge in snow
New York · A winter marathon that will never exist
Mei on Tower Bridge in grey top and burgundy shorts
London · Marathon roadway · Third wardrobe
Mei on Pont d'Iena with the Eiffel Tower under grey-purple skies
Paris · Grey-purple skies, per the director’s note
Three Sydney takes: two sunrise looks and one under blue skies with cumulus clouds
Sydney · Sunrise vs. cumulus · Wardrobe and atmosphere are directed choices, not dice rolls

Client notes, on talent that doesn’t exist.

Mid-review, the director gave notes like any campaign review: change the London wardrobe to grey and burgundy. Push her eight feet back from camera. Keep her build consistent with the casting. Swap Sydney to a lighter kit for the sunrise. Every note executed in about a minute per pass, from the original pixels, like a retoucher who never sleeps.

London before and after: teal windbreaker take versus final grey and burgundy take after notes
London · Before notes / after notes · Wardrobe, framing, and continuity direction, executed same-day
The tools are interchangeable. The roles are not. Agentic production, the operating model

“It still feels like it’s drifting.”

Late in the shoot, the director’s eye flagged something the takes couldn’t prove: the faces felt slightly off-model. So we measured it. A face-recognition model scored every frame against the master plate, and the eye was right: every hand-picked keeper sat below the same-person threshold.

The answer was a loop: render, score, auto-reject, re-roll, until the number clears. The loop out-picked the humans on its first run, and every frame in the hero grid above carries its verified score.

CityEyeballed pickDrift-gated
New York0.4180.620
London0.4380.619
San Francisco0.3720.544
Sydney0.3890.534
Paris0.2700.486
Face similarity to the master plate · Same-person threshold ≈ 0.45+ · InsightFace embeddings
Consistency is not a vibe. It’s a threshold. What the loop taught the eye

What still fights back.

The honest ledger, because credibility is the product: the models hallucinate brand logos onto plain athletic wear roughly half the time, and prompt bans don’t stop them; a standing logo-scrub pass does. Weather under-delivers: heavy rain renders as drizzle. Landmarks render as vibes unless you scout them against reference photography. Identity drifts a few percent per take and must be gated, not trusted. None of these are reasons it doesn’t work. They are the job: the person who knows a wrong frame when they see one is now the entire quality department.

Casting
Nano Banana Pro
Identity Training
FLUX.1 + ai-toolkit
Volume + Edits
Kontext + PuLID
Drift QC
InsightFace Loop
Render Rig
ComfyUI · RTX 3090 Ti
Agentic Employees
Claude Code
// NEXT CASE STUDY

Bo Knows, Chapter One →

All work