calesthio/OpenMontage · error · ValueError

{label} must be a public/signed URL or asset:// ID; Ark does

Error message

{label} must be a public/signed URL or asset:// ID; Ark does not document video Base64 or local paths

What it means

Error "{label} must be a public/signed URL or asset:// ID; Ark does not document video Base64 or local paths" thrown in calesthio/OpenMontage.

Source

Thrown at tools/video/seedance_ark.py:1200

            )
            duration = float(proc.stdout.strip()) if proc.returncode == 0 else 0
        except (OSError, ValueError, subprocess.SubprocessError) as exc:
            raise ValueError(f"failed to probe local reference audio: {path}") from exc
        if not 2 <= duration <= max_seconds:
            raise ValueError(
                f"each local reference audio clip must be 2 to {max_seconds} seconds"
            )
        return duration

    @staticmethod
    def _is_remote_or_asset(value: str) -> bool:
        return value.startswith(("https://", "http://", "asset://"))

    def _validate_remote_refs(self, refs: list[Any], label: str) -> None:
        for ref in refs:
            value = str(ref)
            if not value.startswith(("https://", "http://", "asset://")):
                raise ValueError(
                    f"{label} must be a public/signed URL or asset:// ID; "
                    "Ark does not document video Base64 or local paths"
                )

    def _validate_optional_parameters(self, payload: dict[str, Any]) -> None:
        callback = payload.get("callback_url")
        if callback is not None and not str(callback).startswith(
            ("https://", "http://")
        ):
            raise ValueError("callback_url must be an http(s) URL")
        expires = payload.get("execution_expires_after")
        if expires is not None and not 3600 <= int(expires) <= 259200:
            raise ValueError("execution_expires_after must be between 3600 and 259200")
        priority = payload.get("priority")
        if priority is not None and not 0 <= int(priority) <= 9:
            raise ValueError("priority must be between 0 and 9")
        safety = payload.get("safety_identifier")
        if safety is not None and len(str(safety)) > 64:

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Provide the video as a public/signed HTTPS URL or an asset:// ID.
  2. Ark does not support video Base64 or local paths — upload the video first, then reference it.

When it happens

Trigger: A reference video is supplied as a local path or Base64 blob; Ark only documents public/signed URLs or asset:// IDs for video.

Common situations: See trigger scenarios.


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