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

# 视频remix

> 使用 `POST /v1/videos/{video_id}/remix` 基于已有 Veo 视频任务提交 remix 扩展。

# 视频remix

在已完成或可用的 Veo 视频任务基础上，通过 `POST /v1/videos/{video_id}/remix` 提交新的 remix 任务。对外仍返回 OpenAI 风格 `video` 对象。

* 路径参数 `video_id` 为原视频任务 ID。
* 请求体需同时提供 `prompt` 与 `model`。
* Remix 常用模型示例为 `veo_3_1-extend`，以当前渠道实际可用模型为准。
* 新任务响应中的 `remixed_from_video_id` 会指向源视频 ID。

## 方法与路径

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

## 请求示例

<CodeGroup>
  ```bash theme={null}
  curl -X POST https://octopusx.ai/v1/videos/video_fafb00cb-5475-4882-8714-57df146c6dbe/remix \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{
      "prompt": "牛飞到海里去了",
      "model": "veo_3_1-extend"
    }'
  ```

  ```python theme={null}
  import requests

  video_id = "video_fafb00cb-5475-4882-8714-57df146c6dbe"

  resp = requests.post(
      f"https://octopusx.ai/v1/videos/{video_id}/remix",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json",
          "Accept": "application/json",
      },
      json={
          "prompt": "牛飞到海里去了",
          "model": "veo_3_1-extend",
      },
      timeout=60,
  )
  print(resp.json())
  ```

  ```javascript theme={null}
  const videoId = "video_fafb00cb-5475-4882-8714-57df146c6dbe";

  const response = await fetch(
    `https://octopusx.ai/v1/videos/${videoId}/remix`,
    {
      method: "POST",
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
        Accept: "application/json",
      },
      body: JSON.stringify({
        prompt: "牛飞到海里去了",
        model: "veo_3_1-extend",
      }),
    }
  );

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

## 响应示例

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "video_456",
    "object": "video",
    "model": "veo_3_1-extend",
    "status": "queued",
    "progress": 0,
    "created_at": 1712698600,
    "size": "720x1280",
    "seconds": "8",
    "remixed_from_video_id": "video_123",
    "quality": ""
  }
  ```
</ResponseExample>

提交后请使用 [Veo 任务查询](./query) 轮询新返回的 `id`。

## 认证

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

## Path Parameters

<ParamField path="video_id" type="string" required>
  源视频任务 ID，与 [Veo 视频生成](./generation) 或查询接口返回的 `id` 一致。
</ParamField>

## Body

<ParamField body="prompt" type="string" required>
  Remix 提示词，描述希望如何改写或延续原视频内容。
</ParamField>

<ParamField body="model" type="string" required>
  Remix 使用的模型名称，例如 `veo_3_1-extend`。
</ParamField>

## Response

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

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

<ResponseField name="model" type="string">
  实际使用的 remix 模型。
</ResponseField>

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

<ResponseField name="progress" type="integer">
  任务进度百分比。
</ResponseField>

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

<ResponseField name="size" type="string">
  输出尺寸。
</ResponseField>

<ResponseField name="seconds" type="string">
  输出时长（秒）。
</ResponseField>

<ResponseField name="remixed_from_video_id" type="string">
  源视频任务 ID，即请求路径中的 `video_id`。
</ResponseField>

<ResponseField name="quality" type="string">
  画质相关字段，部分响应可能返回空字符串。
</ResponseField>

## 相关接口

* [Veo 视频概览](./overview)
* [Veo 视频生成](./generation)
* [Veo 任务查询](./query)
