diff --git a/vllm/model_executor/models/qwen2_5_omni_thinker.py b/vllm/model_executor/models/qwen2_5_omni_thinker.py index 00382cf0a8..a0e9b84f34 100644 --- a/vllm/model_executor/models/qwen2_5_omni_thinker.py +++ b/vllm/model_executor/models/qwen2_5_omni_thinker.py @@ -509,6 +509,23 @@ class Qwen2_5OmniThinkerMultiModalProcessor( **mm_kwargs, ) + merged = self.info.ctx.get_merged_mm_kwargs(mm_kwargs) + if mm_data.get("videos") and ( + merged.keys() & {"size", "min_pixels", "max_pixels"} + ): + mm_kwargs = dict(mm_kwargs) + video_size = dict(self.info.get_hf_processor().video_processor.size) + size_override = merged.get("size") + if size_override is not None: + video_size = video_size | size_override + min_pixels = merged.get("min_pixels") + if min_pixels is not None: + video_size["shortest_edge"] = min_pixels + max_pixels = merged.get("max_pixels") + if max_pixels is not None: + video_size["longest_edge"] = max_pixels + mm_kwargs["size"] = video_size + hf_inputs = super()._call_hf_processor( prompt=prompt, mm_data=mm_data, diff --git a/vllm/model_executor/models/qwen3_vl.py b/vllm/model_executor/models/qwen3_vl.py index 5252afd78e..f86560e5f4 100644 --- a/vllm/model_executor/models/qwen3_vl.py +++ b/vllm/model_executor/models/qwen3_vl.py @@ -1272,6 +1272,19 @@ class Qwen3VLMultiModalProcessor(BaseMultiModalProcessor[Qwen3VLProcessingInfo]) # NOTE: a copy of is created to update do_sample_frames, # otherwise mm_hash for the object will be incorrect. video_mm_kwargs = dict(**mm_kwargs) + merged = self.info.ctx.get_merged_mm_kwargs(mm_kwargs) + if merged.keys() & {"size", "min_pixels", "max_pixels"}: + video_size = dict(self.info.get_video_processor().size) + size_override = merged.get("size") + if size_override is not None: + video_size = video_size | size_override + min_pixels = merged.get("min_pixels") + if min_pixels is not None: + video_size["shortest_edge"] = min_pixels + max_pixels = merged.get("max_pixels") + if max_pixels is not None: + video_size["longest_edge"] = max_pixels + video_mm_kwargs["size"] = video_size sampled_fps = video_mm_kwargs.get("fps") if is_list_of(sampled_fps, float): video_mm_kwargs["fps"] = sampled_fps[item_idx]