One-person content agency: 30 short videos a week, the real cost sheet
Last updated September 2026 · A day to build the pipeline, then about 20 minutes per video · About $325 to $505 a month for 130 videos, depending on which Claude plan you are on · Builder

Seven avatar reels cost me $14.71 last week. That is the whole render bill, measured, not estimated. This guide takes the per-unit costs from a pipeline that actually runs every week and does the arithmetic for 30 short videos a week: what HeyGen bills per finished second, what ElevenLabs charges per character, what local editing costs, and what the whole month comes to per finished video. Then it puts that next to what agencies and freelancers publicly charge for short-form retainers, so you can see the gap the business lives in.
Seven avatar reels cost me $14.71 last week. That is the whole render bill, measured against the credit balance before and after the batch, not an estimate.
Most content about running a one-person content operation skips the part where you find out what it costs. This guide is only that part. Real per-unit numbers from a HeyGen and Claude pipeline that runs every week, the arithmetic extended to 30 videos a week, and then the public rates the category charges, so you can see the gap the business actually lives in.
One thing up front about the money. The cost numbers here are measured from my own pipeline. The revenue numbers are public rates for this category taken from freelance marketplaces and agency price pages, quoted so you have an anchor before you invent one. They are not a forecast of what you will earn.
What you'll have when you're done
- A per-unit cost for every stage of a short-form video, in cents
- The monthly bill for 30 videos a week, with the arithmetic shown
- A cost per finished video you can put on a quote without guessing
- The public rate bands for short-form retainers, to price against
- The three constraints that decide whether this is a business or a hobby
- [SCREENSHOT: the render log showing 7 reels, 294.16 seconds, $14.71]
Before you start
- A HeyGen account with an avatar you own. Photo avatar is fine and is what the numbers below are from. Whoever's face it is has to have consented on HeyGen's own consent flow.
- An ElevenLabs account. The numbers below assume the Creator plan, which is 100,000 credits a month at roughly $22.
- ffmpeg and faster-whisper installed locally. Both free, both run on the machine you already have.
- A scheduler. One Metricool seat covers the publishing side across networks.
- Claude, on whatever plan you already pay for. Pro is $20 a month at time of writing; check the current pricing page. It writes scripts and drives the pipeline, it does not render anything.
What each stage actually costs
These are the per-unit numbers. Everything else in the guide is arithmetic on top of them.
| Stage | Tool | Unit cost | Where the number is from |
|---|---|---|---|
| Render | HeyGen, 1080p | About $0.05 per finished second | Measured: 294.16 seconds billed $14.71 across 7 reels |
| Voice | ElevenLabs, Creator | About 1 credit per character | Plan's own credit model; 100,000 credits a month |
| Script | Claude | Effectively $0 marginal | Flat subscription, not per-video |
| Edit, captions, layout | Local ffmpeg + faster-whisper | $0 per video | Runs on your machine; no per-export fee |
| Scheduling | One Metricool seat | Flat monthly | Entry paid tier for one brand, low $20s at time of writing |
The line that surprises people is the editing row. Captions from faster-whisper word timestamps, cuts and layout from ffmpeg, both driven by a script: video 130 costs exactly what video 1 cost, which is nothing. That is the entire reason 30 a week is a batch job rather than 30 sessions.
The render bill, per reel, from a real week
| Reel | Finished seconds | Cost |
|---|---|---|
| 1 | 42.56 | $2.13 |
| 2 | 43.73 | $2.19 |
| 3 | 55.01 | $2.75 |
| 4 | 34.77 | $1.74 |
| 5 | 40.06 | $2.00 |
| 6 | 38.02 | $1.90 |
| 7 | 40.01 | $2.00 |
| Total | 294.16 | $14.71 |
A 40-second video costs about $2.00. That is the number to hold in your head, and the reason to never render a vertical feed video at 4K: the bill scales with finished seconds either way, but the resolution multiplies the rate for a format nobody watches on a large screen.
Check it worked: render one 30-second test at 1080p, note the credits before and after, and divide. If your number is not close to $0.05 a second, you are on a different plan or a different resolution and every figure below needs re-basing on yours.
The script length arithmetic nobody does
You cannot cost a batch without knowing how many characters a 40-second script is, and the naive answer is wrong in both directions.
Measured across a run of real scripts, the read rate is not one number:
| Script type | Read rate | Why |
|---|---|---|
| Guide or money script | About 14.0 characters/second | Comma-heavy, more pauses |
| Punchy quick-hit script | About 15.3 characters/second | Short declarative lines, fewer pauses |
Size a money script at 15 characters a second and it overruns; size a quick-hit at 14 and it undershoots. Both mistakes cost you a re-render, and a re-render is the only genuinely wasteful line item in this whole stack.
At 14.0 characters a second, a 40-second script is about 560 characters.
Check it worked: write one script, run it through your voice model, and time the output. If it is more than two seconds off your prediction, adjust your characters-per-second constant before you batch anything.
The arithmetic for 30 videos a week
Thirty a week is 130 a month, using 4.33 weeks. Forty seconds each.
Render. 130 videos x 40 seconds = 5,200 finished seconds. At $0.05: $260 a month.
Voice. 40 seconds at 14.0 characters/second = 560 characters per video. 130 x 560 = 72,800 characters a month, which is 72,800 credits. The Creator plan's 100,000 credits covers it with about 27,000 to spare, which is your re-record headroom. $22 a month.
Editing. 130 videos x $0 = $0. The cost here is machine time, not money: budget a few minutes per video of local render, which is a scheduling problem rather than a billing one.
Scheduling. One Metricool seat. About $22 a month at the entry paid tier for one brand; check the current page.
Claude. Flat, whatever plan you are on. $20 to $200 a month depending on how hard you drive it.
| Line item | Monthly |
|---|---|
| HeyGen, 5,200 finished seconds at 1080p | $260 |
| ElevenLabs Creator, 100,000 credits | $22 |
| Metricool, one brand | ~$22 |
| Claude, Pro at the low end to Max at the top | $20 to $200 |
| Editing: local ffmpeg + faster-whisper | $0 |
| Total for 130 videos | ~$324 to ~$504 |
| Per finished video | $2.50 to $3.90 |
That is the whole cost sheet. Two dollars fifty to three dollars ninety per finished, captioned, published short-form video, at 130 a month, run by one person.
What the category charges
Now the other side. These are public rates, so you have a floor and a ceiling before your first conversation.
| Line item | Public rate band | Where the number comes from |
|---|---|---|
| Single edited short-form video | $50 to $300 each | Freelance marketplace listings for short-form editors |
| UGC-style creator video | $150 to $500 each | Creator marketplace rate cards |
| Monthly short-form retainer | $1,500 to $5,000/mo for 8 to 20 videos | Small-agency package pages |
| Strategy and scripting, hourly | $50 to $150/hr | Marketplace rates for content strategists |
Put that next to the cost sheet and the shape of the business is obvious: production is not where the money goes, and it is therefore not where your competitive advantage is either. A retainer at the bottom of that band, 8 videos a month, costs you about $30 in units. The other $1,470 is being paid for scripts, judgment, consistency and the fact that the client does not have to think about it.
The three constraints that actually decide this
The cost sheet is the easy part. Here is what is hard, in the order it bites.
1. Thirty scripts a week is the bottleneck, not thirty renders
The render queue does not care how many videos you send it. Thirty scripts a week that a stranger will watch past the third second is a writing job, and it is the entire job. If you take one thing from the cost sheet, take this: production is $2.50 a video, so stop optimising it and go spend that time on the openers.
2. No single client wants 30 a week
Thirty a week is a capacity number, not a client number. The realistic shape is four to six clients at five to eight videos each, which means four to six approval loops, four to six brand voices, and four to six people who want a change on a Friday. That coordination load, not the render bill, is what caps a one-person operation, and it is why the retainers in the band above are priced where they are.
3. Disclosure and consent are not paperwork, they are the account
Every platform this pipeline publishes to has an AI-content declaration and a policy requiring synthetic media to be labelled. Set the flag on every post:
| Platform | The declaration |
|---|---|
isAiGenerated on the post | |
| TikTok | The AIGC declaration on the post |
| YouTube | The altered-or-synthetic content flag |
| No machine-readable field; disclose in the caption text |
And the likeness question, settled before the first invoice, in writing: whose face is on the avatar, who consented on the platform's own consent flow, and what happens to that avatar when the engagement ends. Your own likeness is the clean answer. A client's likeness needs their explicit written consent, personally, not their manager volunteering them.
Check it worked: open one of your published posts on each platform and confirm the AI label actually renders. An API that accepts the flag and echoes it back is not proof it was delivered; the published post is.
What I would do differently at the start
Three things, from running this.
Measure the unit cost in week one, not month three. One 30-second test render and a credit balance before and after gives you the number your entire quoting model rests on. Estimating it is how people end up quoting a retainer below their own floor.
Do not buy the volume plan on anything until the volume exists. Every tool here has a tier that is cheaper per unit at high volume, and every one of them is more expensive per unit at the volume you actually have in month one. The Creator plan covers 30 a week; do not pre-buy for 60.
Build the re-render guard before you need it. The single largest avoidable cost is rendering the same video twice because the script was mistimed or the audio was wrong. Time the voice track first, check it against your characters-per-second constant, and only then send it to render. That check is worth more than every other optimisation in this guide combined.
The content agency cost pack: cost model, render calibration, scope and pricing one-pager
FAQ
Is the $0.05 per second figure real or an estimate?
It is the measured rate from a pipeline that renders every week. Last week's seven renders came to 294.16 finished seconds and $14.71, which is $0.05 per second to the cent, and it was cross-checked against the HeyGen credit balance before and after the batch. Per reel the range was $1.74 for a 34.8-second cut to $2.75 for a 55-second one. HeyGen's own pricing is credit-based and the effective rate depends on your plan and resolution, so measure your own batch before quoting a client. Rendering at 4K instead of 1080p changes this number substantially and there is no reason to do it for a vertical feed video.
Can one person really produce 30 videos a week?
The rendering can. The rendering is not the bottleneck and never was. Thirty scripts a week that are actually worth watching is the bottleneck, and it is a writing problem, not a compute problem. The honest version of this business is fewer videos at higher quality for fewer clients, and the arithmetic in this guide exists to show you that the cost side is cheap so you can stop optimising it and go work on the side that is not.
Do I need to tell viewers the video is AI-generated?
Yes, and this is not optional. Instagram, TikTok and YouTube all have machine-readable AI-content declarations and their policies require synthetic media to be labelled. Every platform this pipeline publishes to gets the flag set on the post. Facebook exposes no equivalent field at the time of writing, so the disclosure goes in the caption text instead. Publishing undisclosed synthetic media under a client's brand is the kind of thing that costs them an account, and it is your job to be the one who raises it.
Whose face is on the avatar?
This is the question to settle before the first invoice, in writing. The clean version is your own likeness on your own avatar, which you consented to and control, and the client is buying the production rather than a person. Using a client's likeness means their explicit written consent, on the platform's own consent flow, and a clear answer to what happens to that avatar when the engagement ends. Never build an avatar of anyone who has not personally consented, including a client's staff member the client volunteered.
Why local ffmpeg and faster-whisper instead of a paid editor?
Because the marginal cost is zero and the pipeline is scriptable. Captions come from faster-whisper word timestamps, cuts and layout come from ffmpeg, and both run on the machine you already own, so video 130 costs the same as video 1. A subscription editor is fine and often faster to start with, but it prices per seat or per export and it does not accept a command from a script, which is what makes 30 a week a batch job rather than 30 sessions.
What do agencies actually charge for this?
Public listings put single edited short-form videos at roughly $50 to $300 each, UGC-style creator videos at $150 to $500, and monthly short-form retainers commonly in the $1,500 to $5,000 range for something like 8 to 20 videos a month. Those are the rates the category asks for, not a forecast of what you will earn, and the first few engagements are usually priced at the bottom of the band deliberately. What the cost sheet in this guide tells you is what the floor is, which is the number you need before you can price anything at all.
Related guides
I stopped filming my reels (my AI avatar reads the script)
You'll set up a pipeline where a text file becomes a talking-head clip of your own AI avatar, in your voice, with no camera. Claude Code calls HeyGen's API from a skill file, waits for the render, and drops the clip in your editing folder. After the 30-minute setup, a reel starts with a paragraph, not a tripod.
I made Claude Code my video editor (cuts, captions, exports)
You'll give Claude Code a skill file that edits your videos: transcribe, cut the dead air, burn captions, export 9:16. After the 30-minute setup, editing a clip is one sentence in a terminal.
AI UGC ads for small brands: how people land the first paid client with no audience
Small brands buy ads that look like a person talking, and they buy them by the batch because most of them fail. The people getting paid for this now are not creators with an audience. They are operators with HeyGen, a voice from ElevenLabs, and three sample ads made for a brand that never asked for them. This guide is that whole loop: the script structure, the production, the spec reel, the outreach message, and what the work is priced at.
Get the next build in your inbox
One email a week: the newest guides, plus one thing I only share with the list.
No spam. Unsubscribe anytime.
Build alongside others
Join the free community and share what you're shipping.

Jordan Hong Tai
I've scaled products to over 500K users, and now I build AI systems in public from a balcony in Tokyo.