# H3 Console 需求 / 设计文档(草案,待确认) 给 MiniMax-H3 视频生成加一个 Web 管理台:上传 → 生成 → 预览,外加模型/资产/任务/调度的统一视图。 本文档先定范围和方案,**代码还没写**,确认后再动手。 --- ## 一、现状(已有什么,不用重建) 服务器 `/data/models/minimax-h3/` 已经有一套两层服务,本目录 console 是**加在它前面的第三层**,不是替换: ``` 浏览器 │ ▼ [新增] H3 Console(Web UI + 上传/资产/任务持久化) ← 本文档要建的东西 │ 内部调用 ▼ gateway.py(已有,端口 8000) ← 四后端调度:选最闲的、按 fl2va/ref2va 分流、429 顶回去 │ ├─ api.py @ 8010 (GPU1, ref2va) ├─ api.py @ 8011 (GPU2, ref2va) ├─ api.py @ 8012 (GPU0, ref2va) └─ api.py @ 8013 (GPU3, ref2va) ``` `gateway.py` 已经做了:调度(选队列最短的健康后端)、分区路由(有首末帧→fl2va,否则→ref2va)、 限流(`H3_MAX_QUEUE`,满了直接 429)、健康聚合、任务查询/下载代理。**这部分不重做。** `gateway.py` **没有**:Web 界面、文件上传(现在参考图/首末帧只接受 URL,`_fetch_image` 内部用 `urllib.request.urlopen` 拉取)、任务持久化(`JOBS` 是内存 dict,进程重启就丢,`API.md` 里写明了)、 模型/资产的统一视图。这些是 console 要补的。 **一个关键约束,直接决定架构**:四个 `api.py` 后端**现在全部锁死在 `ref2va` 分区** (`start-all.sh` 写死 `H3_PARTITION=ref2va` ×4),**没有一个在跑 `fl2va`**。 所以你要的三个界面里,"上传首尾帧生成视频"这个功能**现在提交上去会 503** (gateway.py: `没有就绪的 fl2va 实例`)。这个必须先决定怎么办,见下面「需要你拍板」。 --- ## 二、范围 ### 三个生成界面 1. **文生视频**:输入 prompt + 参数(分辨率/帧数/步数/turbo/seed)→ 提交 → 走 ref2va(不给参考图退回纯文生)。 2. **首尾帧生视频**(FL2VA):上传首帧图(+可选尾帧)→ 提交 → 走 fl2va。 3. **多参考图生视频**(Ref2VA):上传任意多张参考图 → 提交 → 走 ref2va。 ### 统一管理视图 - **任务列表**:状态(排队/运行/完成/失败)、进度、耗时、峰值显存、缩略图,点开内联播放 `