Conversation Video
/install conversation-video
Conversation Video
Generate multi-voice conversation videos from text transcripts. Two paths: quick ffmpeg (no dependencies) or rich Remotion (React animations).
Prerequisites
| Tool | Path / Notes |
|---|---|
| ffmpeg | System install or Jellyfin ffmpeg at /usr/lib/jellyfin-ffmpeg/ffmpeg |
| supertonic-tts | Python package for multi-voice TTS (see scripts/generate_audio.py for load logic) |
| Node.js + npm | Only needed for Remotion path |
Workflow
1. Build a transcript manifest
Create a JSON file with your conversation:
[
{"speaker": "NARRATOR", "text": "Customer Discovery Interview", "voice": "M1", "speed": 1.0, "align": "center"},
{"speaker": "INTERVIEWER","text": "Walk me through when you first realized...", "voice": "M5", "speed": 0.95, "align": "left"},
{"speaker": "CUSTOMER", "text": "I was looking for a marketer agent.", "voice": "M2", "speed": 1.0, "align": "right"}
]
Fields: speaker (label), text (spoken text), voice (supertonic voice name e.g. M1-M5, F1-F2), speed (optional playback speed), align (left/right/center for video placement).
2. Generate audio + timing manifest
python scripts/generate_audio.py manifest.json output.wav
Outputs:
output.wav— concatenated multi-voice audiooutput_timings.json— per-segment start/end times for video sync
3. Render video (choose path)
Path A: ffmpeg — fast, no Node.js needed
python scripts/ffmpeg_render.py output_timings.json output.wav video.mp4
Options: --width, --height, --font-size, --bg, --font, --crf
Path B: Remotion — richer animations, React-based
Copy the boilerplate:
cp -r assets/remotion-boilerplate ./my-video
cd my-video
npm install
Edit src/Conversation.tsx:
- Replace
conversationarray with your lines (duration in frames, 30fps) - Set
SpeakerConfigcolors/alignment - Uncomment
\x3CAudio src={staticFile("audio.wav")} />and place audio inpublic/
Render:
npx remotion render src/index.ts Conversation out/video.mp4
Speaker Customization
Default color/alignment map (edit in either ffmpeg or Remotion):
| Speaker | Color | Align |
|---|---|---|
| NARRATOR | #cbd5e1 | center |
| INTERVIEWER | #60a5fa | left |
| CUSTOMER | #34d399 | right |
Add more by extending the config map in the respective renderer.
Resources
- scripts/generate_audio.py — Multi-voice TTS with timing export
- scripts/ffmpeg_render.py — ffmpeg drawtext video renderer
- assets/remotion-boilerplate/ — Copyable Remotion project template
- references/remotion-patterns.md — Advanced Remotion techniques (JSON data loading, word-by-word reveal, audio sync)
- references/ffmpeg-guide.md — ffmpeg drawtext syntax and timing reference
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install conversation-video - After installation, invoke the skill by name or use
/conversation-video - Provide required inputs per the skill's parameter spec and get structured output
What is Conversation Video?
Generate animated conversation videos with multi-voice TTS audio and timed text overlays. Use when the user needs to (1) turn a transcript or dialogue into a... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.
How do I install Conversation Video?
Run "/install conversation-video" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Conversation Video free?
Yes, Conversation Video is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Conversation Video support?
Conversation Video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Conversation Video?
It is built and maintained by Pratyush Chauhan (@pratyushchauhan); the current version is v1.0.0.