{"record":{"id":"0a4dea668fa5e0fc","repo":"sgl-project/sglang","slug":"minimax-h3-does-not-support-enable-upscaling-the","errorCode":null,"errorMessage":"MiniMax H3 does not support enable_upscaling: the accepted delivery contract is the resolved target canvas","messagePattern":"MiniMax H3 does not support enable_upscaling: the accepted delivery contract is the resolved target canvas","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/video_adapter.py","lineNumber":219,"sourceCode":"        self._positive_finite_extra(request, \"audio_flow_shift\")\n        if _extra_value(request, \"audio_guidance_scale\") is not None:\n            raise ValueError(\n                \"audio_guidance_scale is not supported: MiniMax H3 serves only \"\n                \"the CFG-distilled single-positive-branch checkpoint\"\n            )\n        output_mode = _extra_value(request, \"output_mode\")\n        if output_mode not in (None, \"decoded_files\"):\n            raise ValueError(\n                \"MiniMax H3 SGLang backend only supports \"\n                f\"output_mode='decoded_files', got {output_mode!r}\"\n            )\n        if request.enable_frame_interpolation:\n            raise ValueError(\n                \"MiniMax H3 does not support enable_frame_interpolation: the \"\n                \"accepted delivery contract is the canonical 24 fps output\"\n            )\n        if request.enable_upscaling:\n            raise ValueError(\n                \"MiniMax H3 does not support enable_upscaling: the accepted \"\n                \"delivery contract is the resolved target canvas\"\n            )\n\n    def validate_sampling_params(self, sampling_params: SamplingParams) -> None:\n        \"\"\"Apply the HTTP task/delivery gate to offline requests as well.\"\"\"\n\n        task = getattr(sampling_params, \"task\", None)\n        self.validate_task_gate(task, provided=task is not None)\n        sampling_params.task = canonical_minimax_h3_task(task)\n        if getattr(sampling_params, \"enable_frame_interpolation\", False):\n            raise ValueError(\n                \"MiniMax H3 does not support enable_frame_interpolation: the \"\n                \"accepted delivery contract is the canonical 24 fps output\"\n            )\n        if getattr(sampling_params, \"enable_upscaling\", False):\n            raise ValueError(\n                \"MiniMax H3 does not support enable_upscaling: the accepted \"","sourceCodeStart":201,"sourceCodeEnd":237,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/video_adapter.py#L201-L237","documentation":"MiniMax H3 SGLang backend emits output at the resolved target canvas resolution and does not run an upscaling post-pass. Requests with enable_upscaling=True are rejected to keep the delivery contract explicit.","triggerScenarios":"Passing enable_upscaling=True on a video request lowered through the MiniMax H3 adapter's validate_transport_options.","commonSituations":"Clients migrating from backends with built-in 2x/4x upscalers; enabling upscale hoping to compensate for a low resolution request.","solutions":["Set enable_upscaling=False and request the desired final resolution directly in the video request parameters","Upscale offline (ffmpeg/RWGINS/Real-ESRGAN) after decoding the output files"],"exampleFix":"// before\nrequest.enable_upscaling = True\n// after\nrequest.enable_upscaling = False\nrequest.resolution = \"1080p\"  # request target canvas directly","handlingStrategy":"validation","validationCode":"assert not getattr(request, \"enable_upscaling\", False), \"MiniMax H3 has no upscaling\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Request the target resolution directly instead of enabling upscale","Keep per-model feature capability maps in the routing layer"],"tags":["minimax-h3","upscaling","video-generation","validation"],"backgroundTag":"unsupported-feature-flag","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}