{"record":{"id":"05121623d4ab807c","repo":"sgl-project/sglang","slug":"conditions-index-video-references-are-not-supp","errorCode":null,"errorMessage":"conditions[{index}]: video references are not supported in v1 for task {profile.task!r} (image/audio only)","messagePattern":"conditions\\[(.+?)\\]: video references are not supported in v1 for task (.+?) \\(image/audio only\\)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/request_validation.py","lineNumber":331,"sourceCode":"        conditions,\n        profile=profile,\n        frame_count=requested_frame_count,\n    )\n    if profile.task == MINIMAX_H3_TASK_FL2VA:\n        _validate_keyframe_conditions(normalized_conditions, task=profile.task)\n    elif profile.task == MINIMAX_H3_TASK_REF2VA and any(\n        condition[\"role\"] == MINIMAX_H3_CONDITION_ROLE_KEYFRAME\n        for condition in normalized_conditions\n    ):\n        _validate_keyframe_conditions(normalized_conditions, task=profile.task)\n    # ref2va accepts ordered reference streams and, for hybrid checkpoints,\n    # one first/last keyframe signature. Type admission is handled by the task\n    # profile; temporal ambiguity is validated later when target duration is\n    # omitted.\n    if not profile.video_reference_supported:\n        for index, cond in enumerate(normalized_conditions):\n            if cond[\"type\"] in (\"video\", \"video_audio\"):\n                raise ValueError(\n                    f\"conditions[{index}]: video references are not supported \"\n                    f\"in v1 for task {profile.task!r} (image/audio only)\"\n                )\n    if normalized_target.get(\"duration_seconds\") is None:\n        # Only reachable for duration_from_audio_reference profiles.\n        duration_sources = [\n            cond\n            for cond in normalized_conditions\n            if cond[\"type\"] in (\"audio\", \"video\", \"video_audio\")\n        ]\n        if not duration_sources:\n            raise ValueError(\n                \"target.duration_seconds is required, or exactly one \"\n                \"audio reference to derive duration from (including \"\n                f\"video/video_audio soundtracks; task {profile.task!r})\"\n            )\n        if len(duration_sources) > 1:\n            raise ValueError(","sourceCodeStart":313,"sourceCodeEnd":349,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/request_validation.py#L313-L349","documentation":"In v1 of the MiniMax-H3 pipeline, the requested task's profile does not support video (or video_audio) reference conditions — only image and audio. The validator scans normalized conditions and rejects any video-typed entry when profile.video_reference_supported is false.","triggerScenarios":"Calling minimax_h3_validate_canonical_request for a task whose profile has video_reference_supported=False while conditions[] contains an entry with type 'video' or 'video_audio'.","commonSituations":"Feeding a reference video clip to an image/audio-only task; assuming all tasks accept video because video output is supported; version upgrade where video input was dropped for v1.","solutions":["Remove the video/video_audio condition or replace it with an image or audio reference","Switch to a task profile that declares video_reference_supported if one exists in your version","Check the task profile table to confirm which inputs each task accepts"],"exampleFix":"// before\n{\"task\":\"...\",\"conditions\":[{\"role\":\"reference\",\"type\":\"video\",\"uri\":\"clip.mp4\"}]}\n// after\n{\"task\":\"...\",\"conditions\":[{\"role\":\"reference\",\"type\":\"image\",\"uri\":\"frame.jpg\"}]}","handlingStrategy":"validation","validationCode":"def no_video_refs(task_profile, conditions):\n    if task_profile.video_reference_supported: return True\n    return all(c.get(\"type\") not in (\"video\", \"video_audio\") for c in conditions)","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Check the task profile's video_reference_supported flag before attaching video inputs"],"tags":["minimax-h3","video-input","unsupported-type","request-validation"],"backgroundTag":"unsupported-media-type","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}