Skip to Content
API referenceVideo GenerationVideo Models

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"] }
FieldTypeDescription
modesstring[]Generation modes the model supports: t2v text-to-video, i2v image-to-video, v2v video as reference. You do not pass a mode in the request; it is inferred from the input fields. See Mode detection
resolutionsstring[]Accepted resolution values; values outside the list are rejected
default_resolutionstringApplied when the request omits both resolution and size
min_duration_secondsnumberLower bound of duration, in seconds
max_duration_secondsnumberUpper bound of duration, in seconds
supports_audiobooleanWhether generate_audio: true produces an audio track
aspect_ratiosstring[]Accepted aspect_ratio values; adaptive keeps the input image’s ratio

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:

Terminal
curl -s https://api.ofox.ai/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.

Next

Last updated on