From 32ea7bcdd81913631ddc4add00e37fca5cdb1607 Mon Sep 17 00:00:00 2001 From: Yashika Gandhi - Google <56970160+yashikagandhi-google@users.noreply.github.com> Date: Tue, 27 Jan 2026 17:38:56 -0800 Subject: [PATCH] [diffusion] endpoint: fix vertex generate (#17611) --- .../runtime/entrypoints/http_server.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/http_server.py b/python/sglang/multimodal_gen/runtime/entrypoints/http_server.py index 8ea6e7fba..960b96d73 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/http_server.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/http_server.py @@ -183,19 +183,28 @@ async def vertex_generate(vertex_req: VertexGenerateReqInput): image_input = inst.get("image") or inst.get("image_url") seed_val = params.get("seed", DEFAULT_SEED) + # Create a dictionary of provided parameters + # This filters out None values so the dataclass defaults kick in + user_params = { + "num_frames": params.get("num_frames"), + "fps": params.get("fps"), + "width": params.get("width"), + "height": params.get("height"), + "guidance_scale": params.get("guidance_scale"), + "save_output": params.get("save_output"), + } + + # Remove None values to allow SamplingParams defaults to take over + valid_params = {k: v for k, v in user_params.items() if v is not None} + sp = SamplingParams.from_user_sampling_params_args( model_path=server_args.model_path, request_id=rid, prompt=prompt, image_path=image_input, - num_frames=params.get("num_frames"), - fps=params.get("fps"), - width=params.get("width"), - height=params.get("height"), - guidance_scale=params.get("guidance_scale"), seed=seed_val, server_args=server_args, - save_output=params.get("save_output"), + **valid_params, # Unpack the filtered dictionary ) backend_req = prepare_request(server_args, sampling_params=sp)