Two numbers, both technically true, neither useful for a budget
A production company's per-video quote usually bundles concept, shoot or edit, and one round of revisions into a single line, priced for a client who needs a handful of videos, not a weekly cadence. It's an honest number for what it covers — it's just not what a brand posting several times a week ends up paying per video once volume kicks in.
An AI-tool vendor's 'minutes per video' claim measures render time, not the time spent scripting, reviewing, fixing a bad take, adding subtitles, and re-exporting for each platform. Both numbers are real. Neither one is a cost model you can put in a spreadsheet.
The two sides also disagree on what counts as 'done.' A production company's quote usually ends at delivery of one export. An AI tool's demo ends at a rendered draft, before anyone has watched it, fixed the line that reads wrong, or resized it for a second platform. Comparing the two totals side by side compares a finished product to a half-finished one and calls it a fair fight.
Break it into line items instead of asking for one number
A finished short-form video is roughly: a script or hook, a shot list or storyboard, footage or generated visuals, a voiceover or captions, a revision pass, and export/upload per platform. Each of those behaves differently as volume goes up — some stay flat, some drop, one tends to multiply.
Ask any vendor, in-house lead, or freelancer to name which of these line items their quoted number actually includes. Most quotes name two or three and stay silent on the rest — not because the other line items are free, but because someone still has to do them, and the quote doesn't say who.
- Script and hook — cost stays close to flat per video; it's thinking time, not equipment time
- Shot list or storyboard — drops fast once a repeatable template exists; the first few videos cost the most
- Footage or generation — scales with how many discarded takes or renders it takes to get one usable cut
- Voiceover and subtitles — scales more with language count than video count
- Revision and review pass — the line item most quotes and demos leave out of the headline number
- Per-platform export and native upload — multiplies by how many platforms are on the schedule
The question worth asking is marginal cost at your actual volume, not price per video
The cost of video five in a week is not the cost of video one. Research, a hook formula, a brand voice guide, and a shot-list template are fixed costs paid once and then amortized — so the honest comparison isn't 'in-house vs outsourced,' it's 'in-house vs outsourced at the cadence I actually need.'
In-house teams often quote a loaded cost that includes idle time between shoots. Outsourced quotes usually assume a batch volume that may not match a brand posting daily. Ask both sides the same question: what does the curve look like at four videos a week, not at one.
This is also where the two options tend to swap places. A vendor's per-video rate can look expensive against a single in-house hire's salary, until you account for the weeks that hire spends waiting on footage, revisions, or a brief that hasn't arrived yet. Neither answer is right in the abstract — the curve only means something once it's plotted against the cadence you're actually committing to.
Once cost per video stops being the bottleneck, the bottleneck moves
Get the per-video cost curve under control — either route — and the next constraint is almost never production. It's review-and-approval throughput, then getting each finished video natively posted across every platform in the schedule without redoing the export work by hand.
That shift catches most teams by surprise, because the budget conversation and the operations conversation happen months apart. The line item that looked cheapest on the spreadsheet is rarely the one that ends up limiting how much actually ships in a given week.
That's a separate pipeline problem, not a budgeting one. Our own AI Social Media System, priced from $1,499/month, is built around exactly that second constraint — it doesn't replace the judgment calls above, it removes the manual repetition around them.

