diff --git a/python/sglang/multimodal_gen/configs/sample/sampling_params.py b/python/sglang/multimodal_gen/configs/sample/sampling_params.py index e5388df60..fd00f82dc 100644 --- a/python/sglang/multimodal_gen/configs/sample/sampling_params.py +++ b/python/sglang/multimodal_gen/configs/sample/sampling_params.py @@ -361,8 +361,6 @@ class SamplingParams: # TODO: SamplingParams should not rely on ServerArgs pipeline_config = server_args.pipeline_config - if not isinstance(self.prompt, str): - raise TypeError(f"`prompt` must be a string, but got {type(self.prompt)}") if self.guidance_scale is None: try: diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py b/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py index ace021b20..12631f137 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py @@ -8,6 +8,7 @@ This module provides a consolidated interface for generating images/videos using diffusion models. """ +import dataclasses import multiprocessing as mp import os import time @@ -165,15 +166,21 @@ class DiffGenerator: """ # 1. prepare requests prompts = self._resolve_prompts(sampling_params_kwargs.get("prompt")) - sampling_params = SamplingParams.from_user_sampling_params_args( + sampling_params_orig = SamplingParams.from_user_sampling_params_args( self.server_args.model_path, server_args=self.server_args, **sampling_params_kwargs, ) + user_output_file_name = sampling_params_kwargs.get("output_file_name") requests: list[Req] = [] for p in prompts: - sampling_params.prompt = p + sampling_params = dataclasses.replace( + sampling_params_orig, + prompt=p, + output_file_name=user_output_file_name, + ) + sampling_params._set_output_file_name() req = prepare_request( server_args=self.server_args, sampling_params=sampling_params, diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/utils.py b/python/sglang/multimodal_gen/runtime/entrypoints/utils.py index 95bc98ef7..3d9d8b45b 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/utils.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/utils.py @@ -298,6 +298,9 @@ def prepare_request( req.adjust_size(server_args) + if not isinstance(req.prompt, str): + raise TypeError(f"`prompt` must be a string, but got {type(req.prompt)}") + if (req.width is not None and req.width <= 0) or ( req.height is not None and req.height <= 0 ):