Vertical 9:16 video generation API: aspect ratios by model
For vertical video, send aspect_ratio "9:16" to POST /v1/videos. Which Sume models support 9:16, 1:1, and 21:9, and why a pixel size returns 400.

To generate vertical 9:16 video with the Sume API, send POST /v1/videos with aspect_ratio: "9:16" and a model that lists 9:16 in supported_aspect_ratios. Every video model in the catalog does, except grok-imagine-video-1.5, which takes no aspect_ratio. Pixel sizes do not work: size returns 400 unsupported_parameter.
The values come from the Video generation docs and the catalog behind GET /v1/videos/models, read on 2026-09-26.
Which aspect ratios does each video model support?
aspect_ratio takes 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9, or 9:21, and each model advertises the subset it accepts. The descriptor lists only values you may send as aspect_ratio; a value outside a model's list is refused.
9:16: every model exceptgrok-imagine-video-1.5.1:1: Seedance 2.x,kling-3,wan-3.0, and the MiniMax H3 models.21:9: Seedance 2.x and the MiniMax H3 models.3:2,2:3, and9:21: no model in the catalog lists them.
| Model id | Aspect ratios |
|---|---|
seedance-2.5, seedance-2, seedance-2-fast, seedance-2-mini | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
kling-3 | 16:9, 9:16, 1:1 |
wan-3.0 | 16:9, 4:3, 1:1, 3:4, 9:16 |
minimax-h3, minimax-h3-max | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
gemini-omni-flash-1.1 | 16:9, 9:16 |
grok-imagine-video-1.5 | None: no aspect_ratio |
How do I request a 9:16 clip?
Send aspect_ratio next to the resolution and duration you want. This moves the docs' vertical Video Router example (seedance-2.5, 720p, 12 seconds) to POST /v1/videos:
- Each field is checked against its own list, so a model that lists
9:16can still refuse a resolution or duration it does not offer. - The call returns
202with a jobidand apolling_url. Poll untilstatusiscompleted, then download fromunsigned_urls[0].
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: vertical-001" \
-d '{
"model": "seedance-2.5",
"prompt": "A vertical UGC-style product clip on a desk, natural light",
"resolution": "720p",
"duration": 12,
"aspect_ratio": "9:16"
}'Why does size return 400?
size takes exact pixel dimensions in WIDTHxHEIGHT format, such as 1280x720. Every v1 model reports supported_sizes: null, so a size in that format returns 400 unsupported_parameter with the message “size is not supported in v1 — every model reports supported_sizes: null. Use resolution and aspect_ratio.”
Describe the frame with the two fields instead, for example resolution: "1080p" with aspect_ratio: "9:16" on a model that lists both. Resolutions per model are in 4K AI video generation API.
What happens if a model does not list my ratio?
POST /v1/videos refuses the request with a 400 and the error code unsupported_capability, for example “kling-3 does not support aspect_ratio 21:9.”, and the error details list the model's supported ratios. Because grok-imagine-video-1.5 lists none, leave the field out on that model.
Gemini Omni Flash 1.1 also rejects aspect_ratio in its edit mode, where you send a source clip as video_url; see Edit a video with a prompt.
Can I make an existing horizontal video vertical?
aspect_ratio shapes a new generation. To crop a clip you already have, the docs list video filter, which runs a dim, crop, or allowlisted pixel graph on one hosted clip and returns a new MP4. The steps are in Convert a horizontal video to vertical.
Sources
Related posts
Written by Sume