Extract audio from short videos (Douyin/TikTok) and transcribe to text with timestamps. Use when user provides video URL and needs audio transcription.
Extract audio from Douyin/TikTok videos and transcribe to text using ASR service.
Convert Douyin/TikTok video audio to text with timestamps, supporting both interactive UI and command-line workflow.
Capabilities: Video parsing, audio extraction, ASR transcription, timestamp generation
Trigger: User provides Douyin/TikTok URL and requests transcription
Visual interface for transcription management:
# Install dependencies
cd skills/good-TTvideo2text
pip install -r requirements.txt
# Start service (default port 8000)
python app/main.py
# Browser access
http://localhost:8000
Features:
Suitable for automation, AI workflow integration:
# Basic usage
python scripts/transcribe.py "https://v.douyin.com/xxx"
# Extract URL from share text
python scripts/transcribe.py "7.47 复制打开抖音,看看【用户名】的作品 https://v.douyin.com/xxx"
# JSON output
python scripts/transcribe.py "https://v.douyin.com/xxx" --output json
# Text output (default)
python scripts/transcribe.py "https://v.douyin.com/xxx" --output text
Output Format (Text):
=== Video Info ===
Title: Video title
Author: Author name
Duration: 30s
=== Transcription ===
Full Text:
Complete transcription text...
Sentences with Timestamps:
[00:00-00:03] First sentence
[00:03-00:06] Second sentence
Output Format (JSON):
{
"success": true,
"video_info": {
"title": "Video title",
"author": "Author name",
"duration": 30,
"create_time": 1234567890
},
"transcription": {
"text": "Complete transcription...",
"sentences": [
{
"start_ms": 0,
"end_ms": 3000,
"text": "First sentence"
}
]
}
}
Dependencies:
ASR Configuration:
GOODABLE_ASR_SUBMIT_URL - ASR task submission endpointGOODABLE_ASR_QUERY_URL_TEMPLATE - ASR result query endpoint (with {task_id} placeholder)Cookie Configuration (Optional):
TikTokDownloader/settings.jsonExtract URL from input:
Call transcribe script:
python scripts/transcribe.py "USER_PROVIDED_TEXT"
Handle results:
| Error | Cause | Solution | |-------|-------|----------| | Invalid video URL | URL format incorrect | Ask user to provide valid Douyin/TikTok URL | | Video not found | Video deleted or requires login | Ask user to check video or provide cookies | | No audio found | Video has no background music | Inform user this video has no audio track | | ASR not configured | Environment variables missing | Run via Goodable platform (auto-injects vars) | | ASR timeout | Long audio or service slow | Retry or use Web UI for monitoring |
app/main.py - FastAPI application entryscripts/transcribe.py - Command-line transcription scriptTikTokDownloader/ - Video parsing library (source code)TikTokDownloader/settings.json - Cookie and configurationstatic/index.html - Web UI interfacerequirements.txt - Python dependenciesdownloads/ - Temporary file directoryhttps://v.douyin.com/xxxhttps://www.douyin.com/video/1234567890https://vm.tiktok.com/xxx, https://www.tiktok.com/@user/video/xxxUser: "帮我转写这个抖音视频 7.47 复制打开抖音 https://v.douyin.com/abc123"
AI: Let me transcribe this video for you.
[Calls transcribe.py script with the provided text]
Based on the transcription:
Video: "视频标题"
Author: 作者名
Transcription:
[00:00-00:03] 第一句话内容
[00:03-00:08] 第二句话内容
...
Full text:
完整的转写文本内容...
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Extract frames or short clips from videos using ffmpeg.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
Category:media-generate