From b6728db486a31d5e86fa167484f49e638357a430 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zeyu=20Huang=20=7C=20=E9=BB=83=E6=BE=A4=E5=AE=87?=
<11222265+fhfuih@users.noreply.github.com>
Date: Tue, 4 Aug 2026 19:51:12 +0800
Subject: [PATCH] [Frontend] Add ComfyUI support for r2v (MiniMax H3 as
example) (#5756)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Huang, Zeyu <11222265+fhfuih@users.noreply.github.com>
Signed-off-by: Zeyu Huang | 黃澤宇 <11222265+fhfuih@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---
apps/ComfyUI-vLLM-Omni/README.md | 10 +-
apps/ComfyUI-vLLM-Omni/__init__.py | 6 +
.../comfyui_vllm_omni/nodes.py | 100 +++-
.../comfyui_vllm_omni/utils/api_client.py | 98 +++-
.../comfyui_vllm_omni/utils/models.py | 63 ++-
.../comfyui_vllm_omni/utils/types.py | 10 +
.../docs/images/comfyui-video-generation.jpg | Bin 132038 -> 165302 bytes
.../vLLM-Omni Video Generation.json | 514 +-----------------
.../comfyui/test_comfyui_integration.py | 151 ++++-
9 files changed, 413 insertions(+), 539 deletions(-)
diff --git a/apps/ComfyUI-vLLM-Omni/README.md b/apps/ComfyUI-vLLM-Omni/README.md
index 54f2fdf2e..cbd53a9a0 100644
--- a/apps/ComfyUI-vLLM-Omni/README.md
+++ b/apps/ComfyUI-vLLM-Omni/README.md
@@ -47,7 +47,7 @@ If no, check your shell running the ComfyUI process. There may be some error mes
This extension offers the following nodes based on the output modalities (at **ComfyUI sidebar -> Node Library**):
- **Generate Image** for text-to-image and image-to-image tasks
-- **Generate Video** for text-to-video and image-to-video tasks
+- **Generate Video** for text-to-video, first-frame/image-to-video, and reference-conditioned video
- **Multimodality Understanding** for multimodality-to-text and multimodality-to-audio tasks
- **TTS** and **TTS Voice Clone** for TTS tasks
@@ -105,7 +105,7 @@ You can configure per-stage sampling parameters for multi-stage models.
> [!TIP]
> The node automatically choose text-to-image or image-to-image API endpoints depending on whether you connect an image input or not.
-### Text-to-video and image-to-video generation (e.g., Wan)
+### Text-to-video and image-to-video generation (e.g., Wan, MiniMax-H3)
(Also available at **ComfyUI sidebar->Template->vLLM-Omni->vLLM-Omni Video Generation**)
@@ -117,7 +117,11 @@ You can configure per-stage sampling parameters for multi-stage models.
> [!TIP]
-> The node automatically choose text-to-video or image-to-video API endpoints depending on whether you connect an image input or not.
+> Connect a **frame** image for first-frame / image-to-video (e.g., Wan I2V, MiniMax-H3 FL2VA).
+>
+> For reference-conditioned generation (MiniMax-H3 Ref2VA), connect a **Video References** node instead.
+>
+> Do not use `frame` and `references` together. Task routing is automatic from which inputs you connect.
### TTS (e.g., Qwen TTS series)
diff --git a/apps/ComfyUI-vLLM-Omni/__init__.py b/apps/ComfyUI-vLLM-Omni/__init__.py
index e89b2ca1e..268107899 100644
--- a/apps/ComfyUI-vLLM-Omni/__init__.py
+++ b/apps/ComfyUI-vLLM-Omni/__init__.py
@@ -15,11 +15,13 @@ from .comfyui_vllm_omni.nodes import (
VLLMOmniDiffusionSampling,
VLLMOmniGenerateImage,
VLLMOmniGenerateVideo,
+ VLLMOmniMiniMaxH3Params,
VLLMOmniQwenTTSParams,
VLLMOmniRemoteLoRA,
VLLMOmniSamplingParamsList,
VLLMOmniTTS,
VLLMOmniUnderstanding,
+ VLLMOmniVideoReferences,
VLLMOmniVoiceClone,
VLLMOmniWanParams,
)
@@ -32,6 +34,7 @@ NODE_CLASS_MAPPINGS = {
"VLLMOmniUnderstanding": VLLMOmniUnderstanding,
"VLLMOmniTTS": VLLMOmniTTS,
"VLLMOmniVoiceClone": VLLMOmniVoiceClone,
+ "VLLMOmniVideoReferences": VLLMOmniVideoReferences,
# === Params ===
"VLLMOmniARSampling": VLLMOmniARSampling,
"VLLMOmniDiffusionSampling": VLLMOmniDiffusionSampling,
@@ -39,6 +42,7 @@ NODE_CLASS_MAPPINGS = {
"VLLMOmniRemoteLoRA": VLLMOmniRemoteLoRA,
"VLLMOmniQwenTTSParams": VLLMOmniQwenTTSParams,
"VLLMOmniWanParams": VLLMOmniWanParams,
+ "VLLMOmniMiniMaxH3Params": VLLMOmniMiniMaxH3Params,
}
# A dictionary that contains the friendly/humanly readable titles for the nodes
@@ -49,6 +53,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"VLLMOmniUnderstanding": "Multimodality Understanding",
"VLLMOmniTTS": "TTS (Text to Speech)",
"VLLMOmniVoiceClone": "TTS Voice Cloning",
+ "VLLMOmniVideoReferences": "Video References",
# === Params ===
"VLLMOmniARSampling": "AR Sampling Params",
"VLLMOmniDiffusionSampling": "Diffusion Sampling Params",
@@ -56,6 +61,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"VLLMOmniRemoteLoRA": "LoRA",
"VLLMOmniQwenTTSParams": "Qwen TTS Params",
"VLLMOmniWanParams": "Wan Video Params",
+ "VLLMOmniMiniMaxH3Params": "MiniMax-H3 Video Params",
}
WEB_DIRECTORY = "./web"
diff --git a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py
index bfea93998..8fd00cd9c 100644
--- a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py
+++ b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py
@@ -10,7 +10,9 @@ from .utils.types import (
AudioFormat,
AutoregressionSamplingParams,
DiffusionSamplingParams,
+ MiniMaxH3ModelSpecificParams,
QwenTTSModelSpecificParams,
+ VideoReferences,
WanModelSpecificParams,
)
from .utils.validators import (
@@ -163,7 +165,8 @@ class VLLMOmniGenerateVideo(_VLLMOmniGenerateBase):
"num_frames": ("INT", {"default": 41, "min": 1}),
},
"optional": {
- "image": ("IMAGE",),
+ "frame": ("IMAGE",),
+ "references": ("VIDEO_REFERENCES",),
"sampling_params": ("SAMPLING_PARAMS",),
"lora": ("REMOTE_LORA",),
"model_params": ("VIDEO_PARAMS",),
@@ -174,6 +177,15 @@ class VLLMOmniGenerateVideo(_VLLMOmniGenerateBase):
RETURN_NAMES = ("video",)
FUNCTION = "generate"
+ @classmethod
+ def VALIDATE_INPUTS(cls, url, model, frame=None, references=None, **_kwargs) -> str | Literal[True]:
+ base = super().VALIDATE_INPUTS(url, model)
+ if base is not True:
+ return base
+ if frame is not None and references is not None:
+ return "Provide only one of frame or references, not both."
+ return True
+
async def generate(
self,
url: str,
@@ -184,7 +196,8 @@ class VLLMOmniGenerateVideo(_VLLMOmniGenerateBase):
fps: int,
num_frames: int,
negative_prompt: str | None = None,
- image: torch.Tensor | None = None,
+ frame: torch.Tensor | None = None,
+ references: dict | None = None,
sampling_params: dict | list[dict] | None = None,
model_params: dict | None = None,
lora: dict | None = None,
@@ -207,14 +220,16 @@ class VLLMOmniGenerateVideo(_VLLMOmniGenerateBase):
if sampling_params is not None:
sampling_params.pop("type", None) # internal fields
- if model_params is not None:
- model_params.pop("type", None) # internal fields
+ # model_params["type"] is also an internal field, but is used in api_client
+ # if model_params is not None:
+ # model_params.pop("type", None) # internal fields
client = VLLMOmniClient(url)
output = await client.generate_video(
model=model,
prompt=prompt,
- image=image, # image present => i2v, absent => t2v
+ frame=frame, # frame present => fl2va / Wan I2V
+ references=references,
width=width,
height=height,
num_frames=num_frames,
@@ -734,3 +749,78 @@ class VLLMOmniWanParams:
def get_params(self, **kwargs):
return (WanModelSpecificParams(kwargs),)
+
+
+class VLLMOmniMiniMaxH3Params:
+ @classmethod
+ def INPUT_TYPES(cls):
+ return {
+ "required": {
+ "audio_flow_shift": (
+ "FLOAT",
+ {"default": 3.0, "min": 0.0, "max": 100.0, "step": 0.1},
+ ),
+ "flow_shift": (
+ "FLOAT",
+ {"default": 12.0, "min": 0.0, "max": 100.0, "step": 0.1},
+ ),
+ }
+ }
+
+ RETURN_TYPES = ("VIDEO_PARAMS",)
+ RETURN_NAMES = ("MiniMax-H3 video params",)
+ FUNCTION = "get_params"
+ CATEGORY = "vLLM-Omni/Video Params"
+
+ def get_params(self, **kwargs):
+ params = MiniMaxH3ModelSpecificParams(kwargs)
+ params["type"] = "minimax_h3"
+ return (params,)
+
+
+class VLLMOmniVideoReferences:
+ @classmethod
+ def INPUT_TYPES(cls):
+ return {
+ "required": {},
+ "optional": {
+ "image_1": ("IMAGE",),
+ "image_2": ("IMAGE",),
+ "audio_1": ("AUDIO",),
+ "audio_2": ("AUDIO",),
+ "video_1": ("VIDEO",),
+ "video_2": ("VIDEO",),
+ },
+ }
+
+ RETURN_TYPES = ("VIDEO_REFERENCES",)
+ RETURN_NAMES = ("references",)
+ FUNCTION = "get_references"
+ CATEGORY = "vLLM-Omni"
+
+ def get_references(
+ self,
+ image_1: torch.Tensor | None = None,
+ image_2: torch.Tensor | None = None,
+ audio_1: AudioInput | None = None,
+ audio_2: AudioInput | None = None,
+ video_1: VideoInput | None = None,
+ video_2: VideoInput | None = None,
+ **kwargs,
+ ):
+ if kwargs:
+ logger.info("Uncaught kwargs: %s", kwargs)
+ refs = VideoReferences()
+ if image_1 is not None:
+ refs["image_1"] = image_1
+ if image_2 is not None:
+ refs["image_2"] = image_2
+ if audio_1 is not None:
+ refs["audio_1"] = audio_1
+ if audio_2 is not None:
+ refs["audio_2"] = audio_2
+ if video_1 is not None:
+ refs["video_1"] = video_1
+ if video_2 is not None:
+ refs["video_2"] = video_2
+ return (refs,)
diff --git a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/api_client.py b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/api_client.py
index 8600fe393..cd509244a 100644
--- a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/api_client.py
+++ b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/api_client.py
@@ -24,6 +24,7 @@ from .format import (
image_tensor_to_base64,
image_tensor_to_png_bytes,
video_to_base64,
+ video_to_bytes,
)
from .logger import get_logger, pretty_printer
from .models import lookup_model_spec
@@ -63,7 +64,11 @@ async def url_bytes(session: aiohttp.ClientSession, url: str, verb: str = "get",
class VLLMOmniClient:
def __init__(
- self, base_url: str, timeout: float | None = None, poll_interval: float = 5.0, max_poll_duration: float = 60 * 5
+ self,
+ base_url: str,
+ timeout: float | None = None,
+ poll_interval: float = 5.0,
+ max_poll_duration: float = 60 * 30,
):
self.base_url = base_url
self.timeout = aiohttp.ClientTimeout(total=timeout)
@@ -261,12 +266,17 @@ class VLLMOmniClient:
num_frames: int,
fps: int,
negative_prompt: str | None = None,
- image: torch.Tensor | None = None,
+ frame: torch.Tensor | None = None,
+ references: dict | None = None,
sampling_params: dict | None = None,
model_params: dict | None = None,
lora: dict | None = None,
- **extra_body,
+ **extra_params,
) -> VideoInput:
+ if frame is not None and references is not None:
+ raise ValueError("Provide only one of frame or references, not both.")
+
+ # === regular payload fields ===
form = aiohttp.FormData()
form.add_field("model", model)
form.add_field("prompt", prompt)
@@ -279,23 +289,91 @@ class VLLMOmniClient:
if sampling_params is not None:
for k, v in sampling_params.items():
form.add_field(k, str(v))
- if model_params is not None:
- for k, v in model_params.items():
- form.add_field(k, str(v))
if lora is not None:
form.add_field("lora", json.dumps(lora, ensure_ascii=False))
- if extra_body:
- form.add_field("extra_body", json.dumps(extra_body, ensure_ascii=False))
- if image is not None:
+ # === multimodal inputs (first-last-frames, references, etc.) ===
+ input_reference_image: torch.Tensor | None = None
+ audio_reference: AudioInput | None = None
+ reference_videos: list[VideoInput] = []
+ video_task: str | None = None
+
+ if frame is not None:
+ input_reference_image = frame
+ video_task = "fl2va"
+ elif references is not None:
+ images = [references[k] for k in ("image_1", "image_2") if k in references and references[k] is not None]
+ audios = [references[k] for k in ("audio_1", "audio_2") if k in references and references[k] is not None]
+ videos = [references[k] for k in ("video_1", "video_2") if k in references and references[k] is not None]
+
+ if not images and not audios and not videos:
+ raise ValueError("references is empty; connect at least one image/audio/video.")
+
+ if videos:
+ if images or audios:
+ raise ValueError(
+ "Video references cannot be combined with image or audio references. "
+ "Connect only video_1/video_2 for multi-video Ref2VA."
+ )
+ reference_videos = videos
+ video_task = "ref2va"
+ elif len(images) == 1 and len(audios) == 1:
+ input_reference_image = images[0]
+ audio_reference = audios[0]
+ video_task = "ref2va"
+ else:
+ raise ValueError(
+ "Invalid references combination. Supported modes: "
+ "(1) one or more videos only, or (2) exactly one image and one audio."
+ )
+ else:
+ video_task = "t2va"
+
+ if input_reference_image is not None:
image_filename = "image.png" # Required for multipart form
form.add_field(
"input_reference",
- image_tensor_to_png_bytes(image, image_filename),
+ image_tensor_to_png_bytes(input_reference_image, image_filename),
filename=image_filename,
content_type="image/png",
)
+ if audio_reference is not None:
+ form.add_field(
+ "audio_reference",
+ json.dumps({"audio_url": audio_to_base64(audio_reference)}, ensure_ascii=False),
+ )
+
+ for idx, video in enumerate(reference_videos, start=1):
+ video_filename = f"reference_{idx}.mp4"
+ form.add_field(
+ "input_references",
+ video_to_bytes(video, video_filename),
+ filename=video_filename,
+ content_type="video/mp4",
+ )
+
+ # === model specific params. Either use a specialized builder, or add flattened fields as-is ===
+ if model_params is not None:
+ model_params = dict(model_params)
+ model_params.pop("type", None)
+
+ spec, _ = lookup_model_spec(model)
+ params_builder = spec.get("params_builder") if spec else None
+ if params_builder is not None:
+ form_fields = params_builder(
+ model_params or {},
+ extra_params={**extra_params, "task": video_task},
+ )
+ for k, v in form_fields.items():
+ form.add_field(k, v if isinstance(v, str) else str(v))
+ else:
+ if model_params is not None:
+ for k, v in model_params.items():
+ form.add_field(k, str(v))
+ if extra_params:
+ form.add_field("extra_params", json.dumps(extra_params, ensure_ascii=False))
+
async with aiohttp.ClientSession(timeout=self.timeout) as session:
# Start the video generation job
url = f"{self.base_url}/videos"
diff --git a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/models.py b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/models.py
index bfeddd82b..3a37db16d 100644
--- a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/models.py
+++ b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/models.py
@@ -1,7 +1,12 @@
+import json
import re
+from typing import Any
+from .logger import get_logger
from .types import Modality, ModelMode, Spec
+logger = get_logger(__name__)
+
def _bagel_payload_preprocessor(payload: dict) -> dict:
try:
@@ -29,6 +34,30 @@ def _qwen25_payload_preprocessor(payload: dict) -> dict:
return payload
+def _minimaxh3_params_builder(
+ model_params: dict[str, Any],
+ *,
+ extra_params: dict[str, Any],
+) -> dict[str, Any]:
+ """Build multipart form fields for MiniMax-H3 from model_params + routed task."""
+ params = dict(model_params)
+ params.pop("type", None)
+ form_fields: dict[str, Any] = {}
+ merged_extra_params: dict[str, Any] = dict(extra_params or {})
+
+ if "flow_shift" in params:
+ form_fields["flow_shift"] = params.pop("flow_shift")
+ for key in ("audio_flow_shift",):
+ if key in params:
+ merged_extra_params[key] = params.pop(key)
+ if params:
+ logger.warning("Unused MiniMax-H3 model params ignored: %s", sorted(params))
+
+ if merged_extra_params:
+ form_fields["extra_params"] = json.dumps(merged_extra_params, ensure_ascii=False)
+ return form_fields
+
+
_MODEL_PIPELINE_SPECS: dict[str, Spec] = {
r"BAGEL-7B-MoT": {
"stages": [
@@ -71,6 +100,21 @@ _MODEL_PIPELINE_SPECS: dict[str, Spec] = {
}
],
},
+ r"MiniMax-H3(/FL2VA|/Ref2VA)?": {
+ "stages": ["diffusion"],
+ "modes": [
+ {
+ "mode": ModelMode.VIDEO_GENERATION,
+ "input_modalities": [
+ Modality.TEXT,
+ Modality.IMAGE,
+ Modality.VIDEO,
+ Modality.AUDIO,
+ ],
+ }
+ ],
+ "params_builder": _minimaxh3_params_builder,
+ },
}
# Convert dict keys to regex patterns
MODEL_PIPELINE_SPECS: dict[re.Pattern, Spec] = {}
@@ -80,12 +124,10 @@ del _MODEL_PIPELINE_SPECS
def lookup_model_spec(model: str) -> tuple[Spec | None, str | None]:
- try:
- last_component = model.rstrip("/").rsplit("/", 1)[-1]
- except IndexError:
- last_component = model
+ normalized = model.rstrip("/").lstrip("/")
+ lookup_key = normalized.split("/", 1)[-1]
for pattern, spec in MODEL_PIPELINE_SPECS.items():
- if pattern.search(last_component):
+ if pattern.search(lookup_key):
return spec, pattern.pattern
return None, None
@@ -101,6 +143,9 @@ if __name__ == "__main__":
"Qwen/Qwen3-Omni-30B-A3B-Instruct",
"Custom/Path/UnknownModel-Instruct",
"Not/Matching/Anything",
+ "/path/to/MiniMax-H3/FL2VA",
+ "/path/to/MiniMax-H3/Ref2VA",
+ "MiniMaxAI/MiniMax-H3",
]
test_payload = {"messages": [{"role": "user", "content": "prompt"}]}
@@ -112,7 +157,13 @@ if __name__ == "__main__":
if preprocessor := spec.get("payload_preprocessor"):
result = preprocessor(test_payload)
print(f"✓ {path:<40} → {result}")
+ elif params_builder := spec.get("params_builder"):
+ result = params_builder(
+ {"audio_flow_shift": 3.0, "flow_shift": 12.0, "type": "minimax_h3"},
+ extra_params={"task": "t2va"},
+ )
+ print(f"✓ {path:<40} → {result}")
else:
- print(f"✓ {path:<40} → No preprocessor")
+ print(f"✓ {path:<40} → No preprocessor/params_builder")
else:
print(f"✗ {path:<40} → No match")
diff --git a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/types.py b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/types.py
index cedd11068..e1ae43916 100644
--- a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/types.py
+++ b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/utils/types.py
@@ -23,6 +23,14 @@ class WanModelSpecificParams(dict):
pass
+class MiniMaxH3ModelSpecificParams(dict):
+ pass
+
+
+class VideoReferences(dict):
+ pass
+
+
class ModelMode(Enum):
IMAGE_GENERATION = auto()
VIDEO_GENERATION = auto()
@@ -43,9 +51,11 @@ class ModelModeSpec(TypedDict):
PayloadPreprocessor: TypeAlias = Callable[[dict[str, Any]], dict[str, Any]]
+ParamsBuilder: TypeAlias = Callable[..., dict[str, Any]]
class Spec(TypedDict):
stages: list[Literal["diffusion", "autoregression"]]
modes: list[ModelModeSpec]
payload_preprocessor: NotRequired[PayloadPreprocessor]
+ params_builder: NotRequired[ParamsBuilder]
diff --git a/apps/ComfyUI-vLLM-Omni/docs/images/comfyui-video-generation.jpg b/apps/ComfyUI-vLLM-Omni/docs/images/comfyui-video-generation.jpg
index a449a4eee70b9fdcb52bf4485e0e747a7f600b47..35a28bd5dc75010a6d14fa784dadb3fdfe74a3b2 100644
GIT binary patch
literal 165302
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
1m5;A_0LptxlxNBVP7{jPDVv
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