Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions knowledge/repos/vllm-omni/models/seedvr2/rules.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: "SeedVR2 restoration 规则"
created: 2026-10-06
updated: 2026-10-12
updated: 2026-10-23
type: rule
tags: [vllm-omni, models, diffusion]
sources: ["PR #8102", "PR #8767"]
sources: ["PR #8102", "PR #8767", "PR #8505"]
confidence: high
---

Expand Down Expand Up @@ -105,3 +105,12 @@ confidence: high
- 验收:CPU 回归以 float64 参考对照,覆盖 outlier(如 256/300/60000)、全零、极小值(如 0.0001)、FP16/BF16/FP32 与 affine 开/关,断言输出 dtype、全部有限且与参考一致。^[PR #8767]

<!-- kb:rule status=active since=v0.30.0 -->

## VLLM-OMNI-PR8505-COMFY-SEEDVR2 — ComfyUI 整片修复以源 VIDEO 为时序权威并复用 /v1/videos 作业

- 触发:修改 `apps/ComfyUI-vLLM-Omni` 的 `VLLMOmniRestoreVideo` 节点、`comfyui_vllm_omni/utils/api_client.py` 的 `restore_video`/`_submit_video_job`,或 `bytes_to_restored_video` 解码路径。
- 强制:提交前在客户端校验 VIDEO 已连接、model 非空、width/height 为正的 16 倍数、timeout 为正,非法直接抛 ValueError,不发请求。修复请求必须复用共享 `_submit_video_job`(/v1/videos 作业管线),表单含占位 prompt、`size`、`num_inference_steps=1`、`guidance_scale=1`、seed,并把源视频以 `input_references` mp4 上传;`fps` 与 `num_frames` 保持未设置,由服务端从源读取。返回 MP4 的 encoder 可能把分数 FPS 取整,输出 VIDEO 必须用源 VIDEO 的 frame_rate 重建时序,并保留帧数与受支持的音频。节点需轮询 `processing_interrupted` 并取消当前 task;请求的 finally 负责有界作业清理,清理完成后重新抛出 ComfyUI 中断信号,watcher task 也在 finally 中回收;提交阶段 aiohttp 超时需包装为带上下文的 RuntimeError。
- 禁止:在表单设置 `fps`/`num_frames` 覆盖源时序;用返回 MP4 的 FPS 元数据证明时序保真;把 Stop 中断吞成正常返回、让作业清理无界或在清理后丢失中断异常;绕过 `_submit_video_job` 另写提交实现;放宽 16 倍数/非空/正数校验;把该整片节点描述成长视频窗口化支持(本 PR 只做整片,长视频是明确的后续提案)。
- 验收:缺 VIDEO、空 model、非 16 倍数尺寸、非正 timeout 均在提交前被拒;分数 FPS 源的输出采用源 frame_rate 且帧数/音频保持;表单合同断言 fps/num_frames 缺省、one-step 字段与 input_references;提交超时呈现为 RuntimeError;中断路径确认请求被取消、清理有界、最终仍抛出中断且 watcher 已回收。测试覆盖须按实际分层描述:`tests/e2e/features/comfyui/test_seedvr2_restoration.py` 以本地 aiohttp fixture 驱动客户端合同,`tests/e2e/features/comfyui/test_seedvr2_workflows.py` 只校验 workflow JSON 模板,真实 API 链路在 `tests/e2e/features/comfyui/test_comfyui_integration.py` 且 mock 掉 GPU 推理——不得把 fixture 或 JSON 校验宣称为对真实服务的 standalone/H3 验证。^[PR #8505]

<!-- kb:rule status=active since=v0.30.0 -->
Loading