视频链接 / 文件 → 逐字稿 → 文案
> 版本:v1.0(SkillHub 公域版)
> 转写走远程通用转写 API(用户自备 Key),不在本地跑 whisper / torch,满足公域「开箱即用、无重依赖」。
目标
把用户丢来的一个视频链接或本地音视频文件走完三步:取音频 → 远程转写 → 出文案。产出两份文件:
1. 逐字稿.md:视频原话文字版(给 AI 当依据)。
2. 文案.md:基于逐字稿的再创作(短视频脚本 / 公众号文章 / 要点清单,按用户要的来)。
依赖
- 核心(必装):
pip install requests—— 仅此一个运行依赖。 - 转写 API Key(必填):自备一个兼容 OpenAI
/v1/audio/transcriptions的转写服务 Key,设为环境变量TRANSCRIBE_API_KEY。 - 可选(仅转平台链接时需要):
yt-dlp(pip install yt-dlp)+ 系统ffmpeg,用于从抖音/B站/YouTube 等抽音轨。 - 如果你只转本地音视频文件或 http(s) 直链,则完全不需要 yt-dlp / ffmpeg,零额外依赖。
工作流(单条视频)
-
取音频(仅远程链接需要;本地文件 / 直链跳过):
# 脚本内部自动处理,无需手动跑
- 本地文件 / http(s) 直链 → 直接送转写 API(零依赖)。
- 抖音/B站/YouTube 等平台链接 → 脚本用 yt-dlp(+ 可选 ffmpeg)抽音轨;抖音个别抽不到可设ASR_PROBE指向你的asr_get_audio.js兜底。 -
远程转写(一条命令):
python "<技能目录>/transcribe_url.py" --url "<视频URL或本地路径>" --out "<输出目录>/逐字稿.md"
脚本把音频送TRANSCRIBE_BASE_URL(默认 OpenAI 官方)转写 → 写逐字稿 md。 -
出文案:用下方「文案模板」基于逐字稿生成
文案.md。
文案模板(三选一,按用户意图)
- 短视频脚本:0–6s 翻车/共鸣画面 → 点题句"今天聊 X" → 反常识观点 → 金句 → 5 步清单 CTA → 人设收尾。严格过 Preflight 8 闸。
- 公众号文章:引子(共鸣) → 三个分论点(各带原话佐证) → 方法清单 → 行动建议 → 互动钩子。
- 要点清单:5–9 条 bullets,每条一句人话 + 一句来源(哪分几秒)。
红线
- 只转写授权可处理的视频;不转写涉密、侵权、未公开内部内容。
- 转写产物落本地工作目录,不外传。
- 文案不编造视频里没有的事实。
环境变量(用户自备,按需覆盖)
| 变量 | 默认 | 作用 |
|---|---|---|
TRANSCRIBE_API_KEY |
空(必填) | 转写服务 Key。没设会清晰报错并给出配置提示,不静默失败。 |
TRANSCRIBE_BASE_URL |
https://api.openai.com/v1/audio/transcriptions |
兼容 OpenAI 格式的转写端点。可指向 Groq、本地 whisper-server、或任意兼容网关(见下)。 |
TRANSCRIBE_MODEL |
whisper-1 |
模型名,按你的服务填写。 |
TRANSCRIBE_LANG |
空(自动) | 语种 zh / en 等;留空让服务自动识别。 |
> 推荐运行命令(国内,用兼容端点示例):
> TRANSCRIBE_API_KEY=你的Key TRANSCRIBE_BASE_URL=https://你的端点/v1/audio/transcriptions python transcribe_url.py --url "<URL或本地路径>" --out 逐字稿.md
国内可用转写端点建议(任选其一,自备 Key)
- OpenAI 官方:
TRANSCRIBE_BASE_URL留默认,Key 用 OpenAI 的(需可访问)。 - Groq:免费额度、兼容 OpenAI 格式,国内可尝试
https://api.groq.com/openai/v1/audio/transcriptions,Key 用 Groq 的。 - 本地 whisper-server(零云端依赖):本机起一个 OpenAI 兼容的 whisper 服务(如
faster-whisper-server),把TRANSCRIBE_BASE_URL指向http://127.0.0.1:PORT/v1/audio/transcriptions、TRANSCRIBE_API_KEY随便填。这样完全不依赖任何云端 Key。 - 其他兼容网关:任何把文件 POST 到
/v1/audio/transcriptions返回{"text": "..."}的服务都可直接用。
已知坑(本机实测 / 设计约束)
- 缺 Key 报错清晰:未设
TRANSCRIBE_API_KEY时脚本直接退出并提示配置,不会静默产出空稿。 - 直链 mp4 抽链失败:
yt-dlp -f bestaudio -g对裸 mp4 报「格式不可用」→ 脚本识别直链媒体后直接交 ffmpeg 下载,不走 yt-dlp 格式选择。 - yt-dlp 不在 PATH:装在本机 Python 的 Scripts 目录时,脚本自动退回
python -m yt_dlp。 - 平台强风控:抖音等若开启强风控,抽链可能失败(平台侧限制,非技能 bug);可自备
asr_get_audio.js设ASR_PROBE兜底,或改用本地文件 / 直链输入。