calesthio/OpenMontage · error · ValueError

reference_to_video with api_family=omni requires image_list,

Error message

reference_to_video with api_family=omni requires image_list, video_list, element_list, or reference image URLs.

What it means

Error "reference_to_video with api_family=omni requires image_list, video_list, element_list, or reference image URLs." thrown in calesthio/OpenMontage.

Source

Thrown at tools/video/kling_official_video.py:431

        references_used.extend(image_refs)
        if image_list:
            payload["image_list"] = image_list

        video_list, video_refs = self._normalize_omni_video_list(inputs)
        references_used.extend(video_refs)
        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

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Provide at least one of image_list, video_list, element_list, or reference image URLs with the omni reference_to_video call.
  2. Ensure the lists contain items with the required url/path fields before resubmitting.

When it happens

Trigger: reference_to_video with api_family=omni is called without image_list, video_list, element_list, or reference image URLs.

Common situations: See trigger scenarios.


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