media-to-transcript
Convert audio/video URLs or local media into corrected Markdown transcripts through Volcengine recording-file ASR 2.0.
Skill by bozhouDev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bozhoudev-media-to-transcript
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/media-to-transcript
What's inside
- Skill name
media-to-transcript- Description
- Convert audio/video URLs or local media into corrected Markdown transcripts through Volcengine recording-file ASR 2.0. Reuses the existing video-transcript downloader for Bilibili, Douyin, Xiaohongshu, YouTube, extracts audio when input is video, uploads local audio to R2, splits media longer than 3 minutes into parallel AUC tasks, submits volc.seedasr.auc with compact source context, then performs AI correction with topic/context/glossary. Use when the user asks for "逐字稿", "提取逐字稿", "视频转文字", "音频转文字", "转写", "听写视频", "提取视频文案", or wants a polished transcript.
- License
- MIT
- Instructions
- 137 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- .gitignore
- README.md
- SKILL.md
- openai.yaml · agents/
- correction-guidelines.md · references/
- media_to_transcript.py · scripts/
SKILL.md (first lines)
# Media To Transcript Use this skill to turn audio or video into a final Markdown transcript. The only ASR backend for this skill is Volcengine recording-file recognition 2.0: - submit endpoint: `https://openspeech.bytedance.com/api/v3/auc/bigmodel/submit` - query endpoint: `https://openspeech.bytedance.com/api/v3/auc/bigmodel/query` - resource id: `volc.seedasr.auc` Do not use another ASR backend for this skill. ## Workflow 1. Run the doctor if this is the first run, after environment changes, or after an error: ```bash SKILL_DIR="<SKILL_ROOT>/media-to-transcript" rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" --doctor ``` 2. Run the pipeline from the notes vault root: ```bash SKILL_DIR="<SKILL_ROOT>/media-to-transcript" rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" "<URL或本地媒体路径>" --topic "视频主题或关键词" --language zh-CN ``` The script automatically builds AUC `context` from available media metadata such as title, platform, author, duration, description, and short source URL. It keeps this ASR context under 500 Chinese characters. User-provided `--topic`, `--context`, and `--context-file` are also included in the same 500-character AUC context budget. For downloaded or local media longer than 180 seconds, the script splits audio into 3-minute chunks, uploads each chunk, submits AUC tasks in parallel, and merges the returned utterances back onto the original timeline. 3. Read the generated `correction-prompt.md` and `raw-transcript.md`. 4. Apply the AI correction rules in `references/correction-guidelines.md`. 5. Save the corrected transcript to the `finalTranscriptTarget` path printed by the script, and show the full transcript to the user unless they explicitly only asked for a file. ## CLI ```bash SKILL_DIR="<SKILL_ROOT>/media-to-transcript" # Video URL: download video, extract mp3, upload to R2, then run AUC ASR rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" "https://www.bilibili.com/video/BVxxx" --topic "AI 编程工具评测" # Local audio/video rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" "/path/to/audio.mp3" --media-kind audio --topic "访谈" # Add context or terminology hints for ASR and correction rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" video.mp4 \ --topic "Claude Code 和 Codex 使用经验" \ --context "技术词: Codex, Claude Code, MCP, HyperFrames, R2" \ --context-file "AI Wiki/raw/some-material.md" # Enable Volcengine utterance emotion labels when explicitly useful rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" video.mp4 --emotion --topic "访谈" # Convert an existing AUC result JSON into raw transcript + correction prompt rtk python3 "$SKILL_DIR/scripts/media_to_transcript.py" --from-asr-json asr/auc-result.json --title "视频标题" ``` ## Outputs Each run writes a timestamped directory under `outputs/` unless `--out-dir` is provided: - `audio/`: extracted/converted mp3 when the input is video or unsupported audio - `audio/chunks/`: 3-minute mp3 chunks when media exceeds 180 seconds - `asr/auc-submit.json` or `asr/auc-submit-001.json`: submitted request metadata, with the API key omitted - `asr/auc-result.json` or `asr/auc-result-001.json`: raw Volcengine recording-file recognition result - `asr/auc-result-combined.json`: merged AUC result for multi-chunk runs - `raw-transcript.md`: transcript-shaped draft generated from AUC utterances - `correction-prompt.md`: prompt for the AI correction pass - `transcript.md`: target path for the final corrected transcript - `run-summary.json`: machine-readable paths and metadata The final user-facing artifact is `transcript.md`. Do not treat `auc-result.json` as final copy; it is ASR evidence for correction. ## Options | Option | Description | |---|---| | `--title <title>` | Override detected title. | | `--topic <text>` | Topic/theme used during ASR context and correction. Can be repeated. | | `--context <text>` | Extra terminology or context for ASR/correction. Can be repeated. | | `--context-file <path>` | Read extra context from a local file. Can be repeated. | | `--language <lang>` | ASR language. Default: `zh-CN`. | | `--speaker` | Request speaker clustering when useful for interviews. | | `--emotion` | Enable AUC utterance emotion detection. Default: off. | | `--chunk-seconds <seconds>` | Split downloaded/local audio longer than this. Default: `180`. | | `--concurrency <n>` | Parallel AUC chunk tasks. Default: `3`. | | `--media-kind <auto|audio|video>` | Force media kind. Default: `auto`. | | `--download <auto|always|never>` | Download URL before ASR. Default: `auto`; direct public mp3/wav/ogg URLs may skip download. | | `--out-dir <path>` | Output directory. Default: skill `outputs/<timestamp>-<title>`. | | `--r2-prefix <prefix>` | R2 object prefix for uploaded local audio. | | `--from-asr-json <path>` | Skip download/ASR and build transcript artifacts from an existing AUC result JSON. | | `--json` | Print machine-readable summary to stdout. | | `--doctor` | Check dependencies and required env vars. | ## API Setup Preferred key location is your current workspace `.env.r2`, or any environment file loaded by the script: ```bash VOLCENGINE_SPEECH_API_KEY=你的新版控制台APIKey ``` Accepted key names: - `VOLCENGINE_SPEECH_API_KEY` (preferred) - `VOLCENGINE_AUC_API_KEY` - `SEEDASR_API_KEY` - `AUC_API_KEY` If `--doctor` does not find this API key, use this setup path: 1. Open [录音文件识别服务开通](https://console.volcengine.com/speech/new/setting/activate) and enable “录音文件识别 2.0”. 2. Open [API Key 管理](https://console.volcengine.com/speech/new/setting/apikeys) and create an API Key. 3. Put the key into your workspace `.env.r2` as `VOLCENGINE_SPEECH_API_KEY=...`, or export it in the shell before running the script. Local files still need R2 because AUC requires a public audio URL: - `R2_ACCESS_KEY_ID`
From bozhouDev/video-skills-toolkit, MIT.
More from bozhouDev/video-skills-toolkit
- 0.744score
douyin-cover
bozhouDev
生成抖音、视频号、小红书等短视频封面图、视频标题图和合集封面,也能诊断和改版已有封面。用户说做封面、生成封面、抖音封面、视频封面、标题图、合集封面、3:4、4:3、1:1、短视频首图、动态封面首帧、给这期视频做图、这封面为什么没人点、帮我改封面、封面点击率怎么提升、诊断封面时都应使用。小白学AI系列封面除外:遇到“小…
SkillBFreshness: B★ 153Claude Code +9 - 0.744score
music
bozhouDev
Generate music using ElevenLabs Music API.
SkillBFreshness: B★ 153Claude Code +9 - 0.744score
audio-to-subtitles
bozhouDev
Convert local audio/video files or public media URLs into subtitle files by uploading local files to Cloudflare R2 and calling Volcengine AI MediaKit ASR…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
hyperframes-scene-animator
bozhouDev
接管 talking-head-hyperframes 的 READY_FOR_EXECUTION 交接,由主 Agent 完成字幕分镜与具体导演,先交付全镜头最终静态页审核,批准后再用快速子 Agent 协助实现互不冲突的镜头与动效,最后完成 HyperFrames proof、四遍审查与…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
minimax-voice-director
bozhouDev
用 MiniMax 云端为视频制作可审批的声音导演稿,再生成、挑选和验收人声,最后以定稿音频产生字幕。用于用户明确选择 MiniMax 配音、继续已有 MiniMax 视频配音项目,或明确请求 MiniMax Voice ID/克隆/设计。泛指本地 TTS 或 IndexTTS 不使用本…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
talking-head-hyperframes
bozhouDev
为 HyperFrames 口播或旁白项目创建、修复并验证固定舞台,锁定数字人 PIP 的区域、裁切、人物安全区和不透明背景,归档输入,生成 manifest 与 template handoff,并在就绪后按“字幕驱动的全镜头静态审核→动效”门禁路由到…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
video-script
bozhouDev
使用已经锁定的完整口播音频与带时间码字幕,把确认后的逐字稿转成管线无关的视频导演方案和 Beat Graph。适用于“根据最终配音做分镜”“按字幕设计整片画面”“规划 B-roll/证据/素材”“做 HyperFrames 或 Remotion…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
viral-video-benchmark
bozhouDev
判断、扫描、拆解并归档抖音视频、小红书图文或小红书视频。实时读取用户同平台粉丝数并划分主对标池/跨级灵感池,用已登录浏览器读取目标作品和作者主页公开指标,再用确定性代码判定普通、小爆、爆款、现象级并扫描作者近 20 条候选;只对用户选中的爆款和现象级先构建可追溯证据包,再调用子 Agent…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
content-remix
bozhouDev
把已经完成八部分拆解的抖音视频、小红书图文或小红书视频,迁移成泊舟自己的小红书图文、抖音口播或小红书视频内部草稿。用户说“做二创”“按这个爆款做我的版本”“参考这个机制重新创作”“把这个拆解写成小红书/抖音”“不要照抄地借鉴”时使用;先提炼可迁移机制、删除不可照搬内容、映射泊舟真实经历/案例/判断,再按目标平台重新组…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
hook-writing
bozhouDev
为内容写钩子和开头,也可拆解爆款视频开头、逐字稿开头、文章、推文、小红书图文和短视频脚本里的钩子,并沉淀到钩子库。用于视频开头拆解、逐字稿开头分析、推文、文章、小红书图文、短视频脚本、标题和开头优化;当用户说“写个钩子”“开头不抓人”“第一句话怎么写”“标题不够抓人”“优化开头”“拆解这个视频开头”“拆解逐字稿开头”…
SkillBFreshness: B★ 153Claude Code +9 - 0.738score
video-transcript
bozhouDev
Deprecated compatibility package.
SkillBFreshness: B★ 153Claude Code +9
Signals
- Stars
- 153
- Forks
- 76
- Open issues
- 0
- Last commit (this folder)
- Jul 27, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bozhouDev
- 0.744score
douyin-cover
bozhouDev
生成抖音、视频号、小红书等短视频封面图、视频标题图和合集封面,也能诊断和改版已有封面。用户说做封面、生成封面、抖音封面、视频封面、标题图、合集封面、3:4、4:3、1:1、短视频首图、动态封面首帧、给这期视频做图、这封面为什么没人点、帮我改封面、封面点击率怎么提升、诊断封面时都应使用。小白学AI系列封面除外:遇到“小…
SkillBFreshness: B★ 153Claude Code +9 - 0.744score
music
bozhouDev
Generate music using ElevenLabs Music API.
SkillBFreshness: B★ 153Claude Code +9 - 0.744score
audio-to-subtitles
bozhouDev
Convert local audio/video files or public media URLs into subtitle files by uploading local files to Cloudflare R2 and calling Volcengine AI MediaKit ASR…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
hyperframes-scene-animator
bozhouDev
接管 talking-head-hyperframes 的 READY_FOR_EXECUTION 交接,由主 Agent 完成字幕分镜与具体导演,先交付全镜头最终静态页审核,批准后再用快速子 Agent 协助实现互不冲突的镜头与动效,最后完成 HyperFrames proof、四遍审查与…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
minimax-voice-director
bozhouDev
用 MiniMax 云端为视频制作可审批的声音导演稿,再生成、挑选和验收人声,最后以定稿音频产生字幕。用于用户明确选择 MiniMax 配音、继续已有 MiniMax 视频配音项目,或明确请求 MiniMax Voice ID/克隆/设计。泛指本地 TTS 或 IndexTTS 不使用本…
SkillBFreshness: B★ 153Claude Code +9 - 0.740score
talking-head-hyperframes
bozhouDev
为 HyperFrames 口播或旁白项目创建、修复并验证固定舞台,锁定数字人 PIP 的区域、裁切、人物安全区和不透明背景,归档输入,生成 manifest 与 template handoff,并在就绪后按“字幕驱动的全镜头静态审核→动效”门禁路由到…
SkillBFreshness: B★ 153Claude Code +9
Cite this page
media-to-transcript skill. Agent Mart. https://agentmart.dev/skills/bozhoudev-media-to-transcript (last updated 2026-10-24)