[Bugfix][Multimodal] Normalize direct PIL image inputs (#47566)

Signed-off-by: Ting Sun <suntcrick@gmail.com> Co-authored-by: Cyrus Leung <tlleungac@connect.ust.hk>

Ting SUN committed Jul 4, 2026 at 04:27 UTC 379950191f9d229a44c75d0256d95677fa34519c
1 file changed +8
vllm/multimodal/parse.py
+8
@@ -24,6 +24,7 @@ from vllm.utils.collection_utils import is_list_of
24 from vllm.utils.import_utils import LazyLoader
25
26 from .audio import AudioResampler, AudioSpec, normalize_audio
27 +from .image import convert_image_mode, normalize_image
28 from .inputs import (
29 AudioItem,
30 HfAudioItem,
@@ -621,6 +622,13 @@ class MultiModalDataParser:
622 else:
623 data_items = data
624
625 + data_items = [
626 + convert_image_mode(normalize_image(item), "RGB")
627 + if isinstance(item, PILImage.Image)
628 + else item
629 + for item in data_items
630 + ]
631 +
632 return ImageProcessorItems(data_items)
633
634 def _parse_video_data(