A storyboard for AI video
Make a film one shot at a time.
Lay the film out as a row of shots and work through them one at a time — write it, generate it, watch it, iterate. Where two shots meet you supply the frame they both have to land on, so generating one of them again leaves the shots either side of it exactly as they were. You can spend forty takes on the one that is giving you trouble and never re-render the rest.
Harbour at Dawn
Three shots
twenty-four seconds, hard cuts, sound generated with the picture. The film playing above, start to finish in Lunar Canoe.
One evening
from empty storyboard to exported file, director proposals included. One shot refused to behave; it was re-rolled alone.
$4.88
of renders, every take included — three keepers at $1.22 and the one we threw away. The receipt, not an estimate.
Why it works this way
Video models hand you eight seconds at a time. Everything about this tool follows from that.
A three-minute film is roughly twenty-two generations. Each one takes 30 to 85 seconds to come back — we measured that — and costs real money on arrival, good or bad. So the loop that actually matters is not “render the movie.” It is render shot 7 again, and again, until it is the shot.
Every tool built around a single prompt makes that loop expensive in the wrong way: change one thing and everything downstream of it is suspect. Lunar Canoe is built around the re-roll instead.
The people already putting this kind of video on air figured that out first. The first fully AI-generated commercial to run during an NBA Finals broadcast was, by its director's own telling, a few hundred generations for the dozen or so clips that made the cut — days of work on a budget in the low thousands, tracked by hand across a folder of takes. Generate, judge, discard, go again. That loop deserved a tool, and this is it.
The idea
Two shots, one still, no cascade.
The obvious way to keep two shots continuous is to take the last frame of the first one and feed it into the second. Don't. The final frame of a generated clip is usually its worst — motion blur, compression. Errors compound, and by shot six the jacket has changed colour. Worst of all, it makes regeneration catastrophic: re-roll shot three and every shot after it is invalid.
So we inverted it. The boundary still is an input to both shots and an output of neither.
You generate that still first — cheap, fast, and you get to look at it before spending anything on video — then pin it to the seam. The earlier shot is told to land on that exact frame. The later shot is told to start from it. Re-rolling the earlier shot changes the motion in between and leaves the endpoint precisely where it was, which is why the shot after it never needs to know.
That only works if the model really hits the endpoint. So we measured it, on a real subject, across both providers and every conditioning mode we could combine: 28 clips, two runs each, about $27 of generation.
The best configuration — Gemini Omni Flash, five seconds, first and last frame conditioning plus three identity references — lands the end frame 0.7% away from the authored still, difference-hash distance 0. The pose change it had to bridge measures 16.6% and distance 16. The error is an order of magnitude below the thing it was asked to do.
The measurement also told us where it breaks. Veo 3.1 at four seconds drifts to 5.5% on a pinned seam; at eight seconds it snaps back to 1.5%. So the app refuses the four-second pinned combination outright rather than selling you a render it knows will disappoint. Read the full report.
The frame we pinned
What the model started from
Identical to within 0.5% mean pixel difference — difference-hash distance 0. Over the five seconds that follow, the shot travels 16.3% away from where it began. The error is an order of magnitude below the motion it was asked to carry.
How it works
Storyboard, seams, takes, export.
-
01
Lay the film out as shots
An ordered strip of scenes, each with its own subject, action, camera, lighting and style. Order is the only structure — no ports, no wires. Contiguous spans can share a style bible so a sequence holds together — the light, the grade, the product on the table — without you retyping it into every prompt.
Four shots, one style group, one pinned seam. -
02
Generate the still that sits on the cut
Before any video exists, you author the frame where two shots meet. It arrives in about fifteen seconds and costs pennies, so you can generate three, throw two away, and still have spent almost nothing. This is the point in the process where decisions are cheap.
The still dialog. Prices shown in this alpha build are provider cost, not retail. -
03
Pin it to the seam
Pinned means immutable, and it means shared: the same asset is now the last frame of the shot before and the first frame of the shot after. Neither shot produces it; both are constrained by it. Editing a boundary invalidates exactly the two shots that touch it — never the rest of the film.
One shot's inputs, including the seam it is pinned to. -
04
Render each shot on its own — then export
You press render, per shot, with the price on the button. Re-roll shot 7 as many times as it takes; shots 6 and 8 don't move, don't restale, don't need re-rendering. When you like all of them, export concatenates the takes in order into a single file.
Export produces one file.
The director
Tell it what you want changed.
Talk to it in the language you already use. “Add an establishing shot before scene 1.” “Make act two feel more claustrophobic.” “Write prompts for these six shots against the group style bible.” It reads the storyboard, then comes back with a set of named commands — insert this, rewrite that — staged as a proposal. You see the change highlighted on the canvas before it happens, and accept or discard it whole.
Chat and direct manipulation write the same commands. Dragging a shot and asking for it to be moved produce identical entries in the log, and everything in that log has an inverse, so undo is real rather than best-effort.
It is better at some things than others.
It earns its place on semantic and bulk work: writing six prompts against a style bible, tightening a sequence so it reads as one movement, noticing that shot 4 contradicts the light in shot 3. It has the whole board in context — ordinals, group spans, which seams are pinned, which shots have gone stale.
It is worse at precise positional work. Moving one shot two places left is a drag; describing which shot and where is three sentences. Both surfaces write the same commands, so use whichever is faster for the edit in front of you.
It proposes and you decide. Renders are yours to start, from the strip, with the price on the button.
A recreation of a real director turn, looping — the screen capture below is the same proposal, live.
Works with your agent
Use Claude or Codex on the same storyboard.
Lunar Canoe runs an MCP server. Connect Claude — in Claude Code, Claude Desktop or as a claude.ai connector — or Codex, and your agent gets the same tools the director uses. It can read the storyboard, look at frames from your shots, and edit scenes, seams, style groups, throughlines and audio.
Its edits are applied directly, as the same named commands the app writes. They show up in the open project, they are recorded in the history as the agent's, and each one can be undone like your own.
It cannot render video or spend your balance.
It can propose a still or a soundtrack. The proposal appears in the app, and you generate it there, with the price on the button, or discard it.
Sign-in is OAuth with your Lunar Canoe account. There is no API key to copy, store or rotate.
- Claude Code
-
claude mcp add --transport http \ lunarcanoe \ https://alpha.lunarcanoe.com/api/mcp/v1Then run /mcp inside Claude Code and choose lunarcanoe to sign in.
- Codex
-
codex mcp add lunarcanoe --url \ https://alpha.lunarcanoe.com/api/mcp/v1 codex mcp login lunarcanoeThe login command opens a browser to sign in.
- Claude Desktop and claude.ai
-
https://alpha.lunarcanoe.com/api/mcp/v1Add a custom connector in Settings → Connectors and paste this URL.
What it costs
You pay for what you render. Nothing else.
- No subscription
- A prepaid balance you top up when you want to. Unused balance stays yours. There is no monthly floor to pay for a month you didn't shoot in.
- The unit is the second
- Around $0.16 per second of finished video on the default model, and around $0.06 for a boundary still. Duration times rate — no credits, no exchange rate to work out.
- So, in shots
- A five-second shot is under a dollar. A thirty-second spot is about $5 of renders; a thirty-shot short film somewhere around $25 — plus the re-rolls you will actually do, and you will re-roll.
- Nothing spends by surprise
- The price is on the render button before you press it. A per-project monthly cap refuses anything over it. The director cannot render at all.
Rates are still being finalised against measured provider cost — we mark provider cost up and publish the rate itself, not an invented credit unit. Treat the figures above as the shape and the order of magnitude. The exact rate card is published in the app, and you see an exact price on the button, before you can spend anything.
Questions
The things people ask first.
Which models does it use?
Google's Vertex AI, today: Gemini Omni Flash as the default and Veo 3.1 / Veo 3.1 Fast as alternatives. Omni is the default because it is the only configuration we measured that carries identity reference images through a pinned seam. The provider layer is an abstraction — models will change, and the seam mechanism does not depend on any one of them.
How long does a shot take?
Between 30 and 85 seconds, measured across 28 real renders. A still is about fifteen. It is slow enough that you will not sit and watch it, and that is exactly why the unit of work is one shot rather than one film.
Can I really re-roll one shot without disturbing its neighbours?
Yes, and precisely: re-rolling a shot changes only that shot. Editing a boundary still invalidates exactly the two shots adjoining it. Nothing else in the film is touched, because nothing else depends on it.
I make spots, not short films. Does anything change?
No — a thirty-second commercial is six or seven shots, which makes it a light afternoon here rather than a different product. The parts built for filmmakers are the parts that matter more on client work: identity references hold a product steady across shots the same way they hold a character (the subject in our fidelity measurement is an object, not an actor), and when the feedback round asks for a different shot three, you re-roll shot three and the rest of the cut doesn't move.
What can the director actually do?
It writes prompts, inserts, reorders and groups shots, and stages those as a proposal you accept or discard as one. It has the whole board in context, so it is good at work that spans many shots. Starting a render is something you do from the strip, with the price on the button.
What do I get out of it?
An MP4 of your shots in order at the resolution you rendered, with a cut or a fade to black between each pair. The audio is each clip's own sound where you kept it plus the music and voice clips you placed, or you can export with no audio track. No project lock-in: the individual takes and the stills are yours to download too.
Who owns the output?
You do, subject to the model provider's terms, which we will link rather than paraphrase. We do not strip SynthID watermarking from generated frames. Full terms, privacy policy and acceptable-use policy are being finalised during the alpha.
Desktop app or browser?
Browser. Nothing to install; renders run on our infrastructure and your assets are stored against your project so a clip is never lost to a provider's two-day retention window.
Is this shipping?
It is a working alpha, open to sign up now. Every screenshot on this page is the real build, and every number is a measurement from our own renders. Expect rough edges, and note that renders cost real money — new accounts start with a small credit so you can try it before you top up.
Open alpha
Start creating
Sign up and lay out your first shots today. Lunar Canoe is in alpha: it's early, there are rough edges, and the renders you make are real provider renders that cost real money. New accounts start with a small credit so you can try the seam before you decide to top up.
You create your account in the app itself. This page sets no cookies. We count visits with Umami, an analytics tool we host on our own domain: cookieless, no cross-site tracking, IP addresses not stored, and nothing sold or shared with third parties.
Free to sign up. You only spend when you render, and you can see the cost of a shot before you commit to it.
Start freeOpens the alpha app, where you sign in or create an account.