diff --git a/examples/offline_inference/image_to_image/image_edit.py b/examples/offline_inference/image_to_image/image_edit.py index 96ea35a4b..2f1a8166d 100644 --- a/examples/offline_inference/image_to_image/image_edit.py +++ b/examples/offline_inference/image_to_image/image_edit.py @@ -110,7 +110,7 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--negative_prompt", type=str, - default=" ", + default=None, required=False, ) parser.add_argument( diff --git a/examples/offline_inference/text_to_image/text_to_image.py b/examples/offline_inference/text_to_image/text_to_image.py index fdb7c8a0a..b07dbb27a 100644 --- a/examples/offline_inference/text_to_image/text_to_image.py +++ b/examples/offline_inference/text_to_image/text_to_image.py @@ -24,7 +24,9 @@ def parse_args() -> argparse.Namespace: ) parser.add_argument("--prompt", default="a cup of coffee on the table", help="Text prompt for image generation.") parser.add_argument( - "--negative_prompt", default="", help="negative prompt for classifier-free conditional guidance." + "--negative_prompt", + default=None, + help="negative prompt for classifier-free conditional guidance.", ) parser.add_argument("--seed", type=int, default=142, help="Random seed for deterministic results.") parser.add_argument( diff --git a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image.py b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image.py index 87c7c2f73..5ae8228a0 100644 --- a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image.py +++ b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image.py @@ -642,8 +642,8 @@ class QwenImagePipeline( def forward( self, req: OmniDiffusionRequest, - prompt: str | list[str] = "", - negative_prompt: str | list[str] = "", + prompt: str | list[str] | None = None, + negative_prompt: str | list[str] | None = None, true_cfg_scale: float = 4.0, height: int | None = None, width: int | None = None, @@ -665,8 +665,8 @@ class QwenImagePipeline( # # TODO: only support single prompt now # if req.prompt is not None: # prompt = req.prompt[0] if isinstance(req.prompt, list) else req.prompt - prompt = req.prompt if req.prompt is not None else prompt - negative_prompt = req.negative_prompt if req.negative_prompt is not None else negative_prompt + prompt = req.prompt + negative_prompt = req.negative_prompt height = req.height or self.default_sample_size * self.vae_scale_factor width = req.width or self.default_sample_size * self.vae_scale_factor num_inference_steps = req.num_inference_steps or num_inference_steps diff --git a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit.py b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit.py index 901625e34..4927ca3ac 100644 --- a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit.py +++ b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit.py @@ -695,8 +695,8 @@ class QwenImageEditPipeline( def forward( self, req: OmniDiffusionRequest, - prompt: str | list[str] = "", - negative_prompt: str | list[str] = "", + prompt: str | list[str] | None = None, + negative_prompt: str | list[str] | None = None, image: PIL.Image.Image | torch.Tensor | None = None, true_cfg_scale: float = 4.0, height: int | None = None, @@ -717,8 +717,8 @@ class QwenImageEditPipeline( max_sequence_length: int = 512, ) -> DiffusionOutput: """Forward pass for image editing.""" - prompt = req.prompt if req.prompt is not None else prompt - negative_prompt = req.negative_prompt if req.negative_prompt is not None else negative_prompt + prompt = req.prompt + negative_prompt = req.negative_prompt # Get preprocessed image from request (pre-processing is done in DiffusionEngine) if hasattr(req, "preprocessed_image"): diff --git a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit_plus.py b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit_plus.py index 6df502d48..9eeaed5f9 100644 --- a/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit_plus.py +++ b/vllm_omni/diffusion/models/qwen_image/pipeline_qwen_image_edit_plus.py @@ -633,8 +633,8 @@ class QwenImageEditPlusPipeline(nn.Module, SupportImageInput): def forward( self, req: OmniDiffusionRequest, - prompt: str | list[str] = "", - negative_prompt: str | list[str] = "", + prompt: str | list[str] | None = None, + negative_prompt: str | list[str] | None = None, image: PIL.Image.Image | list[PIL.Image.Image] | torch.Tensor | None = None, true_cfg_scale: float = 4.0, height: int | None = None, @@ -655,8 +655,8 @@ class QwenImageEditPlusPipeline(nn.Module, SupportImageInput): max_sequence_length: int = 512, ) -> DiffusionOutput: """Forward pass for image editing with support for multiple images.""" - prompt = req.prompt if req.prompt is not None else prompt - negative_prompt = req.negative_prompt if req.negative_prompt is not None else negative_prompt + prompt = req.prompt + negative_prompt = req.negative_prompt # Get preprocessed images from request (pre-processing is done in DiffusionEngine) if hasattr(req, "vae_images") and hasattr(req, "condition_images"):