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

# 视频Extensions

> 使用 `POST /v1/videos/extensions` 对指定 Grok 视频任务做片段扩展。

# 视频Extensions

OpenAI 格式与统一视频共用 `POST /v1/videos/extensions` 路径。统一视频链路说明见 [视频Extensions（统一视频）](./unified-extensions)。

通过 `POST /v1/videos/extensions` 对已有视频任务的指定片段做扩展，在 Body 的 `video.url` 里传入原任务 ID。

* 路由入口是 `POST /v1/videos/extensions`。
* 必填 `model`、`prompt`、`video`、`start_time`。
* `video.url` 填原视频任务 ID，例如 `grok:f673ba58-b053-4d8d-8938-c0b429de4d7f`。

## 方法与路径

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

## 请求示例

<CodeGroup>
  ```bash theme={null}
  curl -X POST https://octopusx.ai/v1/videos/extensions \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{
      "model": "grok-video-3",
      "prompt": "play with another white cat",
      "duration": 6,
      "start_time": 4,
      "video": {
        "url": "grok:f673ba58-b053-4d8d-8938-c0b429de4d7f"
      }
    }'
  ```

  ```python theme={null}
  import requests

  resp = requests.post(
      "https://octopusx.ai/v1/videos/extensions",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json",
          "Accept": "application/json",
      },
      json={
          "model": "grok-video-3",
          "prompt": "play with another white cat",
          "duration": 6,
          "start_time": 4,
          "video": {"url": "grok:f673ba58-b053-4d8d-8938-c0b429de4d7f"},
      },
      timeout=60,
  )
  print(resp.json())
  ```

  ```javascript theme={null}
  const response = await fetch("https://octopusx.ai/v1/videos/extensions", {
    method: "POST",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
      Accept: "application/json",
    },
    body: JSON.stringify({
      model: "grok-video-3",
      prompt: "play with another white cat",
      duration: 6,
      start_time: 4,
      video: { url: "grok:f673ba58-b053-4d8d-8938-c0b429de4d7f" },
    }),
  });

  console.log(await response.json());
  ```
</CodeGroup>

## 响应示例

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "grok:48a67431-0708-46d1-9ab9-83cb84700153",
    "status": "processing",
    "status_update_time": 1762685256
  }
  ```
</ResponseExample>

## 认证

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

## Body

<ParamField body="model" type="string" required>
  模型名称，例如 `grok-video-3`。
</ParamField>

<ParamField body="prompt" type="string" required>
  扩展片段的提示词。
</ParamField>

<ParamField body="video" type="object" required>
  原视频引用。当前要求包含 `url` 字段。
</ParamField>

<ParamField body="video.url" type="string" required>
  原视频任务 ID（不是可播放的 HTTP 链接），例如 `grok:f673ba58-b053-4d8d-8938-c0b429de4d7f`。
</ParamField>

<ParamField body="start_time" type="integer" required>
  片段开始时间（秒），从原视频的该时间点起做扩展。
</ParamField>

<ParamField body="duration" type="integer">
  扩展后的目标时长（秒）。默认 `10`，支持 `6`、`10`、`15`。
</ParamField>

## Response

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

<ResponseField name="status" type="string">
  任务状态，常见值包括 `processing`、`completed`、`failed`。
</ResponseField>

<ResponseField name="status_update_time" type="integer">
  状态最近更新时间（Unix 时间戳）。
</ResponseField>

## Extend 与 Extensions 的区别

| 项目     | 视频Extend                            | 视频Extensions                 |
| ------ | ----------------------------------- | ---------------------------- |
| 路径     | `POST /v1/videos/{video_id}/extend` | `POST /v1/videos/extensions` |
| 原任务 ID | 路径参数 `video_id`                     | Body `video.url`             |
| 典型场景   | 基于路径绑定原任务做延展                        | 独立入口，适合批量或编排调用               |

## 相关接口

* [Grok 视频概览](./overview)
* [Grok 视频生成](./generation)
* [视频Remix](./remix)
* [视频Extend](./extend)
* [Grok 任务查询](./query)
* [视频Extensions（统一视频）](./unified-extensions)
