calesthio/OpenMontage · error · ValueError

Unsupported classic video operation: {operation}

Error message

Unsupported classic video operation: {operation}

What it means

Error "Unsupported classic video operation: {operation}" thrown in calesthio/OpenMontage.

Source

Thrown at tools/video/kling_official_video.py:329

        elif operation == "image_to_video":
            image = normalize_image_input(inputs.get("reference_image_url"), inputs.get("reference_image_path"))
            if not image:
                raise ValueError("image_to_video requires reference_image_url or reference_image_path")
            payload = self._base_classic_payload(inputs)
            payload["image"] = image
            if inputs.get("prompt"):
                payload["prompt"] = inputs["prompt"]
            if inputs.get("negative_prompt"):
                payload["negative_prompt"] = inputs["negative_prompt"]
            tail = normalize_image_input(inputs.get("reference_tail_image_url"), inputs.get("reference_tail_image_path"))
            if tail:
                payload["image_tail"] = tail
            if inputs.get("element_list"):
                payload["element_list"] = normalize_element_list(inputs.get("element_list"))
            self._copy_multi_shot_fields(inputs, payload)
            path = "/v1/videos/image2video"
        else:
            raise ValueError(f"Unsupported classic video operation: {operation}")
        return {
            "protocol": "classic",
            "path": path,
            "payload": payload,
            "operation": operation,
            "api_family": "classic",
            "model": payload["model_name"],
            "references_used": self._reference_metadata_from_classic_payload(payload),
            "element_ids": element_ids(payload.get("element_list")),
        }

    def _build_turbo_request(self, inputs: dict[str, Any], operation: str) -> dict[str, Any]:
        settings = {
            "resolution": inputs.get("resolution", "720p"),
            "duration": int(str(inputs.get("duration", "5"))),
        }
        options = self._options_payload(inputs)
        if operation == "text_to_video":

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Use one of the supported classic operations (text_to_video, image_to_video).
  2. Check the operation string for typos and match it against the supported list in the tool's get_info().

When it happens

Trigger: An operation string outside the supported classic Kling video operations is passed to kling_official_video with api_family=classic.

Common situations: See trigger scenarios.


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