> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sigrunai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Grok Imagine Video 1.5

> 统一视频创建入口。当前可用 model：omni-10s、veo3.1-fast、veo3.1-lite、veo3.1-lite-hd、grok-imagine-video-1.5（及 fast/lite）、minimax-h3、minimax-h3-max、kling-4.0（720p/1080p）、seedance2.0-md、sd2-480p-ac、sd2-720p-ac、seedance2.5-30s、sd2.5-720p-ac。Veo 也可用专用入口 POST /v1/veo/frames。

Create async **Grok Imagine Video 1.5** jobs via the shared `POST /v1/videos` endpoint. Set `model` to one of the values below. On success you get a `task_id`; poll with [Query video task](/en/api-reference/common/query) and read `result.video_url` when completed.

## Models

| `model` | Capabilities | Duration | Resolution |
| - | - | - | - |
| `grok-imagine-video-1.5` | Text-to-video; first / first-last frames; up to **7** reference images | **4–15** s | **720p** |
| `grok-imagine-video-1.5-fast` | Text-to-video; single first frame (up to 15s); multi-ref (max **10** s) | **4–15** s (multi-ref ≤10s) | **720p** |
| `grok-imagine-video-1.5-lite` | Text-to-video; single first frame; **no** multi-ref or last frame | **4–15** s | **720p** |

Billing is `per_task` (flat per job; duration only controls clip length, not the multiplier). See the [model catalog](/en/api-reference/common/model-catalog) and the create response `cost` for live prices.

## Modes

| Mode | How to send |
| - | - |
| Text-to-video | Omit images, or pass an empty array |
| First / first-last frames | Send `first_image` (and optional `last_image`) with `first_last_frame: true`; or put first/last URLs in `images` with `first_last_frame: true` |
| Reference mode | Send `images` / `reference_images` without `first_last_frame` (or `false`) |

Frames and reference images are **mutually exclusive**. Lite has no multi-ref or last frame; Fast has no last frame.

## Request fields

| Field | Type | Required | Description |
| - | - | - | - |
| `model` | string | yes | See table above |
| `prompt` | string | yes | Generation prompt, 1–5000 characters |
| `duration` / `seconds` | int \| string | yes | **4–15**; string form allowed (e.g. `"9"`) |
| `aspect_ratio` / `ratio` | string | no | `16:9`, `9:16`, `1:1`, `3:2`, `2:3`, `21:9`; default `16:9` |
| `resolution` | string | no | Default `720p` |
| `images` / `reference_images` | string\[] | no | Reference image URLs; Standard / Fast up to **7** |
| `first_image` | string | conditional | First-frame URL |
| `last_image` | string | no | Last-frame URL (Standard only; requires first frame) |
| `first_last_frame` | boolean | no | `true` for first / first-last frame mode |

Media URLs must be public `https://` direct links.

## Examples

### Text-to-video

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "grok-imagine-video-1.5",
    "prompt": "A cinematic ad for a futuristic tech product",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 9
  }'
```

### Standard first-last frames

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "grok-imagine-video-1.5",
    "prompt": "Smooth, continuous transition between the two shots",
    "aspect_ratio": "21:9",
    "resolution": "720p",
    "duration": 9,
    "first_image": "https://example.com/first.webp",
    "last_image": "https://example.com/last.webp",
    "first_last_frame": true
  }'
```

### Fast multi-reference

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "grok-imagine-video-1.5-fast",
    "prompt": "Combine product and scene references into an ad",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 10,
    "images": [
      "https://example.com/product.png",
      "https://example.com/scene.png"
    ]
  }'
```

Success response example:

```json theme={null}
{
  "code": 20000,
  "msg": "submitted",
  "data": {
    "task_id": "vid_xxxxxxxx",
    "status": "queued",
    "progress": 0,
    "model": "grok-imagine-video-1.5",
    "cost": 0,
    "result": {}
  }
}
```

## Polling

```bash theme={null}
curl -X GET 'https://sigrunai.com/v1/videos/vid_xxxxxxxx' \
  -H 'Authorization: Bearer sk_xxx'
```

See [Query video task](/en/api-reference/common/query) for status fields. When completed, read `data.result.video_url` and download promptly.


## OpenAPI

````yaml POST /v1/videos
openapi: 3.1.0
info:
  title: AI Platform OpenAPI
  description: 异步图片与视频生成。创建后轮询 task_id；结果 URL 约保留 3 天。
  version: 1.0.0
servers:
  - url: https://sigrunai.com
    description: AI Platform 生产环境
security:
  - bearerAuth: []
paths:
  /v1/videos:
    post:
      tags:
        - Videos
      summary: Create video task
      description: >-
        Unified video create entry. Available models: omni-10s, veo3.1-fast,
        veo3.1-lite, veo3.1-lite-hd, grok-imagine-video-1.5 (and fast/lite),
        minimax-h3, minimax-h3-max, kling-4.0 (720p/1080p), seedance2.0-md,
        sd2-480p-ac, sd2-720p-ac, seedance2.5-30s, sd2.5-720p-ac. Veo also has
        POST /v1/veo/frames.
      operationId: createVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoCreateRequest'
            examples:
              omni10s:
                summary: omni-10s
                value:
                  model: omni-10s
                  prompt: >-
                    A golden retriever running across a sunny meadow, cinematic
                    tracking shot
                  aspect_ratio: '16:9'
              veo31Fast:
                summary: veo3.1-fast
                value:
                  model: veo3.1-fast
                  prompt: >-
                    A golden retriever running across a sunny meadow, cinematic
                    tracking shot
                  resolution: 720p
                  orientation: landscape
              seedanceMd:
                summary: seedance2.0-md
                value:
                  model: seedance2.0-md
                  prompt: 城市夜景延时，车流光轨
                  duration: 10
                  aspect_ratio: '16:9'
              seedance30s:
                summary: seedance2.5-30s
                value:
                  model: seedance2.5-30s
                  prompt: 一只猫在草地上奔跑，跟拍镜头
                  aspect_ratio: '9:16'
              seedance20Ac:
                summary: sd2-720p-ac
                value:
                  model: sd2-720p-ac
                  prompt: A cat running on grass, tracking shot
                  duration: 8
                  aspect_ratio: '9:16'
              seedance720pAc:
                summary: sd2.5-720p-ac
                value:
                  model: sd2.5-720p-ac
                  prompt: A cat running on grass, tracking shot
                  duration: 8
                  aspect_ratio: '9:16'
              kling40:
                summary: kling-4.0
                value:
                  model: kling-4.0
                  prompt: >-
                    A golden retriever running across a sunny meadow, cinematic
                    tracking shot
                  duration: 8
                  aspect_ratio: '16:9'
                  resolution: 720p
      responses:
        '200':
          description: Submitted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskQueryResponse'
components:
  schemas:
    VideoCreateRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            omni-10s, veo3.1-fast, veo3.1-lite, veo3.1-lite-hd,
            grok-imagine-video-1.5 (and fast/lite), minimax-h3, minimax-h3-max,
            kling-4.0 / kling-4.0-720p / kling-4.0-1080p, seedance2.0-md,
            sd2-480p-ac, sd2-720p-ac, seedance2.5-30s, or sd2.5-720p-ac
          example: omni-10s
        prompt:
          type: string
        duration:
          oneOf:
            - type: integer
            - type: string
          description: >-
            omni-10s: fixed 10; seedance2.0-md: 5/10/15; sd2-*-ac: 4–15;
            seedance2.5-30s: fixed 30; sd2.5-720p-ac: 4–30
        seconds:
          oneOf:
            - type: integer
            - type: string
          description: Alias of duration
        aspect_ratio:
          type: string
        ratio:
          type: string
          description: Alias of aspect_ratio
        orientation:
          type: string
          description: portrait/landscape may imply aspect ratio
        size:
          type: string
        resolution:
          type: string
          description: omni-10s is fixed at 720p
        first_image:
          type: string
          format: uri
          description: First-frame URL for omni-10s frame mode
        last_image:
          type: string
          format: uri
          description: Last-frame URL for omni-10s; use with first_image
        images:
          type: array
          items:
            type: string
            format: uri
        reference_images:
          type: array
          items:
            type: string
            format: uri
        videos:
          type: array
          items:
            type: string
            format: uri
        reference_videos:
          type: array
          items:
            type: string
            format: uri
        reference_video_durations:
          type: array
          items:
            type: integer
            minimum: 1
            maximum: 30
          description: >-
            Required with reference videos for kling-4.0; same length as videos;
            seconds 1–30. Billable seconds = output duration + sum of these
            values.
        reference_audio_durations:
          type: array
          items:
            type: integer
            minimum: 5
            maximum: 30
          description: >-
            Required with reference audios for kling-4.0; same length as audios;
            seconds 5–30 (validation only, not billed).
        audios:
          type: array
          items:
            type: string
            format: uri
        reference_audios:
          type: array
          items:
            type: string
            format: uri
    TaskQueryResponse:
      type: object
      properties:
        code:
          type: integer
          example: 20000
        msg:
          type: string
        data:
          $ref: '#/components/schemas/TaskQueryData'
    TaskQueryData:
      type: object
      properties:
        task_id:
          type: string
        status:
          type: string
          description: queued / processing / completed / failed 等
        progress:
          type: integer
        model:
          type: string
        created_at:
          type: integer
        completed_at:
          type: integer
        cost:
          type: number
        error_message:
          type: string
        result:
          $ref: '#/components/schemas/TaskResult'
    TaskResult:
      type: object
      properties:
        image_url:
          type: string
        video_url:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 控制台创建的 API Key，格式：Bearer sk_xxx

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.