> ## 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 Omni 10s video

> 统一视频创建入口。当前可用 model：omni-10s、seedance2.0-md、seedance2.5-30s。

Create an async **Omni 10s** (`omni-10s`) video task via the unified entry `POST /v1/videos` with `model` set to `omni-10s`. Poll with [Query video task](/en/api-reference/common/query) and read `result.video_url` when completed.

## Model

| `model` | Alias | Billing key | Duration | Resolution |
| - | - | - | - | - |
| `omni-10s` | `omni-flash-10s` (normalized to `omni-10s`) | `omni-10s` | Fixed **10** seconds | Fixed **720p** |

Billing is `per_task`. Check the [model catalog](/en/api-reference/common/model-catalog) and the create response `cost` for live prices.

## Constraints

* Aspect ratio: `16:9` or `9:16` only; default `16:9`
* `duration` / `seconds` may be omitted; if set, must be `10`
* Resolution is fixed at `720p`
* Reference audio is **not** supported
* These modes are **mutually exclusive**:
  * Text-to-video (`prompt` only)
  * Reference images (max **7**)
  * Reference videos (max **7**; cannot mix with reference images)
  * First/last frames (`first_image` required; `last_image` optional; cannot mix with reference images/videos)

Reference media must be public `https://` URLs.

## Request body

| Field | Type | Required | Description |
| - | - | - | - |
| `model` | string | yes | `omni-10s` (or alias `omni-flash-10s`) |
| `prompt` | string | yes | Generation prompt; cannot be empty |
| `aspect_ratio` / `ratio` | string | no | `16:9` or `9:16` only; default `16:9` |
| `duration` / `seconds` | int \| string | no | Fixed **10**; may be omitted |
| `images` / `reference_images` | string\[] | no | Reference images, max **7** |
| `videos` / `reference_videos` | string\[] | no | Reference videos, max **7** |
| `first_image` | string | conditional | First-frame URL for frame mode; required when using a last frame |
| `last_image` | string | no | Last-frame URL; use together with `first_image` |

## 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": "omni-10s",
    "prompt": "A golden retriever running across a sunny meadow, cinematic tracking shot",
    "aspect_ratio": "16:9"
  }'
```

### First and 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": "omni-10s",
    "prompt": "Smooth push from close-up to wide shot with natural lighting",
    "aspect_ratio": "9:16",
    "first_image": "https://example.com/first.jpg",
    "last_image": "https://example.com/last.jpg"
  }'
```

Success response:

```json theme={null}
{
  "code": 20000,
  "msg": "提交成功",
  "data": {
    "task_id": "vid_xxxxxxxx",
    "status": "queued",
    "progress": 0,
    "model": "omni-10s",
    "cost": 0,
    "result": {}
  }
}
```

`cost` is the charge for this task in credits; use the live response value.

## 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 values. When completed, read `data.result.video_url` (kept for about **3** days — 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, seedance2.0-md,
        seedance2.5-30s.
      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'
              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'
      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, seedance2.0-md, or seedance2.5-30s
          example: omni-10s
        prompt:
          type: string
        duration:
          oneOf:
            - type: integer
            - type: string
          description: >-
            omni-10s: fixed 10; seedance2.0-md: 5/10/15; seedance2.5-30s: fixed
            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
        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.