An API for nightly ad variants
Your runner posts the hook list at 02:00. Forty finished talking-actor ads by morning.
One POST from your Linux runner, nothing installed. Up to 200 scripts a manifest; our models turn each into a captioned 9:16 MP4, with its cost line in seconds.
Per rendered second, rounded up to the next whole second. The key names your runner.
Of the forty hooks posted at 02:00, one is a 31-second ad. It bills as 31 seconds, $3.72.

- $0.12per finished second, rounded up once to the next whole second
- 200variants in one manifest, four jobs in flight
- 1080 by 1920H.264 MP4 per variant, signed URL for 90 days
From script to 9:16 in six steps
How does a 31-second script become a finished ad with nobody at a desk?
The 31-second script has three named parts: hook, body and call to action. Two models make the actor, a third times the captions, and rules assemble the cut.

- 01SpeechA text-to-speech model reads the script in your chosen voice.
- 02PerformanceAn audio-driven video model, tuned on our licensed performers, renders face, mouth and gesture from that audio at 30 frames a second.
- 03CaptionsEach word is aligned to the frame it is spoken on.
- 04AssemblyRules trim the part boundaries, cut to your clip at each marker, burn captions inside the safe area, add the end card.
- 05CheckEvery take gets a sync score; under 0.80 it re-renders with a new seed, twice at most, then returns failed and unbilled.
- 06Cost line31 finished seconds times $0.12: $3.72. The failed take is not on it.
One POST in, one MP4 per variant out
- POST /v1/jobs from any runner
- Signed URL for 90 days, webhook on close
- Files and job reports deleted 90 days after the job closes
- Every file starts in hold; a push needs an approve call
The models run on cloud GPU capacity we control in Oregon, and no script, clip or frame is sent to a third-party model API.
Sample data
The manifest, the job report and the finished 9:16
What your runner posts, what comes back by dawn, the night's cost line, and one finished variant waiting in hold.




Who renders, who releases
From script to finished take on four models, with a screen for the claims ad platforms reject.
We serve all four ourselves. Three make the take; the fourth screens its script.
- 01The screenA classifier reads every script for claim categories ad platforms reject, and writes its reason.
- 02Above 0.85The variant holds in the job report until a named member releases or drops it.
- 03Below 0.85The variant renders with the flag's note attached.
- 04Your decisionsEach release, drop or caption fix tunes your workspace's screen; the shared one learns only if you opt in.
The Mac under the desk
A Mac mini under the desk already does this, and the engine on it was free.
At a couple of hundred seconds a month, keep it; there the Mac is cheaper than the change.
The suite that Mac runs installs only on macOS and 64-bit Windows. Linux, WSL and cloud execution are ruled out on its own page.
It edits media it is given and does not generate footage or avatars; the performance still comes from a per-second API at $0.15, in 6-second steps.
One machine nobody is on call for, holding two tools together with a script. It dies over a long weekend and the job dies with it.
- Your runner needs nothing but curl.
- The render runs on our GPUs.
- Generation and assembly are one call; no script stitches them.
The published rate applies to every workspace and we do not negotiate a different one. A change to the rate is announced by email 60 days before it applies.
Dailies terms of service, under fees
Edges of the endpoint
Everything it makes comes from your manifest and our catalog
Writing hooks before the render and picking winners after it stay with your team.
What's in scope
- 01Up to 200 variants a manifest, each script in three parts.
- 02A brand kit uploaded once: caption style, font, end card, logo, clips.
- 03A runner that can curl, and your own storage to copy files into within 90 days.
What we don't do
- 01No custom likeness. The cast is the licensed catalog.
- 02No timeline. A change to a cut or a caption is a manifest change and a new render.
- 03No reading your ad account. A push only creates paused ads.
The API route
The vendor already sells the avatar model per second. Call that from the runner and the Mac goes away.
It is the better objection, because a Linux runner can call it tonight.
Back comes the performance alone: expression, voice and motion for a chosen avatar. Captions, cuts and the end card are still the suite's job.
Captions are a second call at $0.15 a minute, and the suite that assembles still needs the Mac.
The 31-second ad bills as 36 seconds: $5.40.
- Our manifest names script, actor and clips; render, captions, cuts and encode happen behind one call.
- One captioned 9:16 MP4 back, billed as 31 seconds: $3.72.
- No stitching script to keep alive.
- You give up their twin from ten seconds of your founder's footage.
- And the free desktop engine, which edits what you already have. We have no editor.
Runners
Called from whatever already runs at 02:00
A GitHub Actions step, an Airflow task, an n8n workflow or a cron on a cloud VM posts the manifest and catches the webhook. Slack gets the thumbnails; Meta and TikTok get paused ads on approval.

- Gi
GitHub Actions
- Ai
Airflow
- n8
n8n
- Ac
A cloud VM on cron, or an Azure Functions timer
- Sl
Slack
- Me
Meta and TikTok Ads Manager
One rate
$0.12per second of finished video
- Rounded up once, to the next whole second
- Captions, cuts, clips and end card inside the rate
- No minimum, no term, no credits
- A studio rendering 40,000 seconds a month pays the same rate as one rendering 400.
- Failed renders and sync re-renders unbilled
- Sandbox key free without a card: watermarked 720p, 120 finished seconds a day, the full catalog
Name your runner and take a sandbox key
Your name, work email and company. The key and a sample manifest come by reply, and the reply asks which runner will post it.
- The first curl returns a watermarked 720p variant in minutes.
- Live key: a card on file, billed from the first finished second.
- Uploads, 90 days of storage, webhooks and job reports are never billed.
- Export job reports and cost lines as JSONL at any time.
We reply within one business day.