feat: 完成工作流调度与上传下载 API
This commit is contained in:
@@ -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% 行覆盖率。
|
||||
Reference in New Issue
Block a user