# 2026-10-12 — Aspect ratio for video (feature · API, SDK · BREAKING)

> Video takes a size, with the same shapes as images. The resolution tier moves into it.

`POST /video/generate` takes `size`, with the same shapes as
[images](/docs/guides/generate-images#sizes). Mynth picks the closest aspect
ratio the model serves.

```json
{
  "model": "bytedance/seedance-2.0-mini",
  "prompt": "A lighthouse beam sweeping over waves",
  "size": "9:16_720p"
}
```

The resolution tier moves into `size`, so the top-level `resolution` field is
gone:

| Before                | Now                                                                         |
| --------------------- | --------------------------------------------------------------------------- |
| `resolution: "1080p"` | `size: "auto_1080p"`                                                        |
| no aspect ratio       | `size: "9:16"`, or `size: "9:16_1080p"` with a tier                         |
| no structured size    | `size: { type: "aspect_ratio", aspect_ratio: "9:16", resolution: "1080p" }` |

The tier is still strict, because it sets the price. A tier the model does not
serve answers `400 validation_error`. With a first frame, the frame sets the
shape and the aspect ratio is ignored.

Each video in the result has `aspect_ratio`, the ratio it was rendered at, or
`null` when a first frame set it. The SDK returns it as `aspectRatio`.
[Generate video](/docs/guides/generate-video#sizes) has the full list.

Permalink: https://mynth.io/changelog/2026-10-12-video-size · Markdown: https://mynth.io/changelog/2026-10-12-video-size.md
