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

# 豆包视频生成

> 使用 `POST /v1/videos` 调用豆包模型提交异步视频任务。

# 豆包视频生成

豆包渠道使用 `POST /v1/videos` 提交任务,以 `multipart/form-data` 提交。

* 路由入口是 `POST /v1/videos`。
* 当前使用 `multipart/form-data` 提交。
* 支持文生视频、首帧生视频、首尾帧生视频。
* 首帧图片通过 `first_frame_image` 字段上传,尾帧图片通过 `last_frame_image` 字段上传。
* 提交成功后返回任务 `id` 与 `status`,后续用 [任务状态查询](./doubao-query) 轮询结果。

## 支持模型

* `doubao-seedance-1-0-pro_480p`
* `doubao-seedance-1-0-pro_720p`
* `doubao-seedance-1-0-pro_1080p`
* `doubao-seedance-1-5-pro_480p`
* `doubao-seedance-1-5-pro_720p`
* `doubao-seedance-1-5-pro_1080p`

## 方法与路径

```http theme={null}
POST /v1/videos
```

## 请求示例

<CodeGroup>
  ```bash theme={null}
  curl -X POST https://octopusx.ai/v1/videos \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -F "model=doubao-seedance-1-5-pro_720p" \
    -F "prompt=猫咪听歌摇头晃脑,下大雨" \
    -F "size=4:3" \
    -F "seconds=4"
  ```

  ```python theme={null}
  import requests

  resp = requests.post(
      "https://octopusx.ai/v1/videos",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      data={
          "model": "doubao-seedance-1-5-pro_720p",
          "prompt": "猫咪听歌摇头晃脑,下大雨",
          "size": "4:3",
          "seconds": 4,
      },
      timeout=60,
  )
  print(resp.json())
  ```
</CodeGroup>

### 首帧生视频示例

<CodeGroup>
  ```bash theme={null}
  # 带首帧图片的请求示例
  curl -X POST https://octopusx.ai/v1/videos \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -F "model=doubao-seedance-1-5-pro_720p" \
    -F "prompt=让人物向前走并微笑" \
    -F "size=16:9" \
    -F "seconds=5" \
    -F "first_frame_image=@/path/to/first-frame.png"
  ```

  ```python theme={null}
  # 带首帧图片的请求示例
  import requests

  with open("first-frame.png", "rb") as f:
      resp = requests.post(
          "https://octopusx.ai/v1/videos",
          headers={"Authorization": "Bearer YOUR_API_KEY"},
          data={
              "model": "doubao-seedance-1-5-pro_720p",
              "prompt": "让人物向前走并微笑",
              "size": "16:9",
              "seconds": 5,
          },
          files={"first_frame_image": f},
          timeout=60,
      )
      print(resp.json())
  ```
</CodeGroup>

### 首尾帧生视频示例

<CodeGroup>
  ```bash theme={null}
  # 带首尾帧图片的请求示例
  curl -X POST https://octopusx.ai/v1/videos \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -F "model=doubao-seedance-1-5-pro_720p" \
    -F "prompt=平滑过渡" \
    -F "size=9:16" \
    -F "seconds=5" \
    -F "first_frame_image=@/path/to/first-frame.png" \
    -F "last_frame_image=@/path/to/last-frame.png"
  ```

  ```python theme={null}
  # 带首尾帧图片的请求示例
  import requests

  with open("first-frame.png", "rb") as f1, open("last-frame.png", "rb") as f2:
      resp = requests.post(
          "https://octopusx.ai/v1/videos",
          headers={"Authorization": "Bearer YOUR_API_KEY"},
          data={
              "model": "doubao-seedance-1-5-pro_720p",
              "prompt": "平滑过渡",
              "size": "9:16",
              "seconds": 5,
          },
          files={
              "first_frame_image": f1,
              "last_frame_image": f2,
          },
          timeout=60,
      )
      print(resp.json())
  ```
</CodeGroup>

## 响应示例

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "video_bbfbc1d2-ab22-44ca-b9dd-bc16983acac2",
    "object": "video",
    "model": "doubao-seedance-1-5-pro_720p",
    "status": "queued",
    "progress": 0,
    "created_at": 1761635478,
    "size": "720x720"
  }
  ```
</ResponseExample>

## 认证

```http theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Body

<ParamField body="model" type="string" required>
  模型名称。支持 `doubao-seedance-1-0-pro_480p`、`doubao-seedance-1-0-pro_720p`、`doubao-seedance-1-0-pro_1080p`、`doubao-seedance-1-5-pro_480p`、`doubao-seedance-1-5-pro_720p`、`doubao-seedance-1-5-pro_1080p`。
</ParamField>

<ParamField body="prompt" type="string" required>
  提示词。生成视频的文本描述,支持中文和英文。
</ParamField>

<ParamField body="first_frame_image" type="file">
  首帧图片。上传单个图片文件,用于首帧生视频场景。支持图片格式包括 png、jpeg、jpg、webp。
</ParamField>

<ParamField body="last_frame_image" type="file">
  尾帧图片。上传单个图片文件,用于首尾帧生视频场景。支持图片格式包括 png、jpeg、jpg、webp。
</ParamField>

<ParamField body="size" type="string">
  视频宽高比。可选值包括 `16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`21:9`、`keep_ratio`(与上传图片的宽高比保持一致)、`adaptive`(根据上传图片的比例自动选择最合适的宽高比)。
</ParamField>

<ParamField body="seconds" type="integer">
  视频时长(秒)。取值范围 `>= 4` 且 `< 12`。
</ParamField>

## Response

<ResponseField name="id" type="string">
  任务 ID。
</ResponseField>

<ResponseField name="object" type="string">
  固定为 `video`。
</ResponseField>

<ResponseField name="model" type="string">
  模型名称。
</ResponseField>

<ResponseField name="status" type="string">
  任务状态。可选值包括 `queued`(排队中)、`processing`(处理中)、`completed`(已完成)、`failed`(失败)、`cancelled`(已取消)。
</ResponseField>

<ResponseField name="progress" type="integer">
  进度百分比(0-100)。
</ResponseField>

<ResponseField name="created_at" type="integer">
  创建时间(Unix 时间戳)。
</ResponseField>

<ResponseField name="size" type="string">
  视频尺寸,例如 `720x720`。
</ResponseField>

## 相关接口

* [豆包视频概览](./overview)
* [任务状态查询](./doubao-query)
