calesthio/OpenMontage · error · ValueError
{variant} supports only 480p or 720p resolution
Error message
{variant} supports only 480p or 720p resolution What it means
Variant-specific resolution gate in `_build_payload`: when the resolved model variant is '2.5', 'fast', or 'mini', `resolution` must be 480p or 720p — those lightweight Seedance variants do not support 1080p or 4k outputs. The generic resolution check already passed, so this fires only for a valid resolution attached to the wrong model variant.
Source
Thrown at tools/video/seedance_ark.py:706
operation = str(inputs.get("operation", "text_to_video"))
if operation not in {
"text_to_video",
"image_to_video",
"reference_to_video",
}:
raise ValueError(
"operation must be text_to_video, image_to_video, or reference_to_video"
)
model, variant = self._resolve_model(inputs)
resolution = str(inputs.get("resolution", "720p")).lower()
if resolution not in self.OUTPUT_DIMENSIONS:
raise ValueError("resolution must be 480p, 720p, 1080p, or 4k")
if variant in {"2.5", "fast", "mini"} and resolution not in {
"480p",
"720p",
}:
raise ValueError(f"{variant} supports only 480p or 720p resolution")
ratio = str(inputs.get("aspect_ratio", "16:9"))
valid_ratios = {
"adaptive",
"21:9",
"16:9",
"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)View on GitHub (pinned to 95e1c3d0ab)
Solutions
- Lower resolution to '480p' or '720p' for fast/mini/2.5 variants
- Or switch `model` to a flagship variant that supports 1080p/4k
- Derive resolution from the variant programmatically instead of hardcoding
Example fix
# before
inputs = {"model": "seedance-2-5-lite", "resolution": "1080p", "prompt": "..."}
# after
inputs = {"model": "seedance-2-5-lite", "resolution": "720p", "prompt": "..."} Defensive patterns
Strategy: validation
Validate before calling
LIMITED = {"2.5", "fast", "mini"}
if variant in LIMITED and resolution not in {"480p", "720p"}:
raise ValueError(f"{variant} supports only 480p/720p — got {resolution}") Type guard
def resolution_allowed_for_variant(variant: str, resolution: str) -> bool:
return resolution.lower() in ({"480p", "720p"} if variant in {"2.5", "fast", "mini"} else {"480p", "720p", "1080p", "4k"}) Prevention
- Derive resolution from the chosen model/variant via a lookup table instead of one global config value
- When switching models for cost, re-run dry_run — it exercises this exact validation for free
When it happens
Trigger: Combining e.g. seedance-fast/mini (or a 2.5 model) with `resolution: '1080p'` or '4k'; reusing a 1080p config block after switching `model` to a fast variant.
Common situations: Batch pipelines with a shared resolution setting across models; users switching models for cost/speed mid-project without revisiting resolution; assuming all variants share the flagship model's resolution envelope.
Related errors
- resolution must be 480p, 720p, 1080p, or 4k
- pricing is unknown for a custom Ark Endpoint/Model; set cust
- custom_price_cny_per_million_tokens must be a finite number
- task_action must be generate, create, query, or cancel
- operation must be text_to_video, image_to_video, or referenc
AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15).
Data as JSON: /api/errors/7d550c63c57cb2b3.
Report an issue: GitHub.