calesthio/OpenMontage · error · ValueError

reference_video_path is not supported by Ark; upload the vid

Error message

reference_video_path is not supported by Ark; upload the video to a public/signed HTTPS URL or Ark asset first

What it means

Hard guard in `_build_payload`: if `reference_video_path` is set, the tool refuses immediately. The Ark content-generation API only accepts reference videos that are already publicly (or signed) reachable HTTPS URLs or Ark-hosted assets — it performs no client-side upload of local video files. The message tells you exactly what to do instead.

Source

Thrown at tools/video/seedance_ark.py:731

            "4:3",
            "1:1",
            "3:4",
            "9:16",
        }
        if ratio not in valid_ratios:
            raise ValueError(
                "aspect_ratio must be adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, or 9:16"
            )

        max_duration = 30 if variant == "2.5" else 15
        duration = self._normalize_duration(inputs.get("duration", 5), max_duration)
        prompt = str(inputs.get("prompt") or "").strip()
        content: list[dict[str, Any]] = []
        if prompt:
            content.append({"type": "text", "text": prompt})

        if inputs.get("reference_video_path"):
            raise ValueError(
                "reference_video_path is not supported by Ark; upload the "
                "video to a public/signed HTTPS URL or Ark asset first"
            )

        if operation == "text_to_video":
            if not prompt:
                raise ValueError("prompt is required for text_to_video")
            if self._has_any_media(inputs):
                raise ValueError(
                    "text_to_video does not accept reference media; use "
                    "image_to_video or reference_to_video"
                )
        elif operation == "image_to_video":
            first_refs = self._single_image_refs(inputs)
            if len(first_refs) != 1:
                raise ValueError("image_to_video requires exactly one reference image")
            content.append(self._image_content(first_refs[0], role="first_frame"))
            end_refs = [

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Upload the video to any HTTPS-accessible location (object storage with a signed URL, public bucket, Ark asset storage) and pass `reference_video_url` instead
  2. For local files with no hosting, use a different provider tool that accepts paths (check the registry's video_generation capability)
  3. Ensure the URL stays valid for the whole task lifetime — generation fetches it server-side

Example fix

# before
inputs = {"operation": "reference_to_video", "reference_video_path": "/tmp/clip.mp4"}
# after
inputs = {"operation": "reference_to_video", "reference_video_url": "https://cdn.example.com/clip.mp4"}
Defensive patterns

Strategy: validation

Validate before calling

if inputs.get("reference_video_path"):
    raise ValueError(
        "Ark cannot ingest local files; upload first and pass reference_video_url"
    )
# upload flow: push file to signed-URL storage, then
# inputs["reference_video_url"] = upload(inputs.pop("reference_video_path"))

Type guard

def has_local_video_ref(inputs: dict) -> bool:
    return bool(inputs.get("reference_video_path"))

Try / catch

try:
    result = ark.execute(inputs)
except ValueError as e:
    if "reference_video_path is not supported" in str(e):
        url = upload_to_https_storage(inputs.pop("reference_video_path"))
        inputs["reference_video_url"] = url
        result = ark.execute(inputs)
    else:
        raise

Prevention

When it happens

Trigger: Passing `reference_video_path: '/data/clip.mp4'` (mirroring other tools that do upload local files, e.g. the Kling tool in this repo) together with operation reference_to_video or image_to_video.

Common situations: Developers porting call shapes from kling_official_video or fal-based tools that accept local paths; users assuming OpenMontage uploads media on their behalf; local-video-driven workflows (clip-factory, podcast-repurpose) trying to condition Ark generation on a local file.

Related errors


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