calesthio/OpenMontage · error · ValueError
Turbo image_to_video requires reference_image_url; local pat
Error message
Turbo image_to_video requires reference_image_url; local paths cannot be silently uploaded.
What it means
Error "Turbo image_to_video requires reference_image_url; local paths cannot be silently uploaded." thrown in calesthio/OpenMontage.
Source
Thrown at tools/video/kling_official_video.py:355
"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":
settings["aspect_ratio"] = inputs.get("aspect_ratio", "16:9")
payload = {"prompt": self._prompt(inputs), "settings": settings}
if options:
payload["options"] = options
path = "/text-to-video/kling-3.0-turbo"
elif operation == "image_to_video":
if inputs.get("reference_image_path") and not inputs.get("reference_image_url"):
raise ValueError("Turbo image_to_video requires reference_image_url; local paths cannot be silently uploaded.")
image_url = inputs.get("reference_image_url")
if not image_url:
raise ValueError("image_to_video requires reference_image_url for api_family=turbo")
contents = [{"type": "prompt", "text": self._prompt(inputs)}, {"type": "first_frame", "url": image_url}]
payload = {"contents": contents, "settings": settings}
if options:
payload["options"] = options
path = "/image-to-video/kling-3.0-turbo"
else:
raise ValueError(f"Unsupported turbo video operation: {operation}")
return {
"protocol": "turbo",
"path": path,
"payload": payload,
"operation": operation,
"api_family": "turbo",
"model": "kling-3.0-turbo",
}View on GitHub (pinned to 95e1c3d0ab)
Solutions
- Provide reference_image_url pointing to a publicly accessible HTTPS image.
- Upload the local image to a public/signed URL first (e.g. via an asset upload step), then pass that URL — the turbo API will not accept local paths.
When it happens
Trigger: Turbo image_to_video is given a local reference image path; the Turbo API only accepts hosted URLs and local files are not auto-uploaded.
Common situations: See trigger scenarios.
AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15).
Data as JSON: /api/errors/a9cc6308030a3240.
Report an issue: GitHub.