$4.3M seed + Cue is liveRead the announcement
Blog/Field notes/How to build a killer explainer video for $76 and Claude Opus 5.5
Field notes

How to build a killer explainer video for $76 and Claude Opus 5.5

A step by step method to make a cinematic 30 second explainer film with AI models, for $76 in one take. Plan with references and a storyboard, generate start and end frames, drive the video model with JSON prompts, cut from a list, let a second model review the cut. Every lesson, with our film as the worked example.

Author
Nexus Team
Published
Sep 27, 2026
Last revised
Sep 27, 2026
Reading time
25 min
Playbook31 seconds21 shots2 AI models to make it, 1 to review it$76 in one takeSeptember 2026
At a glance5 points
  1. 01Plan before you pay. A storyboard costs nothing to change. A rendered clip costs money every time.
  2. 02Frames first, motion second. Approve a still for the first and the last moment of every shot. The video model only moves between them.
  3. 03The text beats the picture. When a video model has to choose between your prompt and your image, it follows the prompt. Keep them in agreement.
  4. 04Move, then hold. Ask for all the motion early in the clip and a still hold at the end. Every clip can then be cut to any length.
  5. 05Taste stays human. Machines produce, check and propose. A person decides, down to the frame.

A good explainer film no longer needs a studio. It needs a clear plan, two AI models and an assistant that does the production work. One model paints still frames. A second model turns pairs of frames into short video clips. An assistant writes the plan, writes every prompt, runs every generation, checks every result and cuts the film. A third model can then watch the finished cut and give notes like an editor.

We used this method to make the 32 second film at the top of our homepage. Claude Opus 5.5 was the assistant. If you generate each image and each clip once, the bill is $76.

This post is written for someone starting from zero. Each section opens with the lesson, then shows how it played out for us in a line or two. Everything we made, shot by shot, is in the studio below: you can play the film, click any shot, and read the exact prompts behind it.

Fig 1The studio. The film on our homepage today, 22 shots in 31.8 seconds. Play it, or click any block on the timeline. The inspector shows the frames the video model received, how the clip was cut, and the exact prompts. Copy any prompt and start from it.

1What it costs

Price one take of everything first. That number is your floor, and it is lower than you think. A short film is a list of shots. Each shot needs two still images and one video clip. Multiply, and you have the cost of the film if every generation works the first time.

Our film: a looping 30 second piece for a homepage, alternating people at work with our product doing the work. The storyboard had . We generated stills with OpenAI's gpt-image-2.5 and clips with ByteDance's Seedance 2.5, which we ran through Atlas Cloud.

Table 1 · One take of everything
ItemCountUnit priceCost
Start and end frames, 2560 by 144044
Video clips, Seedance 2.5, 5 s at 1080p22
Edit and encode, ffmpeg on a laptop1$0$0
Total

The unit prices are what we were billed, read back from each request. A cheaper video model, Wan 3.0 Prime at per clip, would bring the same film to . Section 8 explains why we paid double. The review of the finished cut by a third model ran in the Gemini app; it is not in this table and we did not measure its cost.

Then budget for the second take. Some images get redone, some clips get redone, you test more than one model. Our real spend was several times . That is normal. The whole method below is built so that a fix costs one frame or one clip, never the film.

Late notes are cheap when most of them are cuts. After the film was graded, our founder's last three rounds of notes asked for . Most were trims and speed changes, which cost nothing. Nine clips had to be made again, at $2.98 each: in all.

Try your own numbers

What would your film cost?

Set your storyboard. The total uses our billed unit prices for one take, plus the retakes you expect.

Video model
One film$7644 frames × $0.24 = $10.56
22 clips × $2.98 = $65.59
Retakes plus 0%
IllustrativeCopied

2Who does what

Split the work by what each side is good at: the person decides, the machine produces. A person is fast at judging taste and slow at typing prompts, running jobs and checking hundreds of frames. An assistant model is the opposite.

In our case, our founder directed. He chose the references, approved the storyboard, judged every frame and every clip, and gave notes like "cut this at 2 seconds". He never wrote a prompt. Claude Opus 5.5, working in Claude Code on a laptop:

  • turned the brief and the references into a storyboard, with a start and end frame described for every shot
  • wrote every image prompt and every video prompt, as JSON
  • called the image and video services, dozens of jobs at a time, and read back what each one cost
  • checked every result before a person saw it: frame strips, motion measurements, a scan for hidden cuts
  • wrote the script that cuts the film, and recut it after every round of notes
  • turned the notes of a reviewer model into exact frame counts, speeds and grades

The person spends minutes per round. The machine spends the hours.

3Step 1: references

Collect references before you write a single prompt. They settle taste for free, and they give the models precise vocabulary.

Gather five to ten films and stills in the look you want. Go through them frame by frame and write down what makes them work: how long each shot lasts, where the camera sits, how often one kind of shot follows another, what the light does, what happens on each cut.

Two things follow. First, arguments about taste happen while they are free. "Hazy and cinematic" means nothing until two people point at the same frame. Second, the models get real words. Naming a real camera, a real lens and a real filter in a prompt gets you much closer than any adjective. Our prompts for people shots open by naming a television drama, its camera and its lenses.

Borrow craft, never content. Take a rhythm, a lens, a grade. Never a scene, a logo or a line of text. Your film must show your own product and your own story.

4Step 2: the storyboard

The storyboard is the contract. Every argument you have here instead of after rendering saves a clip. Write one row per shot, with six fields:

  1. 01

    Kind and length

    What kind of shot it is, and how long it lasts in the film. We used two kinds, people and product, at 1 to 2 seconds each.

  2. 02

    What we see

    One sentence, in plain words.

  3. 03

    The start frame

    The exact first picture of the shot, described well enough to generate it.

  4. 04

    The end frame

    The exact last picture. It carries the message of the shot, so it shows the result: the full list, the climbed graph, never an empty screen.

  5. 05

    The motion

    What moves between the two frames, and how the camera travels.

  6. 06

    The cut

    What links this shot to the next one.

Make it easy to review on a phone. We put ours on a web page with a thumbnail per shot. Each comment became a small, precise change: swap one shot, drop one, add a people shot between two product shots. None of those cost anything.

5Step 3: the look

Write the look once per kind of shot, and paste the same block into every prompt of that kind. Consistency across a film comes from repetition, not from the model remembering anything.

Our people shots share one block: a named drama camera and lenses, heavy atmospheric haze, a soft diffusion filter so highlights bloom, lifted milky blacks, a very faint grain, a cool steel blue grade. Faces are never fully shown. Our product shots share another: our real interface, captured from the real product, on a branded background texture, straight on, matte, no glossy 3D.

Reproduce your real product interface, not a stylised imitation. Floating cards on a pretty background read as a mockup. The real panel, with its own labels, subtitles and small details, reads as a product people can use. For example, our first product shots showed loose glass cards drifting in space; the ones that worked show the actual screen, as it looks in the product.

Show real frames early, because look notes only come from looking. Our first people shots looked too clean and too artificial; haze and diffusion fixed that more than anything else. Our background texture took three tries: too strong, far too faint, then right.

6Step 4: the frames

Generate a still for the first and the last moment of every shot, and approve both before any video exists. The video model then only has to invent the motion between two pictures you already like. This one decision does more for control than any prompt trick.

End frames matter more than start frames. The start frame sets the scene; the end frame is what the viewer is left with, and it is where the video model lands. Put your care there: the right numbers, the right text, the payoff of the shot.

Fix both frames when the end state matters; fix only the start when the motion matters. A start image plus an end image locks the composition. That suits product shots, where the interface must land exactly on the right screen. For people shots it often gives a slow, floaty move, because the model spends the clip easing from one pose to the other. And when the two frames are too close to each other, the model has almost nothing to animate: the clip barely moves. A start image only, plus a fast action written second by second, gives a livelier take. For example, we remade one close up of a woman at work with only a start frame and a quick action in the prompt, and it came out much better than the version pinned at both ends.

Build the end frame from the start frame. Generate the start first, then give it back to the image model and ask for the end state, so the two frames share the same light, layout and details. Two frames made separately almost never match, and the video model then has to invent a jump. For example, in our workflow shot the camera starts close on one step and pulls back to the whole workflow. The end frame made from the start frame kept that step identical, only smaller, so the move reads as one continuous pull back.

After a frame is approved, change it only by editing it. Give the image model the approved picture and list the one thing to change. A fresh generation always drifts somewhere you did not ask for. The same goes for fixing an end frame: we made one dashboard end frame separately and it did not match its start; made as an edit of the start, it did.

Write image prompts as JSON, one field per concern. Here is that edit:

{"meta": {"task": "edit_with_references","image_category": "product_ui_render","aspect_ratio": "16:9","dimensions_px": "2560x1440"},"instruction": "Image edit. Keep the composition, silk background, camera angle, crop, frosted glass, typography, colours, lighting and every other pixel of image 1 identical. Change ONLY what is listed under 'change'.","change": "The 'Hours saved' panel reaches its end state: the big counter changes from '120' to '3,240' with the label 'hours saved'. The line graph is now fully climbed from Jan to May, rising steadily month by month, with the small orange marker dot sitting on the May peak at the right end of the line. Same panel, same angle, same crop, same axis labels style.","forbidden_elements": ["misspelled text", "extra text", "new cards", "zoom change","camera change", "stronger or different silk", "watermark"],"references": { "image 1": "the approved START frame" }}

Why JSON? When a note says the background is too strong, only one field changes. When a number is wrong, only one other field changes. In a paragraph, every fix is a rewrite, and every rewrite risks a new mistake somewhere else. ("Silk" in these prompts is our name for our background texture.)

Check every frame at full size for three things: wrong text, extra objects, and a start and end that do not belong together.

7Step 5: the video prompts

Give the video model both frames and a prompt with a timeline: what happens in each stretch of seconds. Camera direction written as prose gets read loosely. Camera direction written as fields ("0 to 2 s: the rows slide up; 2 to 5 s: still") gets followed.

We used the same shape for every clip: the shot, the format, the look, a continuity lock (what must not change), both frames described in words, the subjects, the camera, the timeline, the final frame, constraints and negatives. Here is one, with some fields left out for length:

{"shot": "14 What is live","format": { "duration_s": 5, "resolution": "1080p", "audio": false },"reference_frames": {"start": "s16-start: macro on two large rows 'Refunds workflow · Live' and 'Sales agent · Live' on silk","end": "s16-end: the same macro scale and row style, now four large rows stacked: Refunds workflow, Sales agent, Cases app, Weekly report, each with the same share icon and a green 'Live' pill; the stack sits higher in the frame"},"camera": {"shot_type": "macro to medium", "angle": "straight on","movement": "pull back and slight rise", "speed": "medium, decelerating"},"timeline": [{ "t": "0.0-2.0 s","camera": "slow tilt down and drift up so the stack rises in frame, same scale, no zoom","subjects": "the two rows rise; 'Cases app' then 'Weekly report' slide up from below one after the other, each landing with its green Live pill","text": "all row text stays sharp and still once in place; nothing morphs" },{ "t": "2.0-5.0 s", "camera": "still", "subjects": "the four rows hold" }],"final_frame": "Exactly s16-end: four large Live rows at the same scale as the start, on blue silk, still. No header card, no request pill, no '4 live' chip, no zoom-out.","constraints": ["text exactly as listed", "movement only 0-2 s", "end on the reference END frame"],"silk_background": {"movement": "the silk moves the whole clip, slowly and continuously: soft folds roll diagonally from lower left to upper right at about a tenth of the frame width per second, highlights slide along the fold crests, deep folds breathe in and out slightly; it never stops and never speeds up, and it never moves faster than the UI","during_hold": "while the UI holds still on its final frame, the silk keeps its slow drift"}}

Ask for the move first, then the hold. Every prompt asks for all the motion in the first 2 seconds and a still hold on the final frame for the last 3. You generate a 5 second clip and use 1 to 2.5 seconds of it. Because it ends still, you can cut it anywhere and still land on a clean frame.

Describe how the background moves, not only the subject. A frozen background behind a moving interface looks cheap. One field describing a slow drift of our background texture fixed every product shot at once.

8Step 6: choosing a video model

Choose the video model on a small pilot, judged as a viewer would see it, not on a price list. Take three or four shots. Run them on each candidate with the same frames and the same prompts. Cut each set into a short sequence and watch it.

Seedance 2.5

What we picked
  • $2.98 per clip
  • Respected the move then hold rule, so its clips cut cleanly.
  • Followed the end frame closely.
  • Obeyed camera moves, such as a pull back.
  • Has a mode that takes reference images instead of fixed first and last frames, which we needed once (section 11).

Wan 3.0 Prime

Half the price
  • $1.26 per clip
  • Less than half the cost per clip.
  • Kept moving through the whole clip instead of holding, so cutting was harder.
  • Sometimes did less, which gave a cleaner result on a simple wide shot.
Fig 2The pilot: same frames, same prompts, judged as a cut.

The format of the prompt matters less to the model than to you. We ran each pilot shot with plain prose, with JSON, and with a "cinematic" prose version, and the clips came out very similar. JSON is still worth it, because it is what lets you change one thing at a time and keep twenty prompts consistent. It is a tool for the writer.

Price the whole pipeline, not the clip. A model that ignores the hold forces extra work on every shot in the edit. Paying twice as much per clip was cheaper overall for us.

9Step 7: the edit

Cut from a list, not from a timeline. A short script can build the whole film from one table: for each shot, the clip, the length it gets, and optionally where to start, how fast to play and whether to reverse. Changing the film means changing one row and running it again. A full recut takes a minute or two, so a note can be applied before the next one arrives.

For each shot, our script:

  1. Finds the movement. It measures how much each frame differs from the one before and picks the window of the right length with the most motion. That is almost always the start of the clip, before the hold.
  2. Fits product shots by speeding them up, never by cutting them. Cutting a product shot loses the end of its action. The script finds where the motion settles, then plays the whole movement faster so it fills the slot.
  3. Grades people shots the same way, with a light haze pass and a very faint grain, so they match even when the model varied.
  4. Joins everything with hard cuts at 24 frames per second with ffmpeg, then checks the final length.

Make each new version of the script from the last one, by exact text replacement. Never retype it. A graded film carries several layers per shot: a haze pass, a grade line, a brightness lift, the encoder settings. A retyped script drops one without a warning. After each recut, compare every shot the notes did not touch with the version before: same frame count, same average color. In our last three recuts, every untouched shot measured the same.

If you need text drawn in code, a logo animation or music synced to the frame, look at Remotion, a framework that renders video from React code. This open source launch film shows the pattern: one timeline file drives both the picture and the soundtrack. Check Remotion's license first: companies above a small size need a paid one.

10Step 8: a reviewer model

Once the film exists, have a model that watches video watch the whole cut. Up to this point everything is judged shot by shot. Nobody has judged the film as a whole: the rhythm across 30 seconds, whether the color holds from shot to shot, how the loop joins back to the start. A model that watches video natively sees all of that at once, like a viewer.

We uploaded the full film to Gemini, Google's model, and asked for exact cut points, cut types, rhythm and style. It worked like a colorist and an editor who never get tired. We ran several rounds; three changed the film most:

  1. R1

    Round 1: rhythm and one grade

    Speed contrast: product shots faster, at , people shots slower, at 0.8x, so the film breathes between the two. A 0.5 second crossfade from the last shot into the first, so the loop has no seam. Cuts on a 120 BPM beat grid, one beat every 0.5 seconds. One cool grade for the whole film.

  2. R2

    Round 2: a palette and a line per shot

    A four tone palette: deep blacks, steel and cyan midtones, green only on live product states, warmth kept for skin and lamps. A grade and a length for every shot, with product shots slowed so their text can be read. One shot cut entirely as filler: an abstract shot that added mood but no meaning. The film went from 22 shots to 21.

  3. R4

    Round 4: hard cuts and speed ramps

    Hard cuts replaced the crossfades and dissolves. Instead of blending shots, each shot now ramps its own speed: fast in, slow on the key moment, fast out. Each cut lands on the fast part of a shot. Even the loop became a hard cut, placed on a matching vertical line in the last and the first frame, so the film restarts without a seam and without a fade.

Fig 3The three review rounds that changed the film most.

Prefer hard cuts with speed ramps over crossfades. A crossfade hides a weak cut; a speed ramp makes a strong one. Slow down on the moment you want read, speed through the rest, and cut in the fast part. To loop a film without a fade, cut on a shape that sits in the same place in the last and the first frame, such as a vertical line.

A reviewer model's timecodes are approximate: map them onto your own edit list. A timecode read off a rendered file can sit a few frames away from the real cut. Claude matched each note to the exact shot boundaries in our list, turned every length into a whole number of frames, rendered each shot and measured it. The speed of a shot is simply the frames you have divided by the frames it must fill. Trimmed from our script:

for k, ((i, _, grade), m) in enumerate(zip(PLAN, n)):sp = src[i] / m   # frames we have / frames the shot must fillrun(["ffmpeg", "-i", P.format(i), "-vf",f"setpts=PTS/{sp:.5f},fps={FPS},tpad=stop_mode=clone:stop=12,{grade}","-frames:v", str(m)] + enc + [tmp.format(k)])

In that version the last half second crossfaded into the first, and the loop landed on exactly 30.00 seconds: at 24 per second. Round 4 then replaced the crossfade with a hard cut, as described above. The studio at the top of this post shows the film now on our homepage: all hard cuts, , after the founder's latest rounds of notes.

A reviewer proposes; you choose. We turned down three things, each for a reason you will meet too:

  • A higher frame rate. It suggested 30 frames per second. Our clips are 24, so converting would only duplicate frames.
  • Exact numbers that conflict with a structure you chose. Snapping cuts to the beat grid moved some speeds away from its numbers. We kept the grid.
  • A grade that fights your look. Its deep blacks pull against our lifted, hazy blacks. We applied the per shot grades, flagged the conflict and left it to taste.

11What breaks

Everything below happened, cost at least one clip, and is now a rule.

  1. 01

    A video model follows the prompt text over the image

    When the words and the picture disagree, the words win. So after you edit an image, sweep the whole prompt that goes with it, not only the line about the change.

    Example we removed a caption from an end frame but not from its prompt. The model put the caption back.

  2. 02

    A style rule written for one kind of shot leaks into every shot that shares its label

    Scope style instructions per kind of shot, and check each prompt against its own start image before you pay for a render.

    Example a background motion rule meant for flat interface shots swept across a shot of a monitor in a real office.

  3. 03

    "Pan" can move half the frame

    Say that the camera itself moves and the whole scene shifts together. Then measure motion on both halves of the frame before you accept the clip.

    Example our first pan along a building moved one side of the image and froze the other.

  4. 04

    A model can hide a cut inside a clip

    A clip can ignore its start frame, jump to another angle, and only reach your shot seconds later. Scan every clip for sudden full frame jumps before you edit.

    Example a clip meant to show a woman at a window showed hands on a keyboard for four seconds.

  5. 05

    The video copies its frames

    If a frame shows the problem, fix the frame. No prompt will talk the model out of what the picture shows.

    Example we asked for tiny cubes swirling like a galaxy; the frames showed dense clumps, and so did the clip.

  6. 06

    Fixed first and last frames cannot show something appearing from nothing

    If the shot must start empty and build up, give the images as references instead of as first and last frames, and say in the prompt that the shot starts empty.

    Example a document assembling from flying cubes only worked in Seedance's reference mode.

  7. 07

    A video model garbles numbers that change

    Digits that change during a shot smear into shapes that are not numbers, and the count goes down as well as up. Keep the model's motion, and draw the counter yourself on top.

    Example we asked for a counter rolling from 120 to 3,240. Both takes showed broken digits. We kept the growing line and drew the numbers in code.

  8. 08

    An end frame with an extra person makes someone appear from nowhere

    The model must reach the end frame, so anyone in it who is not in the start frame fades in during the shot. Check that both frames hold the same people.

    Example our office end frame had a man at the far window. We edited him out of the end frame, and the new clip has only the two men of the start.

  9. 09

    A jump can hide in a single frame

    Measure how much each frame differs from the one before, across the whole clip. One frame that differs far more than its neighbours plays as an abrupt cut.

    Example our close up of a man in glasses jumped between two frames in the middle of a blink. The founder saw it as a bad cut. We made the clip again.

  10. 10

    Faster and longer can be impossible

    Playing a shot faster uses more source frames per second. When the usable frames run out, only a new clip gives you both.

    Example our window shot had before a phone came into view. At 1.2x it could only get shorter. A new clip with no phone runs , up from 1.7 s.

  11. 11

    A build shot reads as work only when named steps join

    Shapes that fly in and settle look like decoration. Named cards that appear one by one, joined by lines, read as a workflow being built.

    Example our "Building workflow" shot began as floating cubes. Five named cards, from "WhatsApp message" to "Issue the refund", now join in 2 seconds.

Keep every take until the cut is locked. Taste can reverse a fix. After we fixed the galaxy frames, the founder preferred the older clumped clip for its motion. Then the reviewer model cut that shot entirely.

12What stays manual

Taste stays human, and the most useful notes are at the level of single frames. The machine can filter, measure and propose. It cannot decide what the film should feel like. Plan for these to stay with a person:

  • Judging every frame and clip. An assistant can remove the obvious failures first, but a person approves.
  • The exact cut point. A script picks a good window. The final call came from notes like "cut at 2 seconds", "300 ms earlier", "exactly on this frame".
  • Speed, direction and transitions. Which shots to speed up, which to play backwards because the move reads better the other way, where a dissolve helps.
  • Which take to use. Several of our shots use a take other than the first one proposed. One uses a clip made for a different shot, because it had the best close up we had.
  • Which reviewer notes to keep. The reviewer proposed; we chose.
  • Length. Our own notes pushed the film to 32.7 seconds. The review brought it back to 30.00 and cut a shot we had fought for.

In practice the person made about one decision a minute, and each decision took the machine about a minute to carry out.

13Your checklist

1

Collect references

Five to ten films and stills. Write down shot length, camera, light and the cuts. Borrow craft, never content.

2

Write the storyboard

Every shot: kind, length, what we see, start frame, end frame, motion, cut. Review it before spending anything.

3

Write the look once per kind of shot

Name the camera, the lens and the filter. Paste the block into every prompt of that kind.

4

Make the frames

JSON image prompts. Start frames first, then each end frame as an edit of its start. Check every frame at full size.

5

Pilot two video models

Three or four shots, same frames, same prompts. Cut them into a short sequence and judge it as a viewer.

6

Generate every clip with move then hold

JSON prompts with a per second timeline and a final frame. Describe how the background moves.

7

Check every clip

Frame strips, a scan for hidden cuts, and when a frame or a prompt changes, a full reread of the other.

8

Cut from a list

Clip, length, start, speed, reverse. Speed product shots up to fit. Recut after every round of notes.

9

Have a model watch the whole cut

Ask for cut points, cut types, rhythm and grade. Map its timecodes onto your shot list, measure every shot, and keep only what serves the film.

Everything we used is in the studio at the top of this post: all 21 shots of the final cut on a clickable timeline, the film as it was cut, the frames the video model received, the edit applied to each clip, and the JSON prompts for the images and the video. Copy any prompt and start from it.

14Lessons learned

  • Price one take of everything first; then budget for the second.
  • Collect references before prompts. Borrow craft, never content.
  • Argue in the storyboard, where changes are free.
  • Fix both frames when the end state matters; fix only the start when the motion matters. Two frames that are too close give a clip that barely moves.
  • End frames matter more than start frames.
  • Build each end frame from its start frame, and change approved images only by editing them.
  • Reproduce your real product interface, not a stylised imitation.
  • A video model follows the prompt text over the image: after an image edit, reread the whole prompt.
  • Scope style rules per kind of shot, and check each prompt against its own start image.
  • Ask for the move first, then the hold, so every clip can be trimmed.
  • A model can hide a cut inside a clip: scan for jumps.
  • A reviewer model's timecodes are approximate: map them to your own edit list.
  • Prefer hard cuts with speed ramps over crossfades.
  • Taste stays human: give notes at the frame level.
  • Make each new edit script from the last one by exact replacement, and check that untouched shots did not change.
  • Draw changing numbers yourself: video models garble them.
  • Put the same people in the start and the end frame, or someone appears from nowhere.
  • Scan every clip for single-frame jumps, not only for big cuts.
  • When a shot must be faster and longer, make a new clip.
  • Show a build as named steps joining, not as floating shapes.
Written by
NT
Nexus Team
Next step

Tell us where the work piles up.

We build the first procedure with your team and run it with you.

Talk to our team
How to build a killer explainer video for $76 and Claude Opus 5.5
§1/14 · 0% · 25 min left00:00/ 33:00Map

Start with one procedure

Tell us where the work piles up.

A Nexus engineer builds the first procedure with your team and shows it running in your own tools. Four weeks to a procedure that runs itself. And a number you can defend.

Talk to our team