# Create Video Generation Task

> Veo 3.1 create video generation task endpoint.

Canonical URL: https://docs.uniall.ai/models/video/veo-3-1/create-task
Locale: en

## Overview

| Public model name | Currently supported video capabilities |
|---|---|
| `veo3.1-video-720p` | text-to-video, single-image-to-video, first-and-last-frame, multi-image-reference video generation, video extension |
| `veo3.1-video-1080p` | text-to-video, single-image-to-video, first-and-last-frame, multi-image-reference video generation, video extension |
| `veo3.1-video-4k` | text-to-video, single-image-to-video, first-and-last-frame, multi-image-reference video generation, video extension |
| `veo3.1-fast-video-720p` | text-to-video, single-image-to-video, first-and-last-frame, video extension |
| `veo3.1-fast-video-1080p` | text-to-video, single-image-to-video, first-and-last-frame, video extension |
| `veo3.1-fast-video-4k` | text-to-video, single-image-to-video, first-and-last-frame, video extension |

## Endpoint


```http
POST /v1/video/generations
```
## Query Parameters

| Name | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `Authorization` | string | No | | Bearer &#123;your_token&#125; |
## Request Body Parameters

| Field | Type | Required | Title | Description |
| --- | --- | --- | --- | --- |
| `model` | string | Yes | Public model name | |
| `prompt` | string | Yes | prompt | Structure Yes Required, recommended to pass |
| `image` | string | Yes | single source image URL | image-to-video |
| `images` | string | Yes | multiple reference images URL list | 2 3 multi-image-reference video generation |
| `last_image` | string | Yes | URL | first-and-last-frame, andimage use |
| `video` | string | Yes | video UR | video extension |
| `size` | string | Yes | resolution | and Public Models |
| `aspect_ratio`| string | Yes | output aspect ratio | text-to-videoallowed values:`16:9`, `9:16`; image-to-video, video extension use, pass |
| `duration`| string | Yes |, | allowed values:`4`, `6`, `8`; video extension use |
| `extra_body` | object | Yes | Field | |

## Request Examples

### text-to-video

```json
{
  "model": "veo3.1-video-1080p",
  "prompt": " camera, camera. ",
  "size": "1080p",
  "aspect_ratio": "16:9",
  "duration": 8,
  "extra_body": {
    "generate_audio": true,
    "negative_prompt": ", blur",
    "seed": 7
  }
}
```

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
 -H "Authorization: Bearer sk-***" \
 -H "Content-Type: application/json" \
 -d '{"model": "veo3.1-video-1080p",
 "prompt": " camera, camera. ",
 "size": "1080p",
 "aspect_ratio": "16:9",
 "duration": 8,
 "extra_body": {"generate_audio": true,
 "negative_prompt": ", blur",
 "seed": 7}}'
```
### single-image-to-video

```json
{
  "model": "veo3.1-video-720p",
  "prompt": ", and. ",
  "image": "https://example.com/keyframe.png",
  "size": "720p",
  "aspect_ratio": "16:9",
  "duration": 6,
  "extra_body": {
    "generate_audio": false,
    "negative_prompt": "artifacts, "
  }
}
```

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
 -H "Authorization: Bearer sk-***" \
 -H "Content-Type: application/json" \
 -d '{"model": "veo3.1-video-720p",
 "prompt": ", and. ",
 "image": "https://example.com/keyframe.png",
 "size": "720p",
 "aspect_ratio": "16:9",
 "duration": 6,
 "extra_body": {"generate_audio": false,
 "negative_prompt": "artifacts, "}}'
```
### first-and-last-frame

```json
{
  "model": "veo3.1-fast-video-1080p",
  "prompt": ", subject, cameralanguage. ",
  "image": "https://example.com/start-frame.png",
  "last_image": "https://example.com/end-frame.png",
  "size": "1080p",
  "aspect_ratio": "16:9",
  "duration": 6,
  "extra_body": {
    "generate_audio": true
  }
}
```

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
 -H "Authorization: Bearer sk-***" \
 -H "Content-Type: application/json" \
 -d '{"model": "veo3.1-fast-video-1080p",
 "prompt": ", subject, cameralanguage. ",
 "image": "https://example.com/start-frame.png",
 "last_image": "https://example.com/end-frame.png",
 "size": "1080p",
 "aspect_ratio": "16:9",
 "duration": 6,
 "extra_body": {"generate_audio": true}}'
```
### reference video

```json
{
  "model": "veo3.1-video-1080p",
  "prompt": ", and. ",
  "images": [
    "https://example.com/ref-1.png",
    "https://example.com/ref-2.png"
  ],
  "size": "1080p",
  "aspect_ratio": "9:16",
  "duration": 6,
  "extra_body": {
    "generate_audio": true,
    "seed": 11
  }
}
```

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
 -H "Authorization: Bearer sk-***" \
 -H "Content-Type: application/json" \
 -d '{"model": "veo3.1-video-1080p",
 "prompt": ", and. ",
 "images": ["https://example.com/ref-1.png",
 "https://example.com/ref-2.png"],
 "size": "1080p",
 "aspect_ratio": "9:16",
 "duration": 6,
 "extra_body": {"generate_audio": true,
 "seed": 11}}'
```
### video extension

```json
{
  "model": "veo3.1-video-720p",
  "prompt": " video action, scenariostyle. ",
  "video": "https://example.com/source.mp4",
  "size": "720p",
  "duration": 6,
  "extra_body": {
    "negative_prompt": ", ",
    "seed": 9
  }
}
```

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
 -H "Authorization: Bearer sk-***" \
 -H "Content-Type: application/json" \
 -d '{"model": "veo3.1-video-720p",
 "prompt": " video action, scenariostyle. ",
 "video": "https://example.com/source.mp4",
 "size": "720p",
 "duration": 6,
 "extra_body": {"negative_prompt": ", ",
 "seed": 9}}'
```
## Response Fields

| Field | Type | Required | Title | Description |
| --- | --- | --- | --- | --- |


## Response Examples

### Example 1

```json
{}
```
