{"record":{"id":"c51cc6188de2a86d","repo":"sgl-project/sglang","slug":"model-index-json-minimax-h3-sigma-shift-scales-re","errorCode":null,"errorMessage":"model_index.json._minimax_h3.sigma_shift_scales requires numeric video and audio values","messagePattern":"model_index\\.json\\._minimax_h3\\.sigma_shift_scales requires numeric video and audio values","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":89,"sourceCode":"            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        )\n        for task in metadata.tasks:\n            if canonical_minimax_h3_task(task) != task:\n                raise ValueError(\n                    f\"tasks must contain canonical task names, got {task!r}\"\n                )\n            if partition_for_task(task) != partition:\n                raise ValueError(","sourceCodeStart":71,"sourceCodeEnd":107,"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#L71-L107","documentation":"After confirming sigma_shift_scales is an object, from_model_index coerces scales[\"video\"] and scales[\"audio\"] to float. If either key is missing (KeyError), is a non-numeric type (TypeError), or is an unparseable value (ValueError), this error is raised with the original exception chained.","triggerScenarios":"_minimax_h3.sigma_shift_scales exists but lacks 'video' or 'audio', or one of them is a string like \"high\", null, or a nested object.","commonSituations":"Typos in key names (e.g. \"videos\"), partial hand-edits, or nulls written by a serializer that skipped None values.","solutions":["Ensure both video and audio keys exist and are numbers (int or float accepted via float())","Check for typos or nulls in the scales object","Validate the JSON with a schema/lint step before deploying the model directory"],"exampleFix":"// before\n\"sigma_shift_scales\": {\"video\": 1.0}\n// after\n\"sigma_shift_scales\": {\"video\": 1.0, \"audio\": 1.0}","handlingStrategy":"validation","validationCode":"try:\n    v, a = float(scales[\"video\"]), float(scales[\"audio\"])\nexcept (KeyError, TypeError, ValueError):\n    raise SystemExit(\"sigma_shift_scales needs numeric video and audio\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use numeric JSON values, not strings","Test-load the metadata once at deploy time in a smoke test"],"tags":["minimax-h3","sigma-shift-scales","numeric-coercion","model-index"],"backgroundTag":"schema-validation-failed","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}