calesthio/OpenMontage · error · ValueError

model_name {model_name!r} is not supported for api_family=cl

Error message

model_name {model_name!r} is not supported for api_family=classic

What it means

Error "model_name {model_name!r} is not supported for api_family=classic" thrown in calesthio/OpenMontage.

Source

Thrown at tools/video/kling_official_video.py:437

        if video_list:
            payload["video_list"] = video_list

        elements = normalize_element_list(inputs.get("element_list"))
        element_id_values = [item["element_id"] for item in elements]
        if elements:
            payload["element_list"] = elements
            references_used.extend(
                {"kind": "element", "element_id": item["element_id"]}
                for item in elements
            )
        if operation == "reference_to_video" and not any(payload.get(k) for k in ("image_list", "video_list", "element_list")):
            raise ValueError("reference_to_video with api_family=omni requires image_list, video_list, element_list, or reference image URLs.")
        return payload, references_used, element_id_values

    def _base_classic_payload(self, inputs: dict[str, Any]) -> dict[str, Any]:
        model_name = str(inputs.get("model_name") or inputs.get("model_variant") or "kling-v3")
        if model_name not in CLASSIC_VIDEO_MODELS:
            raise ValueError(f"model_name {model_name!r} is not supported for api_family=classic")
        payload: dict[str, Any] = {
            "model_name": model_name,
            "duration": str(inputs.get("duration", "5")),
            "mode": inputs.get("mode", "std"),
            "sound": inputs.get("sound", "off"),
        }
        if inputs.get("cfg_scale") is not None:
            payload["cfg_scale"] = inputs["cfg_scale"]
        if inputs.get("camera_control"):
            payload["camera_control"] = inputs["camera_control"]
        self._copy_common_task_fields(inputs, payload)
        return payload

    def _options_payload(self, inputs: dict[str, Any]) -> dict[str, Any]:
        options: dict[str, Any] = {}
        callback_url = validate_callback_url(inputs.get("callback_url"))
        if callback_url:
            options["callback_url"] = callback_url

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Choose a model_name supported by api_family=classic; check get_info() for the valid list.
  2. If the model is omni-only, switch api_family to omni and adapt the parameters.

When it happens

Trigger: A model_name that is not in the classic family allowlist is passed with api_family=classic.

Common situations: See trigger scenarios.


AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15). Data as JSON: /api/errors/daf91e9a503256bc. Report an issue: GitHub.