{"record":{"id":"a0f0fa88a481705a","repo":"sgl-project/sglang","slug":"minimax-h3-sglang-backend-only-supports-output-mod","errorCode":null,"errorMessage":"MiniMax H3 SGLang backend only supports output_mode='decoded_files', got {output_mode!r}","messagePattern":"MiniMax H3 SGLang backend only supports output_mode='decoded_files', got (.+?)","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":209,"sourceCode":"\n    def validate_transport_options(\n        self,\n        request: VideoGenerationsRequest,\n        *,\n        model_path: str | None,\n    ) -> None:\n        extras = request.model_extra or {}\n        self.validate_task_gate(extras.get(\"task\"), provided=\"task\" in extras)\n        del model_path\n        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)","sourceCodeStart":191,"sourceCodeEnd":227,"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#L191-L227","documentation":"The MiniMax H3 video adapter for SGLang validates the transport/delivery options of a video request before lowering it. Only output_mode='decoded_files' (or leaving it unset) is accepted because the backend always decodes generation results into files on disk. Any other output_mode (e.g. 'url', 'base64', 'tensor') is rejected with this ValueError.","triggerScenarios":"Calling lower_video_request_kwargs (directly or via the HTTP/offline video generation entry point) with request extra fields containing output_mode set to anything other than None or 'decoded_files'.","commonSituations":"Porting a client from another video backend that returned URLs or in-memory bytes; copy-pasting generic video request kwargs where output_mode defaults to something like 'url'.","solutions":["Set output_mode='decoded_files' (or omit it) on the request","Configure save_output=True and a valid output_path since decoded files must be persisted","If you need URLs, generate them yourself from the decoded output files after the call returns"],"exampleFix":"// before\nrequest.extra = {\"output_mode\": \"url\"}\nadapter.lower_video_request_kwargs(request)\n// after\nrequest.extra = {\"output_mode\": \"decoded_files\"}\nsampling_params.save_output = True\nsampling_params.output_path = \"/tmp/out.mp4\"","handlingStrategy":"validation","validationCode":"mode = request.extra.get(\"output_mode\") if request.extra else None\nif mode not in (None, \"decoded_files\"):\n    raise ValueError(f\"unsupported output_mode {mode!r}; use 'decoded_files'\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Centralize MiniMax H3 request construction in one helper that pins output_mode","Assert supported flags before submitting to the engine"],"tags":["minimax-h3","video-generation","output-mode","validation"],"backgroundTag":"unsupported-parameter-value","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}