Video models
All video models on POST /v1/videos share the same request structure; they differ in the resolutions, durations, aspect ratios, and generation modes they accept. Each model’s capabilities are described by the video_attributes object returned by the Models API. This page explains that object’s fields and how to query it.
For each model’s parameter values, see the family pages: Seedance, Wan & HappyHorse, Hailuo.
The video_attributes object
Every video model in the Models API response carries a video_attributes object, which is the authoritative description of the parameters that model accepts.
{
"modes": ["t2v", "i2v", "v2v"],
"resolutions": ["480p", "720p", "1080p"],
"default_resolution": "720p",
"min_duration_seconds": 4,
"max_duration_seconds": 30,
"supports_audio": true,
"aspect_ratios": ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "adaptive"]
}video_attributes is the source of truth for a single model’s resolution, duration, and aspect_ratio. The parameter ranges listed in Create video task are the union across all models, so a value valid there may still be rejected by a specific model.
Query the live list
The Models API is a public endpoint and requires no API key. Filter on supported_endpoints to keep only video models:
cURL
curl -s https://api.ofox.io/v1/models \
| jq -r '.data[] | select(.supported_endpoints[]? == "/v1/videos") | .id'New models go live independently of docs releases. When you need the latest list, query this endpoint directly.