> ## 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 a Wan 3 video

> 统一视频创建入口。当前可用 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）、sd2.5-480p / sd2.5-720p / sd2.5-1080p（按秒）、seedance2.0-md、sd2-480p-ac、sd2-720p-ac、sd2-720p-dl、sd2-720p-db、sd2.0-mini-720p、seedance2.5-30s、sd2.5-720p-ac、sd2.5-720p-933-ac、wan3-720p / wan3-1080p（按秒）、wan3.0-prime-720p / wan3.0-prime-1080p（按秒）、wan3-480p-20s-ac、muse-video / muse-video-20s / muse-video-30s / muse-video-40s / muse-video-50s / muse-video-60s（1–60 秒，按时长分档，原生 720p，按次）。Veo 也可用专用入口 POST /v1/veo/frames。

Create a **Wan 3** video asynchronously. Use `POST /v1/videos` with a billing key: `wan3-720p` or `wan3-1080p`. On success you get a `task_id`. Poll [Query video task](https://docs.sigrunai.com/en/api-reference/common/query.md) and read `result.video_url` when the task completes.

## Models

| `model` | Notes | Duration | Resolution |
| - | - | - | - |
| `wan3-720p` | Billing key: 720p | **10–30** seconds | `720p` |
| `wan3-1080p` | Billing key: 1080p | **10–30** seconds | `1080p` |

Billing mode is `per_second`. Cost = the resolution unit price × requested seconds. Live prices come from the [model catalog](https://docs.sigrunai.com/en/api-reference/common/model-catalog.md) and the `cost` field on the response.

`model: "wan3"` is also accepted. Set `resolution` to pick the tier (default `720p`). The task `model` is stored as the billing key.

## Modes

| Mode | How to call |
| - | - |
| Text to video | Omit `images` / `videos` / `audios`, or send empty arrays |
| Reference generation | Pass reference images, videos, and/or audio |

First and last frames are not supported.

## Reference limits

| Type | Maximum |
| - | - |
| Images | **9** |
| Videos | **3** |
| Audio | **3** |

Reference files must be public URLs.

## Request fields

| Field | Type | Required | Notes |
| - | - | - | - |
| `model` | string | yes | `wan3-720p` / `wan3-1080p`. `wan3` plus `resolution` also works |
| `prompt` | string | yes | 1–10000 characters |
| `duration` / `seconds` | int \| string | no | **10–30**. Defaults to **10**. Strings such as `"15"` are accepted |
| `aspect_ratio` / `ratio` | string | no | `16:9`, `9:16`, `4:3`, `3:4`, `1:1`. Default `16:9` |
| `resolution` | string | no | `720p` or `1080p`. When the billing key already includes a resolution, omit this or send the same value |
| `images` / `reference_images` | string\[] | no | Up to **9** image URLs |
| `videos` / `reference_videos` | string\[] | no | Up to **3** video URLs |
| `audios` / `reference_audios` | string\[] | no | Up to **3** audio URLs |
| `smart_queue` | bool | no | Default `false`. When `true`, a model with a low recent success rate stays `queued` until it recovers (about 2 hours at most). See [Smart queue](https://docs.sigrunai.com/en/api-reference/common/smart-queue.md) |

## 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": "wan3-720p",
    "prompt": "A rainy neon street, camera pushing slowly forward",
    "aspect_ratio": "16:9",
    "duration": 10
  }'
```

### 1080p with a reference image

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "wan3-1080p",
    "prompt": "The person in the reference image walks down a rainy street",
    "aspect_ratio": "9:16",
    "duration": 15,
    "images": ["https://example.com/person.jpg"]
  }'
```

## Response

Create returns the shared task payload (`task_id`, `status`, `cost`, …). `data.model` is the billing key (for example `wan3-720p`). Poll the query endpoint for `result.video_url`.


## 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), sd2.5-480p /
        sd2.5-720p / sd2.5-1080p (per second), seedance2.0-md, sd2-480p-ac,
        sd2-720p-ac, sd2-720p-dl, sd2-720p-db, sd2.0-mini-720p, seedance2.5-30s,
        sd2.5-720p-ac, sd2.5-720p-933-ac, wan3-720p / wan3-1080p (per second),
        wan3.0-prime-720p / wan3.0-prime-1080p (per second), wan3-480p-20s-ac,
        muse-video / muse-video-20s / muse-video-30s / muse-video-40s /
        muse-video-50s / muse-video-60s (1–60s; tier follows duration; native
        720p; per task). 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'
              seedance20Dl:
                summary: sd2-720p-dl
                value:
                  model: sd2-720p-dl
                  prompt: A cat running on grass, tracking shot
                  duration: 15
                  aspect_ratio: '16:9'
              seedance20Db:
                summary: sd2-720p-db
                value:
                  model: sd2-720p-db
                  prompt: A cat running on grass, tracking shot
                  duration: 10
                  aspect_ratio: '16:9'
              seedance20Mini720p:
                summary: sd2.0-mini-720p
                value:
                  model: sd2.0-mini-720p
                  prompt: A cat running on grass, tracking shot
                  duration: 8
                  aspect_ratio: '16:9'
              sd25:
                summary: sd2.5-720p
                value:
                  model: sd2.5-720p
                  prompt: A cat walking through a garden, cinematic
                  duration: 8
                  aspect_ratio: '16:9'
              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'
              seedance720p933Ac:
                summary: sd2.5-720p-933-ac
                value:
                  model: sd2.5-720p-933-ac
                  prompt: The subject turns and smiles, cloth moving in the wind
                  duration: 8
                  aspect_ratio: '9:16'
                  images:
                    - https://example.com/character.png
              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
              wan3:
                summary: wan3-720p
                value:
                  model: wan3-720p
                  prompt: A rainy neon street, camera pushing slowly forward
                  duration: 10
                  aspect_ratio: '16:9'
              wan31080p:
                summary: wan3-1080p
                value:
                  model: wan3-1080p
                  prompt: The person in the reference image walks down a rainy street
                  duration: 15
                  aspect_ratio: '9:16'
                  images:
                    - https://example.com/person.jpg
              wan3Ac:
                summary: wan3-480p-20s-ac
                value:
                  model: wan3-480p-20s-ac
                  prompt: A cat running on grass, tracking shot
                  duration: 8
                  aspect_ratio: '16:9'
              museVideo:
                summary: muse-video
                value:
                  model: muse-video
                  prompt: A hot-air balloon rising out of morning fog in a valley
                  duration: 8
                  aspect_ratio: '16:9'
                  camera_movement: zoom_in
              museVideo30s:
                summary: muse-video-30s
                value:
                  model: muse-video
                  prompt: >-
                    A person walking the whole coastline at dusk, coat moving in
                    the wind
                  duration: 25
                  aspect_ratio: '9:16'
      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,  sd2.5-480p /
            sd2.5-720p / sd2.5-1080p, seedance2.0-md, sd2-480p-ac, sd2-720p-ac,
            sd2-720p-dl, sd2-720p-db, sd2.0-mini-720p, seedance2.5-30s,
            sd2.5-720p-ac, sd2.5-720p-933-ac, wan3-720p / wan3-1080p,
            wan3.0-prime-720p / wan3.0-prime-1080p, wan3-480p-20s-ac, or
            muse-video / muse-video-20s / muse-video-30s / muse-video-40s /
            muse-video-50s / muse-video-60s
          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;
            sd2-720p-dl: fixed 15; sd2-720p-db: 5/10/15; sd2.0-mini-720p: 4–15;
            sd2.5-480p / sd2.5-720p / sd2.5-1080p: 5–30; seedance2.5-30s: fixed
            30; sd2.5-720p-ac and sd2.5-720p-933-ac: 4–30; wan3-720p /
            wan3-1080p: 10–30; wan3.0-prime-720p: 10–30; wan3.0-prime-1080p:
            8–30; wan3-480p-20s-ac: 5–20; Muse Video: 1–60, billed as muse-video
            (1–10, default 5s when omitted) or muse-video-20s through
            muse-video-60s
        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. Muse Video supports 720p only
        first_image:
          type: string
          format: uri
          description: First-frame URL. Used by omni-10s and Muse Video
        last_image:
          type: string
          format: uri
          description: >-
            Last-frame URL; use with first_image. Muse Video also requires a
            first frame
        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
        first_image_url:
          type: string
          format: uri
          description: Alias of first_image. Accepted by Muse Video
        last_image_url:
          type: string
          format: uri
          description: Alias of last_image. Muse Video requires a first frame as well
        image_urls:
          type: array
          items:
            type: string
            format: uri
          description: >-
            Reference image URLs. Muse Video: frames plus references, up to 10
            on the 10s tier and 9 on the 20–60s tiers
        reference_image_urls:
          type: array
          items:
            type: string
            format: uri
          description: Alias of images
        camera_movement:
          type: string
          description: Muse Video camera move, free text, up to 1000 characters
        style:
          type: string
          description: Muse Video style, free text, up to 1000 characters
        negative_prompt:
          type: string
          description: >-
            Muse Video negative prompt, separate from prompt, up to 1000
            characters
        smart_queue:
          type: boolean
          default: false
          description: >-
            When true, a very low recent success rate keeps the task queued
            until recovery (up to about 2 hours)
    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.