feat: 完成工作流调度与上传下载 API

This commit is contained in:
cat-shark
2026-08-08 21:04:21 +08:00
commit a8d11eafc6
32 changed files with 3675 additions and 0 deletions
+88
View File
@@ -0,0 +1,88 @@
# WOV API
## 启动
```powershell
cd wov-api
uv sync
uv run uvicorn app.main:app --reload
```
启动后:
```text
http://127.0.0.1:8000/ 用户端
http://127.0.0.1:8000/admin.html 管理后台
http://127.0.0.1:8000/docs API 文档
```
首次启动会自动注册 `wov-node-*` 下的节点,并创建并发布 `demo` 视频字幕工作流。
## Linux 运行
```bash
cd wov-api
uv sync
uv run uvicorn app.main:app --host 0.0.0.0 --port 8000
```
Linux 上 ffmpeg 可用系统包安装,节点也会自动使用节点仓库自己的 `.venv/bin/python`
```bash
sudo apt install ffmpeg
```
如果不想安装系统 ffmpeg`wov-node-ffmpeg``imageio-ffmpeg` 依赖会提供内置二进制。
## M5 视频字幕依赖
### FFmpeg
确保 `ffmpeg` 在 PATH 中,或设置:
```powershell
$env:FFMPEG_BIN="C:\path\to\ffmpeg.exe"
```
### Faster-Whisper
节点会优先使用节点仓库自己的 `.venv`,所以在 `wov-node-whisper` 中安装:
```powershell
cd wov-node-whisper
uv add faster-whisper
```
设置模型路径:
```powershell
$env:WHISPER_MODEL_PATH="C:\models\faster-whisper-large-v3"
```
未设置时默认使用 `large-v3`,需要能联网下载 Hugging Face 模型。
### LLM 翻译
在启动 `wov-api` 的终端设置 OpenAI 兼容接口:
```powershell
$env:LLM_API_BASE="http://192.168.123.70:8080/v1/chat/completions"
$env:LLM_MODEL="default"
```
该接口无需 key;如不使用当前默认接口,再按需设置 `LLM_API_BASE``LLM_API_KEY`
## 使用
1. 打开 `http://127.0.0.1:8000/`
2. 在“视频字幕生成”中上传视频。
3. 页面会轮询任务进度。
4. 完成后下载 `cn_srt``ass` 两个产物。
## 测试
```powershell
uv run pytest
```
测试必须保持 100% 行覆盖率。