1,000 personalized videos a week.
Zero manual editing.
A CSV goes in, each lead's website gets checked for the actual brand palette, a custom ElevenLabs voice-over gets generated from their personalized script, and your example video renders as a finished 30 second clip, hosted in the cloud with the link written straight back into a CSV your email software reads. Nothing runs on your computer at any point.
Three ways personalized video falls apart at scale.
1,000 videos a week rules out anything touched by hand. These are the three places a build like this actually goes wrong.
Manual editing doesn't survive real volume
Even a fast editor caps out long before 1,000 videos a week. Personalization at this scale only works if the whole thing is templated and rendered by code, never touched by hand per lead.
Brand colors from a URL are easy to get wrong
Pulling a dominant color from a busy hero photo instead of the actual brand palette makes the video look off in a way a prospect notices immediately, even if they can't say why.
The render engine decides your unit economics
A fast to launch templating API and a self hosted render pipeline can produce the identical video, but a very different cost per video once volume compounds week over week.
One pipeline. Two ways to render it.
Each lead's row triggers the same sequence, their website gets checked against a brand data API (a Brandfetch-style lookup) for the actual palette, falling back to a screenshot of the site analyzed for its real colors on the rare domain the API doesn't cover, their personalized script gets sent to ElevenLabs for a voice-over paced to fit the fixed 30 second template exactly, and the video renders in the cloud against your example video as the template, either through Remotion as a custom code-based render or through a hosted templating API like Creatomate or Shotstack, no local machine involved either way. The finished file lands in cloud storage and the link writes back into an output CSV column your email software reads directly. The one real decision in this proposal is the render engine itself, Remotion versus a hosted templating API, and both are laid out below so you can weigh speed to launch against long run cost.
Fast to launch, or cheapest at scale.
Same input, same output, same brand color and voice-over steps either way. The difference is only in how the video itself gets rendered.
Hosted Video Templating API
Creatomate, Shotstack, or JSON2Video
- Brand.dev or Brandfetch looks up each lead's website and returns their actual brand colors as hex codes.
- ElevenLabs generates the personalized voice-over from that lead's script, paced to fit 30 seconds.
- Creatomate, Shotstack, or JSON2Video (a hosted video templating API) renders the finished video, your example video rebuilt once in their visual editor with text, brand color, and the ElevenLabs audio file passed in per lead.
- Cloudflare R2 hosts the finished video, the platform either delivers it directly or the file gets pulled into R2 for a stable link.
- That video's URL gets written into the output CSV next to that lead's row.
Custom Render Pipeline
Remotion, rendered on cloud functions
- Brand.dev or Brandfetch looks up each lead's website and returns their actual brand colors as hex codes.
- ElevenLabs generates the personalized voice-over from that lead's script, paced to fit 30 seconds.
- Remotion renders the finished video, your example video rebuilt once as a React based template with text, brand color, and the ElevenLabs audio file as parameters, executed per lead on Remotion Lambda so every render runs in parallel in the cloud.
- Cloudflare R2 hosts the finished MP4 as soon as the render completes.
- That video's URL gets written into the output CSV next to that lead's row.
What you get. Phase by phase.
The shared pipeline pieces that stay the same regardless of which rendering path you pick.
- Input CSV parsed for each lead's personalization fields and website URL
- Brand palette pulled per site via a brand data API (Brandfetch-style), with a screenshot-based fallback for sites it doesn't cover
- Duplicate and malformed row handling so one bad CSV entry doesn't stall the batch
- Template mapped against your example video's actual structure
- Personalized script sent to ElevenLabs per lead, voice and tone matched to your example
- Script length constrained to fit the fixed 30 second window consistently
- Generated audio validated before it ever reaches the render step
- Retry logic for the rare failed generation, so one bad audio call doesn't drop a lead silently
- Built on whichever path you choose, hosted templating API or custom render pipeline
- Every render fully parallel in the cloud, no queue building up on a local machine
- Text, brand colors, and voice-over all applied per lead automatically
- Failed renders flagged and retried rather than silently dropped from the batch
- Finished videos hosted in the cloud with a stable, shareable link per video
- Output CSV generated with each lead's video link in the column your email software expects
- Cost per video tracked so you can see the real number, not an estimate, as volume grows
- Storage picked for cheap delivery at video volume, no punishing egress fees
- A simple drop-in point for the input CSV, a watched folder or a short form, no code touched
- The whole batch runs unattended in the cloud once the CSV lands
- Documentation and a walkthrough so your team can run it without me in the room
- Clear path to move from Path A to Path B later without rebuilding the parts that already work
Four weeks. Template to production batch.
Each week ships a working deliverable. Click any week to see exactly what lands by Friday.
Deliverables this week
- Example video rebuilt as a template with text, color, and audio as variables
- Brand data lookup wired and tested against a sample of real lead websites
- CSV intake parsing built and validated against your actual file structure
- Render path decision confirmed with you, Path A or Path B
Deliverables this week
- ElevenLabs voice-over generation wired in and paced to the 30 second window
- First batch of test renders produced end to end from real sample leads
- Retry logic in place for failed voice-over or render calls
- Output quality reviewed with you before scaling up batch size
Deliverables this week
- Cloud hosting live with a stable link generated per finished video
- Output CSV generation wired to match your email software's expected format
- Pipeline tested against a batch in the hundreds to validate real world scale
- Real cost per video measured and reported back to you
Deliverables this week
- A watched folder or simple form for dropping in new lead CSVs
- Full run at your actual starting volume, 1,000 videos, validated end to end
- Written documentation and a walkthrough for your team
- Everything handed off ready to run without ongoing technical involvement
Let's pick a path. Then build it.
A short call to look at your example video, weigh Path A against Path B for where you actually are right now, and confirm the CSV structure before anything starts. Happy to talk cost per video and rates on the call.