# Video generation

Create a task, save its ID and retrieve the result through an asynchronous workflow.

## Create a video task

### Seedance 2.5

- model: seedance-2.5
- resolution: 480p / 720p / 1080p
- duration: 4–30
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "seedance-2.5",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

### Seedance 2.0

- model: seedance-2.0
- resolution: 480p / 720p / 1080p
- duration: 4–15
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "seedance-2.0",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

### Seedance 2.0 Fast

- model: seedance-2.0-fast
- resolution: 480p / 720p
- duration: 4–15
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "seedance-2.0-fast",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

### MiniMax H3

- model: minimax-h3
- resolution: 480p / 720p
- duration: 4–15
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "minimax-h3",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

### MiniMax H3 SFW

- model: minimax-h3-sfw
- resolution: 768p / 1080p
- duration: 4–30
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "minimax-h3-sfw",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "768p",
  "aspect_ratio": "16:9"
}
```

### Wan 2.2 Anime

- model: wan-2.2-anime
- resolution: 480p / 720p
- duration: 5
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "wan-2.2-anime",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

### Wan 2.2 Real

- model: wan-2.2-real
- resolution: 480p / 720p
- duration: 5
- aspect_ratio: The builder offers landscape, portrait and square.
- Idempotency-Key: Keep unchanged when retrying the same generation.

POST /v1/videos

```json
{
  "model": "wan-2.2-real",
  "prompt": "A slow camera move through a peaceful garden",
  "duration": 5,
  "resolution": "480p",
  "aspect_ratio": "16:9"
}
```

## Poll & download

```bash
curl --fail-with-body 'https://noveadream.com/v1/videos/video_12345' \
  -H "Authorization: Bearer $NOVEA_API_KEY"
```

Replace video_12345 with the returned id. Download on completed and stop polling on failed. Start with a five-second polling interval and back off on rate limits.

```bash
curl --fail-with-body https://noveadream.com/v1/videos/video_12345/content \
  -H "Authorization: Bearer $NOVEA_API_KEY" \
  -o result.mp4
```

## MiniMax H3 references

All-reference mode supports images, video and audio. First/last-frame mode accepts images only. Provide total reference audio and video durations separately; do not mix the two modes.

```json
{
  "model": "minimax-h3-sfw",
  "mode": "all-reference",
  "prompt": "Follow the motion of the reference video",
  "duration": 8,
  "resolution": "768p",
  "aspect_ratio": "9:16",
  "reference_video_urls": [
    "https://example.com/motion.mp4"
  ],
  "input_video_seconds": 6
}
```
