# How we made "They Hired Me"

A 2:29 animated music video made with AI tools. This is the playbook: the order of work, which model did which job, the prompts that worked, and the mistakes worth skipping.

- Watch the film and the making-of: https://team0.ai/films/they-hired-me
- See every shot, line by line: https://team0.ai/films/they-hired-me/storyboard/index.html

The visual bar we aimed for was Scenario's "Every Scenario" film (https://www.scenario.com/explorations/every-scenario/). Its rule shaped ours: clean footage, and every word on screen drawn in code on top.

---

## The tools

| Job | Tool |
|---|---|
| Lyrics | Written by the director, edited with Claude and Codex |
| Song | Suno: the free plan to test the words, a paid plan for the master (so the song is ours), stems for the edit |
| Still frames | GPT Image 2.5, with character sheets as references |
| Singing shots | LTX-2.5 Pro audio-to-video (lip-sync to the vocal), and Seedance 2.5 reference mode for one close-up |
| Action and camera moves | Seedance 2.5 image-to-video |
| Lip-sync fixes | Sync-3 |
| Upscale | Topaz, to 1080p |
| Sound effects | ElevenLabs Sound Effects 2 |
| Cut-outs (mattes) | Apple Vision, on every frame |
| Edit, type and motion graphics | Claude Code, with Scenario's kinetic music video skill (three.js and Canvas 2D, rendered in headless Chrome) |
| Review | Codex reviewed every plan and prompt before credits were spent; the director reviewed every cut |

All image, video and sound models ran on Scenario.

---

## The order of work

The order matters more than any single tool. Each step is cheap compared with the next one, so mistakes get caught where they cost least.

1. **One situation, one sentence.** "I got AI assistants to help; keeping them up to speed became another job." Then stop changing the idea.
2. **Words.** Real phrases people say to agents and hear back ("Could you share a bit more context?", "You're absolutely right!"). About 20 drafts.
3. **The song.** Test the words on a free plan, master on a paid one, download the stems.
4. **Map the song.** Beats, the time of every word, and who sings each line, measured from the audio.
5. **A still for every shot.** The whole film as images first, checked at full size, before any money goes to motion.
6. **The storyboard.** Every sung line beside its still, with what happens, how it moves, and the words that appear on screen.
7. **A free rough cut.** The whole song cut from stills. Notes by timestamp, round after round, until the story and timing work.
8. **Animate**, section by section, from approved stills only.
9. **Picture lock, then upscale, then type.** Type goes on last, over the finished picture.
10. **Deliver.** Loudness, encodes, the storyboard and this guide.

---

## Words

- **Stay in the pain.** The song is about the problem; the product gets one small moment near the end and an end card. A song that explains a product is a sung sales deck.
- **Make every line physical.** Never the literal screen, always the most physical image of how it feels:

| Line | Literal | What we shot |
|---|---|---|
| I'm the messenger on repeat | Copying text between chat windows | A pigeon flying notes between four islands |
| Compacting conversation | A progress message | A car crusher, and a dive to save one line |
| People, projects, tasks, about-me | A folder of files | A beauty pageant of files in sashes |
| It gave me homework | A to-do list | Her own files as strict teachers |

- **The other characters stay smart.** Every miss is information that agent never had, not a dumb AI.
- **One voice carries the song.** The agents drop in rarely, as short lines.

---

## The song

- Test lyrics on Suno's free plan; make the master on a paid plan, since free-plan songs are not yours to use.
- Download the stems. You need the lead vocal alone to drive lip-sync, and the instrumental to build breaks.
- **Build breaks in the edit, not in the song.** For the record-scratch moment we cut the music, played her vocal alone over applause, cut the applause on the impact, and resumed the music on the next line.
- Effects sit well under the vocal (about -18 dB, low-passed), and they are real objects (brass service bells, a paper plane), never interface sounds.

---

## Stills first

- One still per shot, all of them, before any video. GPT Image 2.5 with the character sheets as references; fixes are edits of the same frame, not new frames.
- **Check every still at full size.** We caught a third hand, a floating glove, two spiral bindings on one notebook, and extras who didn't belong.
- **The still sets the acting.** If she should look proud, the still shows her proud. The video model continues from the frame; it rarely fixes it.
- **Start the frame before the action.** A frame with hands already on the bells can only animate hands lifting off.

---

## Animating: which model for which shot

| Shot | Model | Why |
|---|---|---|
| Singing, any size of face | LTX-2.5 Pro audio-to-video, 1080p, static camera | Held lip-sync on small faces and on cartoon characters |
| Her close-up, eyes to the lens | Seedance 2.5 reference mode (the still + her vocal) | Strongest eye contact on a large face |
| Action, no singing | Seedance 2.5 image-to-video | LTX turned lobster claws into hands and stood the lobster on water |
| Camera moves | Seedance, one slow move per shot | LTX's zoom ran until the heads left the frame |
| A clip whose lips drifted | Sync-3 | Re-syncs a finished clip to the vocal |

**One clip, one job.** Our early clips asked for singing in sync, eye contact, two props and other characters reacting, all in one generation. About two in three failed. Each clip should carry one performance; cut between clips for the rest.

### Prompt patterns that worked

Image to video:

> Animate this exact image, keep its exact art style, characters and set. [The action, specific and in order, with timecodes if there are several beats.] [One camera move.] [What stays constant.] No other characters appear. Silent footage. No text.

Lip-sync:

> [Who] sings the vocal with precise, expressive lip sync, strong mouth shapes on every syllable, [the emotion from the storyboard], eyes to the lens. [Small head and body motion on the beat.] [Who does not sing: mouth closed, reacts with ...] The set stays constant, no other people. Static camera. No text.

### Lip-sync details that made the difference

- **Drive the model with the lead vocal only,** and mute any line sung by someone who isn't on screen. Only the singer moves their lips.
- **Add about 0.6 s of silence before the vocal.** Without it, the first word was often lost.
- **Name the emotion, not the face.** "Happy" gave a toothy grin; "eyes wide open" looked surprised. "Proud and accomplished, lips soft and mostly covering her teeth" worked.
- **Dialogue in one frame = two clips.** The second starts from the first clip's last frame, each driven only by its own singer's line.
- **Place every clip by its exact time in the film.** Rounding each clip's length on its own put the picture 0.28 s late by 0:31 and broke lip-sync that was fine in the clip.

---

## Fix in the edit before you regenerate

Most flaws are free to fix:

- Shift the picture or the sound to fix timing.
- Keep only the good seconds; cut out a bad moment.
- Play a simple move in reverse (not for singing, impacts or anything falling).
- **Coverage instead of a retake:** rebuild a failed shot as a cut from takes you already have: a wide, a prop insert, then the best-synced close-up.
- **One wrong character = a masked edit,** not a new clip. Repaint only that character on a frame with a masked image edit (add a crop of the character as a reference, or the model redesigns them) and lay it back over the clip: 24 credits instead of about 245.
- **Speed up to show a payoff.** One shot ended before its payoff; playing it at 1.6x in the same slot showed the whole action with no change to the music.
- **Stop after two failures** on the same shot. Change the frame, the staging or the method before paying again.

---

## Upscale once

The singing shots came out at 1080p and the action shots at 720p. We joined every 720p range the film actually uses into one reel, upscaled it once with Topaz, and split it back. One job, one consistent look.

---

## Type and effects, last

Every Scenario's rule: no effects on the footage. The footage plays clean; everything else is drawn in code in five layers:

1. the footage, no filters
2. graphics behind the character (big type, colour)
3. the character, cut out with a per-frame matte
4. graphics in front, often tracked to something in the shot
5. a running element across the film (ours: an EXPLAINED counter that rolls back to zero at the turn)

What made the type look designed rather than added:

- **One art direction and one font per world:** an engraved hotel plaque in the penthouse, HELLO name stickers for the roll call, a cartoon postcard over the islands, rubber stamps in the factory, typed memos at the interview, neon and a theatre marquee for "Behold", chalk and red pen in the classroom, split-flap dials on the update machine.
- **Big, few words, landing on the sung syllable.** No lyric line under every shot: the type already carries the words.
- **Put words where the world would hold them:** chalk on the board, a table written on the easel and tracked to it as the camera moves, words on the signs the characters hold, a speech bubble beside the character who speaks.
- **Never over a face, never over the shot's key action,** never parked still over a moving prop.
- **Mattes miss thin props.** A tray held overhead dropped out of the cut-out, so a word placed behind her cut through the drinks. Check the matte, and move the type to free space in front.
- **Readable on every plate:** light type on a dark plaque over a bright window; "ONE" instead of "1" where the digit read as "I".
- **The hero line wins.** In the email, the problem ("We can't handle setup ourselves anymore.") is big; the ask is small.
- **Clear everything a frame before the cut.**

---

## Delivery

- **Loudness:** the edit came out at -16 LUFS; we raised it to -14 LUFS with a true-peak limiter, the level streaming platforms play at.
- **Three files:** a master (picture untouched) for YouTube and the archive, a 9 Mbps web file for the site and social uploads, and a 57 MB file for messaging apps. Email gets a link, not the file.
- **Captions as a track, not burned in.** A caption file made from the measured vocal timings, uploaded as CC, so people watching on mute can switch it on without a line under every shot.
- A thumbnail, the public storyboard, and this guide.

---

## Mistakes worth skipping

| Mistake | What to do instead |
|---|---|
| Testing a song with a text-to-speech "scratch" voice | Never judge music from speech; test with a real sung take |
| A verse that explains the product | Stay in the pain; one small product moment and an end card |
| One clip asked to do five things | One performance per clip; cut between clips |
| LTX for action | LTX for singing; action and camera moves on Seedance |
| Choreography in one take (four bells struck in turn) | Cut it into one-action shots |
| Judging lip-sync from contact sheets | Measure it in the assembled film, and listen |
| A quality retake that changed the approved acting | Keep the approved action; compare side by side first |
| Pasting a still of characters into a moving shot | It looks fake at once; fix it in the generation or keep the take |
| Type laid before the picture was final | Picture lock, upscale, then type |
| Small, uniform captions on every shot | Big words with character, one look per world |
| Type over faces or over the key action | Check every text frame against faces, action and moving props |

---

A film by Yogev Ben-Tov, made with Claude Code and Codex. The song is about running four AI assistants and becoming their messenger; Team0 is what we build to fix that: https://team0.ai
