[Bugfix][MiniCPM-V] Fix AssertionError in get_dummy_mm_data when passing VideoDummyOptions to _get_dummy_images (#52122)

Signed-off-by: mayuyuace <qiming1.zhang@intel.com>

Qiming Zhang committed Aug 13, 2026 at 08:44 UTC 96acd473a7f1b4dd5a8e09752183617d3b82089e
1 file changed +18 -2
vllm/model_executor/models/minicpmv.py
+18 -2
@@ -44,7 +44,11 @@ from transformers.dynamic_module_utils import (
44 from typing_extensions import TypeVar
45
46 from vllm.config import VllmConfig
47 -from vllm.config.multimodal import BaseDummyOptions
47 +from vllm.config.multimodal import (
48 + BaseDummyOptions,
49 + ImageDummyOptions,
50 + VideoDummyOptions,
51 +)
52 from vllm.inputs import ModalityData, MultiModalDataDict
53 from vllm.model_executor.layers.quantization import QuantizationConfig
54 from vllm.model_executor.layers.resampler import (
@@ -811,6 +815,18 @@ class MiniCPMVDummyInputsBuilder(BaseDummyInputsBuilder[_I]):
815 image_overrides = mm_options.get("image")
816 video_overrides = mm_options.get("video")
817
818 + # Convert video overrides to image overrides for per-frame image generation,
819 + # and apply num_frames override to num_video_frames.
820 + video_frame_overrides: ImageDummyOptions | None = None
821 + if isinstance(video_overrides, VideoDummyOptions):
822 + if video_overrides.num_frames:
823 + num_video_frames = min(num_video_frames, video_overrides.num_frames)
824 + if video_overrides.width or video_overrides.height:
825 + video_frame_overrides = ImageDummyOptions(
826 + width=video_overrides.width,
827 + height=video_overrides.height,
828 + )
829 +
830 return {
831 "image": self._get_dummy_images(
832 width=image_width,
@@ -823,7 +839,7 @@ class MiniCPMVDummyInputsBuilder(BaseDummyInputsBuilder[_I]):
839 width=video_width,
840 height=video_height,
841 num_images=num_video_frames,
826 - overrides=video_overrides,
842 + overrides=video_frame_overrides,
843 )
844 ]
845 * num_videos,