AI-powered tutorial video generator - Automatically create professional tutorial videos from documentation and code.
- π€ Fully Automated - AI reads docs, plans tutorial, records operations, generates narration
- π¬ Professional Quality - 1080p videos with synchronized voiceover, highlights, and transitions
- π Completely Free - Uses local models (CSGLite) + free TTS (Edge TTS) - NO API keys required
- π Multilingual - Chinese and English narration support
- π― Multiple Scenarios - Quickstart, Feature Tour, Developer Integration guides
- π Privacy-First - All processing can happen locally
-
CSGLite - Running locally
csghub-lite serve
-
Basic Dependencies
# Already included in Claude Code: # - FFmpeg β # - Playwright β
# Clone the repository
git clone https://github.com/frankfika/tutorial-video-gen.git
cd tutorial-video-gen
# Run setup (installs Edge TTS in virtual environment)
./install.sh# Activate the environment
source venv/bin/activate
# Generate a quickstart tutorial
/tutorial-video-gen quickstart --repo ~/your-project --lang zhThat's it! Your video will be ready in ~6-10 minutes.
Each video includes:
- β Professional title card
- β Step-by-step demonstrations (6-8 steps)
- β Natural narration (Chinese/English)
- β Visual highlights on clicks
- β Smooth transitions
- β Resource links and outro
- β 1920x1080 Full HD, ~40-50MB
0:00 - 0:05 Title: "Project Name - Quick Start"
0:05 - 0:20 Installation steps
0:20 - 0:50 First run demonstration
0:50 - 1:10 Basic interaction
1:10 - 1:35 UI overview
1:35 - 2:10 Common workflows
2:10 - 2:20 Next steps & resources
Perfect for new users - installation, configuration, first example
/tutorial-video-gen quickstart --repo ~/my-appComprehensive overview of all main features
/tutorial-video-gen feature-tour --url http://localhost:3000API documentation and code examples for developers
/tutorial-video-gen developer --repo ~/my-sdk --focus "REST API"NO API keys needed!
# .env configuration
MODE=local
CSGLITE_URL=http://localhost:11435
CSGLITE_MODEL=Qwen/Qwen2.5-7B-Instruct
TTS_PROVIDER=edge-ttsPros:
- β Completely free
- β Full privacy (no data leaves your machine)
- β Unlimited usage
- β No API quotas
Requirements:
- CSGLite running locally with 7B+ model
- Edge TTS installed (
pip install edge-tts)
Mix local and cloud for best balance
# Option A: Local LLM + Cloud TTS
MODE=hybrid
CSGLITE_URL=http://localhost:11435
OPENAI_API_KEY=sk-...
TTS_PROVIDER=openai
# Option B: Cloud LLM + Local TTS
DEEPSEEK_API_KEY=sk-...
TTS_PROVIDER=edge-ttsHighest quality, requires API keys
MODE=cloud
OPENAI_API_KEY=sk-...
TTS_PROVIDER=openaiCost: ~$0.15-$0.35 per video
See CONFIG_GUIDE.md for detailed configuration options.
1. Analyze (30s-1min)
ββ AI reads README and code
ββ Extracts features and workflows
ββ Understands project structure
2. Plan (1-2min)
ββ Generates detailed tutorial script
ββ Plans 6-8 demonstration steps
ββ Writes narration for each step
3. Record (2-3min)
ββ Playwright executes browser operations
ββ asciinema records terminal commands
ββ Adds visual highlights
4. Narrate (1-2min)
ββ AI polishes narration text
ββ TTS converts to speech
5. Compose (1-2min)
ββ FFmpeg combines all clips
ββ Overlays audio and effects
ββ Exports final MP4
Total: ~6-10 minutes
- Quick Start Guide - Get started in 5 minutes
- Configuration Guide - Local vs Cloud setup
- Implementation Summary - Technical details
# Test all dependencies
python3 test.py
# Test local LLM connection
python3 utils/llm_provider.py
# Test TTS providers
python3 utils/local_tts.py/tutorial-video-gen quickstart \
--repo ~/csglite \
--lang zh \
--output csglite-quickstart.mp4/tutorial-video-gen feature-tour \
--url http://localhost:3000 \
--duration 6 \
--lang en/tutorial-video-gen developer \
--repo ~/my-sdk \
--api-docs ~/my-sdk/docs/api \
--focus "Authentication"Edit templates/narration-styles.json:
casual- Friendly, conversationalformal- Professional, structuredtechnical- Expert-level terminologybeginner- Encouraging, slow-paced
# Higher quality (larger file)
VIDEO_QUALITY=18 /tutorial-video-gen quickstart
# Lower quality (smaller file)
VIDEO_QUALITY=28 /tutorial-video-gen quickstart# For Chinese
TTS_VOICE_ZH=zh-CN-YunxiNeural # Male
TTS_VOICE_ZH=zh-CN-XiaoxiaoNeural # Female (default)
# For English
TTS_VOICE_EN=en-US-GuyNeural # Male
TTS_VOICE_EN=en-US-JennyNeural # Female (default)csghub-lite servesource venv/bin/activate
pip install edge-tts# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpegpython3 -m playwright install chromium- Use 7B+ models for best results with local LLM
- Edge TTS is free and nearly matches Azure Speech quality
- Batch generate tutorials without API limits using local mode
- Start with quickstart scenario to verify setup
- Keep README updated for better AI analysis
- πΉ Save Time - Generate tutorials automatically instead of manual recording
- π Stay Updated - Regenerate tutorials when code changes
- π Reach More Users - Easy to create multilingual versions
- π° Zero Cost - Completely free when using local mode
- π Privacy - Your code never leaves your machine (local mode)
| Provider | Cost | Quality | Privacy | Installation |
|---|---|---|---|---|
| CSGLite + Edge TTS | Free | Very Good | β Local | Easy |
| DeepSeek + Edge TTS | $0.14/video | Very Good | Easy | |
| OpenAI (both) | $0.35/video | Best | Easy |
Contributions welcome! Areas for improvement:
- Add more tutorial scenarios
- Improve code highlighting
- Add subtitle generation
- Support more languages
- Custom branding options
- YouTube auto-upload
- Interactive video player
MIT License - see LICENSE
Built with:
- Claude Code - AI orchestration and workflow
- Playwright - Browser automation
- FFmpeg - Video processing
- Edge TTS - Free text-to-speech
- CSGLite - Local LLM inference
Made with β€οΈ for the open source community
Generate your first tutorial video in under 10 minutes - completely free!