{"record":{"id":"554d67c44d84c7dc","repo":"sgl-project/sglang","slug":"model-index-json-minimax-h3-sigma-shift-scales-mu","errorCode":null,"errorMessage":"model_index.json._minimax_h3.sigma_shift_scales must be an object","messagePattern":"model_index\\.json\\._minimax_h3\\.sigma_shift_scales must be an object","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py","lineNumber":82,"sourceCode":"        if partition not in {\"fl2va\", \"ref2va\"}:\n            raise ValueError(\n                \"model_index.json._minimax_h3.partition must be one of \" \"fl2va, ref2va\"\n            )\n        tasks = _string_list(raw.get(\"tasks\"), \"model_index.json._minimax_h3.tasks\")\n        aliases = raw.get(\"task_aliases\", {})\n        if not isinstance(aliases, Mapping) or any(\n            not isinstance(key, str)\n            or not key\n            or not isinstance(value, str)\n            or not value\n            for key, value in aliases.items()\n        ):\n            raise ValueError(\n                \"model_index.json._minimax_h3.task_aliases must map strings to strings\"\n            )\n        scales = raw.get(\"sigma_shift_scales\")\n        if not isinstance(scales, Mapping):\n            raise ValueError(\n                \"model_index.json._minimax_h3.sigma_shift_scales must be an object\"\n            )\n        try:\n            video_sigma = float(scales[\"video\"])\n            audio_sigma = float(scales[\"audio\"])\n        except (KeyError, TypeError, ValueError) as exc:\n            raise ValueError(\n                \"model_index.json._minimax_h3.sigma_shift_scales requires numeric \"\n                \"video and audio values\"\n            ) from exc\n        metadata = cls(\n            schema_version=1,\n            partition=partition,\n            tasks=tasks,\n            task_aliases=dict(aliases),\n            video_sigma_shift=video_sigma,\n            audio_sigma_shift=audio_sigma,\n        )","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py#L64-L100","documentation":"from_model_index requires `_minimax_h3.sigma_shift_scales` in model_index.json to be a JSON object (a Mapping) holding the video/audio sigma shift values. If the key is missing, is a list, a number, or a string, this ValueError is raised during metadata parsing.","triggerScenarios":"model_index.json where _minimax_h3.sigma_shift_scales is absent (raw.get returns None), an array, or a scalar; raised while loading MiniMax H3 release metadata via _load_config.","commonSituations":"Omitting the sigma_shift_scales block when authoring a custom model_index.json, or an export tool writing it as a JSON array of two numbers instead of an object.","solutions":["Set _minimax_h3.sigma_shift_scales to an object with 'video' and 'audio' keys, e.g. {\"video\": 1.0, \"audio\": 1.0}","Verify the file is valid JSON and the section sits inside _minimax_h3, not at top level"],"exampleFix":"// before\n\"sigma_shift_scales\": [1.0, 1.0]\n// after\n\"sigma_shift_scales\": {\"video\": 1.0, \"audio\": 1.0}","handlingStrategy":"type-guard","validationCode":"scales = raw.get(\"_minimax_h3\", {}).get(\"sigma_shift_scales\")\nif not isinstance(scales, Mapping):\n    raise SystemExit(\"model_index.json: sigma_shift_scales must be an object with video/audio\")","typeGuard":"from collections.abc import Mapping\ndef valid_scales(s: Any) -> bool:\n    return isinstance(s, Mapping) and {\"video\", \"audio\"} <= set(s)","tryCatchPattern":null,"preventionTips":["Include sigma_shift_scales in your model_index template","Lint the index after every export"],"tags":["minimax-h3","sigma-shift-scales","model-index","config-validation"],"backgroundTag":"schema-validation-failed","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}