The pipeline is a script, a voice, a lip-synced face and a video file, and each part has an open model: Linly-Talker and Duix-Avatar run it locally. What you can't copy is the product around it: licensed actors scanned as avatars, a large voice and language catalogue, studio-grade rendering that doesn't wobble, and SOC 2 reporting that training teams ask for. A local build gets you a stiffer talking head on your own GPU, and several of those open models carry non-commercial or custom licences.
Before you buildCheck Synthesia's free Basic plan first: it gives 10 minutes of video a month, but with a watermark and, per its help center, no downloads.
Build me a local talking-head video maker to replace Synthesia. Requirements: - Python 3.11 with FastAPI; a single HTML page on http://127.0.0.1:4820 with a script box, a voice picker, a portrait upload and a Generate button. Jobs run one at a time from a queue. - Speech: Piper TTS (piper-tts) with voice files kept in ./models/voices/; a chosen voice is downloaded on first use. Split the script into sentences and write each one to a WAV file. - Face: run Linly-Talker's lip-sync step on the uploaded portrait and the speech WAV. Pin its git commit in setup.sh and read its licence file into the README before first run. - Assembly: ffmpeg joins the clips, burns in subtitles from the script (SRT) and exports ./output/<date>-<title>.mp4 at 1080p, 25 fps. Keep the WAV and SRT next to it. - Storage: jobs, scripts and file paths in SQLite (better-sqlite3 equivalent: sqlite3 module) at ./data/jobs.db; a list page shows status, duration and a preview player. - Limits: refuse scripts over 2,000 characters and portraits under 512 px; run on CUDA when available, otherwise print that CPU rendering takes about 10 minutes per minute of video. - No accounts, no telemetry, local-first; the only downloads are model weights on first run. - Out of scope: multiple presenters per scene, screen recording, translation and a template editor. - README: GPU and driver needs, the model download sizes, the licence caveats and a warning that animating a real person needs their consent.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Synthesia.
Add batch mode to the talking-head maker in this folder. Requirements: - Upload a CSV with columns title, script and voice. - Queue one job per row and show progress for the whole batch. - Skip rows whose title already has an output file. - Write a summary CSV of results with durations. - Update the README with the CSV format.
Add caption styling to the talking-head maker in this folder. Requirements: - A settings page for font, size, colour and position, saved in SQLite. - ffmpeg burns subtitles with those settings via an ASS file. - Preview a single frame without rendering the video. - Update the README.
Add language dubbing to the talking-head maker in this folder. Requirements: - Translate the script with the model named in .env (any OpenAI-compatible endpoint). - Pick a Piper voice for the target language and render a second video. - Show both videos side by side on the job page. - Out of scope: lip-sync checking by language. - Update the README.
Add backgrounds to the talking-head maker in this folder. Requirements: - Remove the portrait background with rembg and place the presenter on an uploaded image or colour. - Prepend a 3-second intro image and append an outro. - Keep the original render so a change doesn't re-run the lip-sync. - Update the README.
Training and sales teams want a presenter video without a camera crew and are happy to pay for a library of licensed avatars, many languages and a vendor with enterprise security reporting. Editing a line of script and re-rendering is the saved time.
Estimate · Rendering is free on your own GPU; renting a cloud GPU runs a few dollars an hour. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Basic | $0 | $0 | 500 credits a month, 10 minutes of video or dubbing, 1 editor, watermark on videos. |
| Starter | $29 | $18 | 1,250 credits a month (monthly) or 15,000 a year (annual); about 12 minutes of video a month; 1 editor and 3 guests. |
| Pro | $89 | $64 | 6,000 credits a month (monthly) or 72,000 a year; about 60 minutes of video a month; 1 editor and 5 guests. |
| Enterprise | custom | — | Custom credit volumes, unlimited video minutes, custom seats. |
Basic is free: 10 minutes of video or dubbing a month, 3 survey responses, 500 credits, and videos carry a Synthesia watermark.
Not really. Training and sales teams want a presenter video without a camera crew and are happy to pay for a library of licensed avatars, many languages and a vendor with enterprise security reporting. Editing a line of script and re-rendering is the saved time. The prompt on this page builds the closest honest substitute.
About $29 a month on the Starter plan, $348 a year (checked 2026-10-15).
Licensed professional avatars and their consent paperwork; 140+ languages and a large voice catalogue; Templates, screen recording and slide import in one editor; Brand kit and team workspace, review links; Studio rendering that holds up at 1080p without visible glitches. If any of those matter to you, keep paying.
Yes: Linly-Talker (open source), Duix-Avatar (open source), LivePortrait (open source).