输入视频链接,自动下载视频、语音转文字、生成平台文案,全流程本地运行,无需外部 API。
- 多平台支持:B站 / 抖音 / TikTok / 小红书 / YouTube 链接自动识别
- 视频下载:使用 yt-dlp 下载公开视频,保存元数据(标题、作者、时长、封面)
- 语音转文字:使用 faster-whisper 本地模型将视频音频转为文字(无需 FFmpeg)
- 文案生成:基于模板规则自动生成平台风格文案(标题、摘要、正文、标签),无需 AI API
- 文案编辑:支持手动编辑提取文本和生成的文案
- 视频下载:一键将已下载视频保存到本地
- 任务重跑:视频已下载时自动跳过下载,直接重新转录或生成文案
| 层级 | 技术 |
|---|---|
| 后端框架 | FastAPI + Uvicorn |
| 数据库 | SQLite + SQLModel |
| 视频下载 | yt-dlp |
| 语音识别 | faster-whisper(本地模型,CPU int8 量化) |
| 文案生成 | 模板规则引擎(本地,无需 API) |
| 前端 | Next.js 14 + React + TypeScript |
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS/Linux
pip install -e .
uvicorn app.main:app --reload --port 8001后端地址:http://localhost:8001
健康检查:http://localhost:8001/health
API 文档:http://localhost:8001/docs
cd frontend
npm install
npm run dev- 在首页输入视频链接(如
https://v.douyin.com/xxx/) - 点击"开始处理",系统自动执行:
- 解析视频元数据
- 下载视频文件
- 提取音频并语音转文字
- 生成平台风格文案
- 在任务详情页查看:
- 视频信息(封面、标题、作者、时长、文件位置)
- 提取文本(语音转文字结果,可编辑)
- AI 文案(标题、摘要、正文、标签,可编辑/重新生成)
- 点击"下载视频到本地"保存视频文件
backend/
app/
api/routes/ FastAPI 路由(tasks, videos, transcripts, copies)
core/ 配置和异常定义
db/ 数据库连接
models/ SQLModel 数据模型(Task, Video, Transcript, Copy)
platforms/ 平台识别适配器(B站/抖音/TikTok/小红书/YouTube)
schemas/ API 请求/响应 Schema
services/ 业务服务
downloader.py 视频下载(yt-dlp)
transcription.py 语音转文字(faster-whisper)
copy_generator.py 文案生成(模板规则)
tasks/ 异步管线(video_pipeline)
frontend/
app/ Next.js 页面
components/ UI 组件(VideoInfo, TranscriptPanel, CopyPanel 等)
lib/ API Client 和 TypeScript 类型
storage/
videos/ 下载的视频文件
transcripts/ 转录文本
exports/ 导出文件
创建任务 → 解析平台 → 下载视频 → 语音转文字 → 保存转录 → 生成文案 → 完成
5% 10% 30% 55% 65% 75% 100%
- 视频已下载时自动跳过下载步骤
- 转录或文案生成失败不会阻断整个流程
- 支持对已完成任务重新运行(如更换文案风格/平台)
创建 backend/.env 文件:
# 如需使用 AI 大模型替代模板生成(可选)
LLM_API_KEY=your-api-key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini- 不支持私密/付费/地区限制/需登录的视频内容
- 首次运行会自动下载 Whisper 模型(约 150MB),之后使用本地缓存
- 语音转文字使用 CPU 模式,较长视频处理可能需要几分钟
- 当前使用 FastAPI BackgroundTasks 后台执行,适合单用户使用
