Fixed-price or cost-plus: quoting AI video work
When a fixed price is safe on AI video work, when to quote a base plus a change-order rate, and the clause language that makes the trigger stick.
A fixed price is not a pricing strategy. It is a bet that you already know what the client will ask for. Most quotes that lose money were not underpriced at signature; they were priced against a brief that changed shape three days later and never got repriced, because nothing in the agreement said it had to.
The useful question is not which model earns more, because over enough jobs both can work. It is which model survives contact with a client who says "love it, quick thought" for the fourth time.
Fixed price is safe when three things are true
Not two. Three, together.
The style is locked and evidenced. Not "modern and clean." Approved reference frames, in writing, before the number goes out. If you have three stills the client has said yes to, you know what your hit rate on the remaining shots looks like, because you already produced the hard part. If you are quoting off a mood board someone assembled from Pinterest, you are quoting a research project.
The deliverable count is named and capped. "A launch video" is not a deliverable. "One 30-second hero cut at 16:9, plus 9:16 and 1:1 reframes of the same cut, plus three 6-second hook variants against the same body" is. The second version can be estimated. The first cannot, and the gap between them is where the loss lives.
The usage is defined at signature. Organic-only and paid-media use are different products at different prices, and a perpetual buyout is different again. If you quote a flat number without naming the window, you have sold the buyout by accident. Usage rights in creator contracts covers the terms worth naming.
Miss any one of the three and you are not quoting a fixed price. You are quoting a fixed price for an unfixed job.
The buffer belongs in the shot count, not in a percentage
The most common buffering mistake is adding a flat 20 percent to a number you already guessed at. That does nothing except make the guess bigger. Buffer where the variance actually is, which is the count of attempts per approved shot.
The arithmetic that matters:
| Input | Where the number comes from |
|---|---|
| Approved shots needed | The deliverable list, exactly |
| Attempts per approved shot | Your own last five jobs, measured |
| Credit cost per attempt | Shown before you confirm each generation |
| Revision rounds included | The contract, not optimism |
Attempts per approved shot is the only one you have to measure yourself, and it is the only one that moves the total much. A locked style on a model you know well behaves very differently from a first attempt at a new look, and quoting both at the same ratio is how a profitable job and an unprofitable job end up with the same price. Reroll rates and budgeting credits is the method for turning that into a number instead of a feeling.
Two structural facts change where the buffer needs to sit. First, generation is where the spend is; assembly mostly is not. In an EDL-based editor the timeline is a description you re-render rather than a file you overwrite, preview: true returns a free 480p pass subject to a short per-user cooldown, and the final export is charged once no matter how many clips are on it. So twelve rounds of "move the logo, retime the captions, swap the music" cost you nothing at preview resolution and one charge at the end, while a single round of "actually make her jacket red" is a new generation and a new charge. Second, that asymmetry is exactly backwards from what clients assume, which is why the change-order trigger has to be written in terms of shots rather than rounds.
Concretely: buffer the generation layer, include the edit layer. A quote that gives away two edit rounds and charges for regenerated shots is both cheaper for you and more generous-sounding than the reverse. For a sense of what a finished piece actually consumes end to end, what a 30-second ad costs is a worked example in credits.
When to quote a base plus a change-order rate
Quote cost-plus, structured as base plus published change rate, whenever any of these is true at the moment you send the number:
- Style is not signed off, or the approver has not been in the room yet.
- The client is supplying source assets and has not supplied them.
- The category is one where compliance will touch the output. Anything medical, financial or regulated will come back with edits that are not aesthetic.
- The scope contains the word "and then we'll see."
- There is more than one decision-maker and you have met one of them.
The shape that holds up is not open-ended hourly. It is a fixed base for a named scope, plus a published unit rate for the two things that actually expand: new shots and extra revision rounds. Clients accept this readily when the rate is on the quote from the start, because it reads as a price list. They resent it when it appears for the first time in an invoice, because then it reads as a penalty.
Publish both rates as line items even when you expect to use neither:
- New shot rate. Per additional generated shot beyond the named list, including reframes of a shot that did not exist at signature.
- Additional revision round. Per round beyond the included rounds, where a round is defined as one consolidated set of notes, not one email.
Change-order trigger language you can paste
The trigger has to be objective. "Significant changes" is not a trigger, because whether a change is significant is precisely the thing you will be arguing about. Language that survives:
Style lock. The reference frames approved in writing on [date] define the visual style for this engagement. Shots produced to that reference are in scope. A request that changes the approved style, including wardrobe, palette, set, lighting direction or talent likeness, is a new shot rather than a revision.
Revision rounds. This quote includes [two] revision rounds. A round is one consolidated set of written notes delivered within [five] business days of the review link. Notes received after a round is closed begin the next round.
New shots. Any shot not on the deliverable list above, including alternate aspect-ratio versions of a shot that was not itself listed, is billed at the new shot rate of [rate] and adds [n] business days.
Usage. Delivery grants [organic social, 12 months]. Paid media placement, out-of-home, broadcast or perpetual use is a separate licence, quoted on request. Usage expands only in writing.
The sentence doing the most work is "changes the approved style, including wardrobe, palette, set, lighting direction or talent likeness." Those five are where almost every out-of-scope request actually lands, and naming them removes the argument about whether a red jacket is a tweak. It is a regenerated shot, and the client agreed in advance that it is.
The second most valuable clause is the one defining a round as consolidated written notes. Without it, revision rounds are unbounded by construction, because notes arrive one message at a time forever. A shared review link with numbered versions makes this enforceable rather than pedantic; a client review loop built on previews and share links is the mechanism.
The decision, in one table
| Situation | Quote | Why |
|---|---|---|
| Repeat client, locked style, named deliverables | Fixed | You have the hit rate from last time |
| New client, references approved before quoting | Fixed with published change rates | Style risk is retired, scope risk is not |
| New client, no references yet | Paid discovery, then fixed | Sell the style lock as its own small job |
| Regulated category | Base plus change orders | Compliance edits are not aesthetic and are not predictable |
| Ongoing monthly output | Fixed retainer with a volume cap | The cap is what makes it fixed |
| "Just make something cool" | Do not quote yet | There is no scope to price |
The pattern in that table is that fixed pricing is a reward for retired risk, not a default. Sell the discovery, retire the style risk, then quote fixed against the thing you now know. Operators who do this consistently end up quoting fixed on most work, because they stopped quoting fixed on the work where it never made sense. The agency pricing playbook covers how the same logic scales into retainers.
FAQ
How much buffer should a fixed quote carry?
Enough to cover your measured attempts-per-approved-shot ratio at the top of its range, plus the included revision rounds, and nothing more. If you cannot state that ratio for your last five jobs, the honest answer is that you do not yet have the data to quote fixed, and the first fixed-price job you take should be small enough that being wrong is survivable. Generation spend is priced in credits and shown before each confirm, so the ratio is measurable rather than estimated once you start writing it down. How credits work covers the unit.
Does a client ever accept cost-plus on creative work?
Regularly, when it is framed as base plus a published rate card rather than as open-ended hours. Clients dislike unbounded exposure, not variable pricing. A quote that says "here is the price for the named scope, here is the price per extra shot, here is the price per extra round" gives them a lever they control, which is a better experience than a fixed price that quietly assumes they will not ask for anything.
What if the client refuses to approve references before the quote?
Charge for the reference pass as a small standalone deliverable, priced and delivered on its own. It is genuinely a piece of work, it is the piece that determines the price of everything after it, and a client unwilling to pay for a couple of hours of direction is telling you something useful about how the rest of the engagement will go.
Do I reprice when a source asset arrives late or unusable?
Yes, and the trigger should be in the quote rather than negotiated afterwards. A clause naming the asset deadline, the format, and what happens if the asset misses it turns a bad handoff into a scheduled line item instead of an argument. Bad source material is the single most reliable cause of extra generation attempts, and the real cost of a reshoot in a generated pipeline is what it looks like when it is not covered.