> ## 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.

# 创建 Muse 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。

异步生成 **Muse Video**。使用统一入口 `POST /v1/videos`。成功返回 `task_id`，用 [查询视频任务](https://docs.sigrunai.com/zh/api-reference/common/query.md) 轮询，完成后从 `result.video_url` 取片。

成片为原生 **720p**。计费方式为 `per_task`（按次）。时长不乘价，但决定落到哪一档计费模型。实际单价以 [模型目录](https://docs.sigrunai.com/zh/api-reference/common/model-catalog.md) 与创建响应中的 `cost` 为准。

## 按时长选择模型

传入 `duration` 或 `seconds`（1～60）。系统按秒数选择计费模型，并在创建响应的 `model` 中返回该档。请求里写了别的档，仍以秒数为准。

| 时长 | 计费 `model` | 不传时长时 |
| - | - | - |
| **1～10** 秒 | `muse-video` | 请求模型为 `muse-video` 时默认 **5** 秒 |
| **11～20** 秒 | `muse-video-20s` | 默认 **20** 秒 |
| **21～30** 秒 | `muse-video-30s` | 默认 **30** 秒 |
| **31～40** 秒 | `muse-video-40s` | 默认 **40** 秒 |
| **41～50** 秒 | `muse-video-50s` | 默认 **50** 秒 |
| **51～60** 秒 | `muse-video-60s` | 默认 **60** 秒 |

超过 60 秒会被拒绝。例如请求 `muse-video` 且 `duration` 为 25，计费模型是 `muse-video-30s`；请求 `muse-video-60s` 且 `duration` 为 8，计费模型是 `muse-video`。

## 模式

| 模式 | 传参 |
| - | - |
| 文生视频 | 不传图片 |
| 首帧 / 首尾帧 | 传 `first_image`（及可选 `last_image`）。也可设 `first_last_frame: true`，并在 `images` 里按顺序放首帧、尾帧 |
| 参考图 | 传 `images` / `reference_images` / `image_urls` / `reference_image_urls` |

首尾帧可以和参考图一起用。尾帧必须同时有首帧。首尾帧与参考图**合计**张数：落到 `muse-video` 时最多 **10** 张，落到 20～60 秒档时最多 **9** 张。不支持参考视频和参考音频。

## 请求参数

| 字段 | 类型 | 必填 | 说明 |
| - | - | - | - |
| `model` | string | 是 | 上表任一档。下划线写法如 `muse_video_20s` 也可 |
| `prompt` | string | 是 | 整段视频的主体、动作和氛围，1～4000 字 |
| `duration` / `seconds` | int \| string | 否 | **1～60**。不传时按上表默认。字符串亦可（如 `"25"`） |
| `aspect_ratio` / `ratio` | string | 否 | `16:9`、`9:16`、`1:1`、`4:3`、`3:4`；默认 `16:9` |
| `orientation` | string | 否 | `portrait` / `vertical` 为 `9:16`，`landscape` / `horizontal` 为 `16:9` |
| `size` | string | 否 | 比例，或 `1280x720` / `1920x1080` / `720x1280` / `1080x1920` |
| `resolution` | string | 否 | 仅 `720p`；省略即可 |
| `first_image` / `first_image_url` | string | 否 | 首帧 URL |
| `last_image` / `last_image_url` | string | 否 | 尾帧 URL；必须同时有首帧 |
| `images` / `reference_images` / `image_urls` / `reference_image_urls` | string\[] | 否 | 参考图 URL。多个字段同时出现时，按 `reference_images`、`image_urls`、`images`、`reference_image_urls` 取第一组非空列表 |
| `camera_movement` | string | 否 | 运镜，自由文本，最长 1000 字。例如 `zoom_in`、`pan_left`、`static` |
| `style` | string | 否 | 风格，自由文本，最长 1000 字。例如 `cinematic`、`anime` |
| `negative_prompt` | string | 否 | 不要出现的内容，与 `prompt` 分开，最长 1000 字 |
| `first_last_frame` | boolean | 否 | `true` 时把 `images` 的前两张当作首帧、尾帧 |
| `smart_queue` | bool | 否 | 默认 `false`。为 `true` 时，近期成功率过低会先保持 `queued`，恢复后再提交（最长约 2 小时）。详见 [智能排队](https://docs.sigrunai.com/zh/api-reference/common/smart-queue.md) |

参考素材须为公网 `https://` 直链，或 data URL。

## 示例

### 文生视频（8 秒，计费 `muse-video`）

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "muse-video",
    "prompt": "热气球从山谷的晨雾中缓缓升起",
    "duration": 8,
    "aspect_ratio": "16:9",
    "camera_movement": "zoom_in"
  }'
```

### 25 秒（计费 `muse-video-30s`）

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "muse-video",
    "prompt": "一个人沿海岸走完整个黄昏，海风吹动衣角",
    "duration": 25,
    "aspect_ratio": "9:16",
    "style": "cinematic"
  }'
```

### 首尾帧与参考图

```bash theme={null}
curl -X POST 'https://sigrunai.com/v1/videos' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "muse-video-20s",
    "prompt": "让画面中的人物转身微笑",
    "first_image": "https://example.com/first.png",
    "last_image": "https://example.com/last.png",
    "images": ["https://example.com/ref.png"],
    "negative_prompt": "blurry, watermark, text"
  }'
```

未传 `duration` 时，`muse-video-20s` 按 20 秒计费。

成功响应示例：

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

`data.model` 是按时长落到的计费档。

## 轮询

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

状态说明见 [查询视频任务](https://docs.sigrunai.com/zh/api-reference/common/query.md)。完成后读取 `data.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.