{"record":{"id":"2cdd9c1e49226e90","repo":"unslothai/unsloth","slug":"transformer-quant-requested-scheme-is-unavaila","errorCode":null,"errorMessage":"transformer_quant '{requested_scheme}' is unavailable for '{fam.name}'{task_label}: its Modular Diffusers workflow builds the denoiser itself, so only schemes with a hosted pre-quantized checkpoint can be applied and the dense weights cannot be quantized in place. {hint}","messagePattern":"transformer_quant '(.+?)' is unavailable for '(.+?)'(.+?): its Modular Diffusers workflow builds the denoiser itself, so only schemes with a hosted pre-quantized checkpoint can be applied and the dense weights cannot be quantized in place\\. (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"studio/backend/core/inference/video.py","lineNumber":1153,"sourceCode":"                # every metadata check, and have load_components skip the real denoiser,\n                # generating from the wrong partition instead of failing. A pair with no hosted\n                # checkpoint is refused here; there is no in-place quantise seam to fall back on,\n                # because the workflow's own component loader builds the denoiser and letting the\n                # request through would download ~98.7 GB of dense weights and then silently\n                # ignore it.\n                if not video_family_prequant_available(\n                    fam, requested_scheme, task = h3_task, base_repo = quant_base\n                ):\n                    available = video_family_prequant_schemes(fam, task = h3_task)\n                    hint = (\n                        f\"Use one of: {', '.join(available)}.\"\n                        if available\n                        else \"Leave transformer_quant unset for this model.\"\n                    )\n                    # Name the partition when one was asked for, so \"fp8 is unavailable\" does not\n                    # read as a claim about the whole family when it is only true of this task.\n                    task_label = f\" {h3_task}\" if h3_task else \"\"\n                    raise ValueError(\n                        f\"transformer_quant '{requested_scheme}' is unavailable for \"\n                        f\"'{fam.name}'{task_label}: its Modular Diffusers workflow builds the \"\n                        f\"denoiser itself, so only schemes with a hosted pre-quantized checkpoint \"\n                        f\"can be applied and the dense weights cannot be quantized in place. \"\n                        f\"{hint}\"\n                    )\n        from .video_minimax_h3 import is_h3_native, validate_h3_transformer_filename\n\n        if is_h3_native(fam, kind):\n            validate_h3_transformer_filename(gguf_filename or \"\")\n            # The GGUF filename and explicit task must name the same partition.\n            picked = h3_transformer_task(gguf_filename or \"\")\n            if h3_task and h3_task != picked:\n                raise ValueError(\n                    f\"'{Path(gguf_filename or '').name}' is the {picked} partition, but the \"\n                    f\"load asked for {h3_task}. Pick the matching checkpoint.\"\n                )\n        else:","sourceCodeStart":1135,"sourceCodeEnd":1171,"githubUrl":"https://github.com/unslothai/unsloth/blob/203007d19051dcd2ae33876786d117c99f6b0368/studio/backend/core/inference/video.py#L1135-L1171","documentation":"Raised when a load request asks for a transformer_quant scheme (e.g. fp8, int8) that has no hosted pre-quantized checkpoint for the requested family — and, when an explicit h3 task partition was named, for that partition. For Modular Diffusers families (like MiniMax-H3) the denoiser is constructed by the workflow itself, so the dense weights cannot be quantized in place; only schemes with a hosted pre-quantized repo listed in the family's prequant tables are loadable. The message includes the scheme, family, task label, and a hint listing the actually-available schemes (or telling you to leave transformer_quant unset).","triggerScenarios":"Calling the video load API with transformer_quant set to a scheme for which video_family_prequant_available(fam, scheme, task=h3_task, base_repo=quant_base) returns False — e.g. requesting 'int8' on a family whose prequant_repos only hosts 'fp8', or requesting a valid scheme but for an h3 task partition (video/audio/text) that lacks its own (scheme, task, filename) row in prequant_filenames.","commonSituations":"UI or config carries a transformer_quant default from another family; a user copies a quant setting that worked for a non-modular family; a new scheme is requested after a Studio update changed the hosted checkpoint tables; an explicit task is combined with a scheme that only ships for a different partition.","solutions":["Read the hint in the message: it lists schemes that ARE available for that family/task — switch transformer_quant to one of them.","If the list is empty, remove transformer_quant entirely and load dense bf16.","If you need that specific scheme, pick a different family or base_repo whose prequant tables host it (check video_family_prequant_schemes(fam, task=...)).","If you believe the scheme should exist, update Studio / the family tables so prequant_repos or prequant_variant_repos includes the checkpoint."],"exampleFix":"# before\nload_video_model(repo_id=..., model_kind='pipeline', transformer_quant='int8')\n\n# after (use a scheme the family actually hosts)\navail = video_family_prequant_schemes(fam, task='video')\nload_video_model(repo_id=..., model_kind='pipeline', transformer_quant=avail[0] if avail else None)","handlingStrategy":"validation","validationCode":"from core.inference.video_families import video_family_prequant_schemes, video_family_prequant_available\n\navailable = video_family_prequant_schemes(fam, task=h3_task)\nif transformer_quant and transformer_quant not in available:\n    transformer_quant = available[0] if available else None  # or surface to the user","typeGuard":"def quant_ok(fam, scheme: str | None, task: str | None) -> bool:\n    return scheme is None or video_family_prequant_available(fam, scheme, task=task)","tryCatchPattern":"try:\n    load(...)\nexcept ValueError as e:\n    if 'transformer_quant' in str(e) and 'unavailable' in str(e):\n        # strip the quant option and retry dense, or prompt the user\n        load(..., transformer_quant=None)\n    else:\n        raise","preventionTips":["Query video_family_prequant_schemes(fam, task=...) before building the load request instead of hardcoding a scheme.","Never copy transformer_quant values between families; availability is per-family and per-task.","Treat an empty scheme list as 'leave transformer_quant unset'."],"tags":["video","quantization","validation","minimax-h3","config"],"backgroundTag":null,"analyzedSha":"203007d19051dcd2ae33876786d117c99f6b0368","analyzedAt":"2026-08-15T02:48:39.846Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}