设计与多媒体

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

DependencyPurposeInstall
FFmpegAudio/video processingapt install ffmpeg or brew install ffmpeg
yt-dlpShort video downloadpip install yt-dlp (included in requirements)
PyTorchWhisper/SadTalker inferenceSee official docs (CPU works but is slower)

5-Step Pipeline

Step 1: Download (modules/downloader.py)

  • Downloads video & extracts audio via yt-dlp from Douyin/TikTok/Kuaishou
  • Auto-detects platform; 120s timeout, 3 retries
  • Supports proxy (DOWNLOAD_PROXY env) for cloud server bypass

Step 2: Transcribe (modules/transcriber.py)

  • Whisper speech-to-text, default base model
  • 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

MethodPathDescription
POST/api/tasksSubmit a creation task (video URL)
POST/api/tasks/upload-videoUpload a video file directly (skip download)
POST/api/tasks/upload-audioUpload an audio file directly (skip download & transcribe)
GET/api/tasks/{task_id}Query task progress
POST/api/tasks/{task_id}/confirmConfirm rewritten text → start TTS
POST/api/tasks/{task_id}/upload-videoUpload 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)

VariableDefaultDescription
OPENAI_API_KEY""For AI rewriting; leave empty for rule-based fallback
OPENAI_BASE_URL""Compatible OpenAI third-party API
OPENAI_MODELgpt-4o-miniModel for rewrites
WHISPER_MODELbasetiny/base/small/medium/large
TTS_ENGINEedgeedge/melotts/cosyvoice
DIGITAL_HUMAN_MODEsadtalkersadtalker/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

  1. Short video repurposing - Extract speech from Douyin/TikTok/Kuaishou links, AI-rewrite into personal expression
  2. Digital human talking-head generation - Voice + photo → lip-synced talking-head video
  3. Style transformation - Removes influencer lingo, keeps core message
  4. Multi-engine TTS - Supports edge-tts / MeloTTS / CosyVoice
  5. Real-time progress tracking - Live 5-step pipeline status
  6. Graceful degradation - Falls back to rule rewriting (no API Key) or placeholder video (no GPU)

⚠️ Requires user-provided assets

  1. Voice cloning - Requires voice sample recordings (future release)
  2. HD digital human (>720p) - Needs paid API (HeyGen/D-ID)
  3. Lip-sync with original video - Needs Wav2Lip reference video (currently SadTalker single-image mode)
  4. Custom digital human avatar - User needs to provide a front-facing half-body photo
  5. Non-short-video platform URLs - Platforms other than Douyin/TikTok/Kuaishou need extra testing

❌ Out of scope

  1. Batch processing - Single link per submission (submit multiple times for batch)
  2. Video editing/cutting - Only extracts audio; no video editing
  3. Watermark removal - Operates on audio track only
  4. Deepfake/face swap - No face-swapping tech; lip-sync only
  5. Live stream processing - No live stream or m3u8 support
  6. Original content generation - Not responsible for factual accuracy of rewrites

🔒 Security & Privacy

  1. URL filtering - Only http/https allowed; rejects file:// protocol injection
  2. Timeout control - Each step has guard timeouts (120s~400s)
  3. Graceful degradation - Handles missing API Key / GPU without crashing
  4. File cleanup - data/temp/ cleaned after task completion
  5. Data isolation - Audio & transcripts stored per task_id
  6. API Key security - Read from .env, never logged
  7. Lightweight dependencies - All AI capabilities optional; default runs fully local

👤 Audience

User TypeHow to Use
Individual creatorsDeploy locally, paste links via Web UI
DevelopersIntegrate via REST API
TeamsDeploy on internal server, share across members
Non-technical usersUse a deployed instance (if available)

Reference Docs

  • references/faq.md — 20 FAQs + edge cases
  • references/anti-patterns.md — 7 common anti-patterns + fixes
  • references/quickstart.md — 10-second quick start
  • references/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

相关技能

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.

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.

1 次安装

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