AI-assisted short video creation. User selects topic, aspect ratio, and duration. AI guides through video generation using the user's own API key (Kling/Doubao etc.). One-time payment ¥16.90 per creation.
设计与多媒体
AI Video Repurpose × Digital Human Dubbing
试用AI video repurposing × digital human dubbing web tool. Paste a Douyin/TikTok link → wait 3 minutes → get a digital human video that looks like YOU said it. 5-step pipeline: download → transcribe → rewrite → TTS → digital human.
它能做什么
AI video repurposing × digital human dubbing web tool. Paste a Douyin/TikTok link → wait 3 minutes → get a digital human video that looks like YOU said it. 5-step pipeline: download → transcribe → rewrite → TTS → digital human.
技能文档
AI Video Repurpose × Digital Human Dubbing
Core Scenario
Paste a Douyin/TikTok short video link → wait ~3 minutes → get a video that looks like YOU said it
Architecture
Paste link → [Download] → [Transcribe] → [AI Rewrite] → [TTS] → [Digital Human] → Deliver
yt-dlp Whisper LLM edge-tts SadTalker
Quick Start
🏃 3-step setup
cd ai-recreator
# 1️⃣ Install dependencies
pip install -r backend/requirements.txt
# 2️⃣ Configure (at minimum set your API Key)
cp backend/.env.example backend/.env # then edit .env with your key
# 3️⃣ Start
cd backend && uvicorn main:app --host 0.0.0.0 --port 8080
Open http://localhost:8080 in your browser → paste a Douyin link → click "Start" → wait 3 minutes → get your digital human video.
Prerequisites
| Dependency | Purpose | Install |
|---|---|---|
| FFmpeg | Audio/video processing | apt install ffmpeg or brew install ffmpeg |
| yt-dlp | Short video download | pip install yt-dlp (included in requirements) |
| PyTorch | Whisper/SadTalker inference | See official docs (CPU works but is slower) |
5-Step Pipeline
Step 1: Download (modules/downloader.py)
- Downloads video & extracts audio via
yt-dlpfrom Douyin/TikTok/Kuaishou - Auto-detects platform; 120s timeout, 3 retries
- Supports proxy (
DOWNLOAD_PROXYenv) for cloud server bypass
Step 2: Transcribe (modules/transcriber.py)
- Whisper speech-to-text, default
basemodel - Model cascade: tiny → base → small → medium → large
- Cached per task to avoid re-transcription
Step 3: AI Rewrite (modules/rewriter.py)
- LLM rewrites short-video copy into natural, personal speech
- Strips influencer buzzwords ("hey guys", "OMG", etc.)
- Supports custom style prompts
- Falls back to rule-based rewrite when no API Key is set
Step 4: TTS Synthesis (modules/tts_engine.py)
- Default edge-tts (free, fast, great Chinese)
- Supports MeloTTS / CosyVoice switching
- Auto-splits long text + ffmpeg concatenation
Step 5: Digital Human (modules/digital_human.py)
- Default SadTalker: single photo → talking-head video
- Falls back to audio+placeholder video when SadTalker unavailable
- Wav2Lip interface reserved
API Reference
| Method | Path | Description |
|---|---|---|
| POST | /api/tasks | Submit a creation task (video URL) |
| POST | /api/tasks/upload-video | Upload a video file directly (skip download) |
| POST | /api/tasks/upload-audio | Upload an audio file directly (skip download & transcribe) |
| GET | /api/tasks/{task_id} | Query task progress |
| POST | /api/tasks/{task_id}/confirm | Confirm rewritten text → start TTS |
| POST | /api/tasks/{task_id}/upload-video | Upload reference video for lip-sync |
| GET | /api/output/{task_id}/{filename} | Download generated video |
| GET | / | Web UI |
Submit a task (URL)
curl -X POST http://localhost:8080/api/tasks \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.douyin.com/video/xxxxx",
"custom_prompt": "Make it more casual and humorous",
"tts_voice": "zh-CN-XiaoxiaoNeural"
}'
Upload a video file (skip download)
curl -X POST http://localhost:8080/api/tasks/upload-video \
-F "file=@/path/to/your/video.mp4" \
-F "custom_prompt=Use a friendly tone"
Configuration (.env)
| Variable | Default | Description |
|---|---|---|
| OPENAI_API_KEY | "" | For AI rewriting; leave empty for rule-based fallback |
| OPENAI_BASE_URL | "" | Compatible OpenAI third-party API |
| OPENAI_MODEL | gpt-4o-mini | Model for rewrites |
| WHISPER_MODEL | base | tiny/base/small/medium/large |
| TTS_ENGINE | edge | edge/melotts/cosyvoice |
| DIGITAL_HUMAN_MODE | sadtalker | sadtalker/wav2lip/api |
| DOWNLOAD_PROXY | "" | HTTP proxy for download (e.g. http://127.0.0.1:7890) |
File Structure
ai-recreator/
├── README.md # Project overview
├── SKILL.md # This skill definition
├── skill-card.md # ClawHub listing card
├── .gitignore # Git ignore rules
├── cookies.example.txt # Cookie template (optional)
├── backend/
│ ├── main.py # FastAPI entry point
│ ├── config.py # Config management
│ ├── models.py # Data models
│ ├── task_manager.py # Task queue manager
│ ├── pipeline.py # Pipeline orchestrator
│ ├── requirements.txt # Python dependencies
│ ├── .env.example # Config template (copy to .env)
│ ├── assets/ # Static assets
│ │ └── default_avatar.png
│ └── modules/
│ ├── file_handler.py # File upload handling
│ ├── downloader.py # Video downloader
│ ├── transcriber.py # Speech-to-text
│ ├── rewriter.py # AI text rewriting
│ ├── tts_engine.py # Text-to-speech
│ └── digital_human.py # Digital human generator
├── frontend/
│ ├── index.html # Single-page Web UI
│ └── static/ # Static assets
├── references/
│ ├── faq.md # FAQ (20 questions)
│ ├── anti-patterns.md # Anti-patterns guide
│ ├── quickstart.md # Quick start guide
│ └── privacy.md # Privacy & data handling
└── data/
├── downloads/ # Download cache
├── audio/ # TTS output
├── transcripts/ # Transcription results
├── rewrites/ # Rewrite results
├── output/ # Final videos
└── temp/ # Temporary files
Capability Boundaries
✅ What it does well
- Short video repurposing - Extract speech from Douyin/TikTok/Kuaishou links, AI-rewrite into personal expression
- Digital human talking-head generation - Voice + photo → lip-synced talking-head video
- Style transformation - Removes influencer lingo, keeps core message
- Multi-engine TTS - Supports edge-tts / MeloTTS / CosyVoice
- Real-time progress tracking - Live 5-step pipeline status
- Graceful degradation - Falls back to rule rewriting (no API Key) or placeholder video (no GPU)
⚠️ Requires user-provided assets
- Voice cloning - Requires voice sample recordings (future release)
- HD digital human (>720p) - Needs paid API (HeyGen/D-ID)
- Lip-sync with original video - Needs Wav2Lip reference video (currently SadTalker single-image mode)
- Custom digital human avatar - User needs to provide a front-facing half-body photo
- Non-short-video platform URLs - Platforms other than Douyin/TikTok/Kuaishou need extra testing
❌ Out of scope
- Batch processing - Single link per submission (submit multiple times for batch)
- Video editing/cutting - Only extracts audio; no video editing
- Watermark removal - Operates on audio track only
- Deepfake/face swap - No face-swapping tech; lip-sync only
- Live stream processing - No live stream or m3u8 support
- Original content generation - Not responsible for factual accuracy of rewrites
🔒 Security & Privacy
- URL filtering - Only http/https allowed; rejects file:// protocol injection
- Timeout control - Each step has guard timeouts (120s~400s)
- Graceful degradation - Handles missing API Key / GPU without crashing
- File cleanup -
data/temp/cleaned after task completion - Data isolation - Audio & transcripts stored per task_id
- API Key security - Read from
.env, never logged - Lightweight dependencies - All AI capabilities optional; default runs fully local
👤 Audience
| User Type | How to Use |
|---|---|
| Individual creators | Deploy locally, paste links via Web UI |
| Developers | Integrate via REST API |
| Teams | Deploy on internal server, share across members |
| Non-technical users | Use a deployed instance (if available) |
Reference Docs
references/faq.md— 20 FAQs + edge casesreferences/anti-patterns.md— 7 common anti-patterns + fixesreferences/quickstart.md— 10-second quick startreferences/privacy.md— Privacy & data handling
Version History
- v1.0.1 (2026-07-29): Fixed .env startup crash; added DOWNLOAD_PROXY; added --js-runtimes node; added upload-audio/upload-video endpoints; privacy docs & config template
- v1.0.0 (2026-07-28): Initial release. 5-step pipeline, Web UI, REST API, multi-engine TTS, SadTalker digital human, graceful degradation
相关技能
Polish an existing AI-generated short video with a focused realism retouch. This focused AI video retouch refines artificial lighting, synthetic materials, oversaturated color, and repeated or distracting detail in one selected pass, while carrying forward the shot's subject, camera framing, timing, and intended mood. Use it for AI video cleanup, video retouching, natural-looking video polish, product clips, ad creative, social video, and short-form footage that needs a cleaner, more believable finish.
Create a Douyin shopping video, Douyin UGC ad, or AI creator product pitch from a product photo, product details, and an on-camera direction. This AI UGC ad creator composes a vertical presenter frame with the product, shapes a conversational hook and spoken recommendation, and delivers a short Douyin product video for launches, creator-style reviews, demonstrations, unboxings, and paid social creative.
Turn recordings and transcripts into an askable digital-human course.
Turn final short-video scripts into ready-to-edit voiceover audio for TikTok, Reels, YouTube Shorts, product reviews, hook lines, explainers, and ads. This AI voice over generator, AI voice reader, and text-to-speech voiceover workflow makes scripts speakable, helps choose a suitable voice and supported language, and tunes pacing, pauses, names, numbers, brands, and pronunciation. Review the current price estimate, create MP3 voiceover audio, compare the returned duration with the target edit, and place the narration into short-form video, captions, avatar, lip-sync, and publishing workflows.
Use when the user wants to extract spoken text from a Douyin video link and produce a corrected, readable Chinese transcript