One prompt. A full animated podcast show — dialogue, voices, lip sync, cameras, final cut. Fully automated, end to end.
English · 简体中文 · Live Demo · Documentation
This section preserves the product-trailer placement and will be replaced with the official promotional video.
Just type one sentence — "Make a podcast about coffee culture" — and Blabber writes the dialogue, casts two hosts, voices every line, syncs every lip movement to the audio waveform, directs the cameras, and renders the final cut. You describe the show. The agents make it.
- [2026-07-21] 🎉 Blabber officially launched on GitHub!
- [2026-08-07] 🚀 Released the first version with the Zoo scene and two video-ready hosts: Gaga and Awang.
Real animated podcast episodes generated with Blabber, from a single prompt each.
| 🧚 Fairy Tale | 🚗 New Car | 💻 Tech Talk |
|---|---|---|
![]() |
![]() |
![]() |
| 🎬 Movie Review | 📚 Book Club | 🏀 Sports Banter |
|---|---|---|
![]() |
![]() |
![]() |
Blabber is an AI production platform built for podcast video creation. You don't record, animate, or edit anything — you just describe the show you want, and a team of AI agents orchestrates the entire journey: topic planning → dialogue script → voice casting → speech synthesis → lip sync → camera direction → editing → final render.
It's not just a one-shot video generator. Blabber turns every show into an editable project: after generation, you can keep refining anything — a line of dialogue, a host's voice, a camera cut, a scene — through the built-in AI Copilot chat or directly on the clip-based timeline.
No scripts, no recordings, no keyframes. Describe the topic, tone, length, and style — the system generates the episode outline, two-host dialogue script, voice performances, lip-synced animation, camera plan, and final composition automatically.
A chat panel lives right inside the editor. Say "Make the intro punchier," "Give Host B a calmer voice," "Add a segment about latte art" — the Copilot rewrites the script, re-voices the lines, and updates the timeline, without touching the parts you already like.
A team of professional agents handles each stage of production:
| Agent | Responsibility |
|---|---|
| 🎬 Showrunner | Understands your prompt, plans episode structure, pacing & segments |
| ✍️ Dialogue Writer | Two-host conversational script — hooks, banter, transitions, outro |
| 🎙️ Voice Director | Casts voices for each host, controls emotion, tone & delivery |
| 👄 Lip-Sync Engine | Syncs every mouth movement frame-accurately to the audio waveform |
| 🎥 Camera Director | Plans shots — wide two-shots, close-ups, reaction cuts, cut timing |
| 🎵 Sound Designer | Intro/outro music, ambience, transitions, loudness balancing |
| 🎞️ Final Compositor | Assembles clips, audio & captions into the rendered final cut |
The dialogue engine writes genuine back-and-forth — interruptions, reactions, follow-up questions, laughter. On the timeline, each host's lines appear as separate audio clips that alternate like a real conversation, and each clip can be individually edited, re-voiced, or regenerated.
Every syllable drives the character's mouth shapes. Change a line of dialogue, and the animation re-syncs automatically — no manual keyframing, ever.
Blabber cuts like a real show director: wide shots to establish, close-ups on the speaker, reaction shots on the listener, with cut timing driven by the rhythm of the conversation.
- 2 video characters — Gaga and Awang
- 1 scene — the layered Zoo podcast set
- Character-matched voices — a dedicated PodcastTTS voice prompt for each character
Mix and match freely; a character stays visually consistent across every shot and every episode.
The generated show lands on an editable timeline, not a locked video file. Reorder clips, trim lines, swap voices, change camera angles, adjust music — then re-render only what changed.
Every regeneration appears as a candidate version first — preview, accept, reject, or roll back. Only confirmed versions enter your episode.
Export in 16:9, 9:16, or 1:1 with baked-in captions — ready for YouTube, TikTok, Bilibili, and podcast video feeds.
💡 Prompt → 🎬 Episode Plan → ✍️ Dialogue Script → 🎙️ Voice Performance ↓ 🚀 Final Cut ← 🎞️ Composition ← 🎵 Sound ← 🎥 Camera Direction ← 👄 Lip Sync
All orchestrated by AI agents, fully editable in the built-in editor.
Prerequisites:
- Git and Git LFS
- Node.js
>=22.13.0 - Python
>=3.9 ffmpegandffprobeavailable onPATH, withlibvpx-vp9support- About 1 GB of free disk space for runtime caches and output; the bundled VP9 Alpha action assets require about 9 MB of download space
First-time setup:
git lfs install
git clone https://github.com/GML-MMGroup/Blabber.git
cd Blabber
git lfs pull
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r mvp/requirements.txt
cp mvp/.env.example mvp/.env
cd site
npm ciOn Windows PowerShell, activate with .venv\Scripts\Activate.ps1 and create
the configuration file with Copy-Item mvp/.env.example mvp/.env.
The web UI uses Volcengine PodcastTTS to return two-host dialogue slices, per-slice MP3 files, and the complete MP3 in one API request, ready for MP4 generation. After setup, start the two local services in separate terminals.
Terminal 1 — backend:
cd Blabber
source .venv/bin/activate
cd site
npm run dev:mvpTerminal 2 — frontend:
cd Blabber
cd site
npm run devOpen the local URL printed in the terminal (normally http://localhost:3000). Configure the Doubao Speech PodcastTTS App ID and Access Token under service settings. To use Seedream or Seedance, additionally run python -m pip install -r mvp/requirements-ark.txt and set the optional ARK_API_KEY in mvp/.env. This credential file is ignored by Git and must not be committed.
Enter a topic or select a document, then click Generate script and audio. Once audio is ready, continue with MP4 generation using the bundled Gaga and Awang characters in the Zoo scene.
POST /api/mvp/document-jobs uses PodcastTTS document mode (action=0). Send exactly one source: input_url, input_text, or an uploaded file as file_name plus file_base64; topic is optional. The UI accepts .txt, .md, .html, .json, .csv, .docx, and .pdf files up to 20 MB and shows the selected file name and size. Scanned PDFs must be OCRed first. The endpoint returns 202 with a job ID. Poll GET /api/mvp/jobs/{id}; the completed job includes episode.turns, clips[].audio_url, audio_url, and provider_audio_url.
Jobs are persisted in mvp/output/jobs-history.json; read recent records from GET /api/mvp/history. The UI can restore saved scripts, audio slices, and videos, while identical new inputs reuse completed results without another paid request. During generation, GET /api/mvp/jobs/{id}/events streams accumulated script and audio slices over SSE.
We welcome contributions of all kinds! Please see our Contributing Guide to get started.
This project is licensed under the GNU General Public License v3.0.
You are free to run, study, share, and modify this software. Any distributed derivative work must also be released under the GPL v3, keeping the software free for all users. See the LICENSE file for the full text.
⭐ If you find Blabber useful, please give us a star!
Made with ❤️ by the Blabber Team





