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

# Seedance 视频任务提交后可以取消吗？

> 说明 Seedance 2.0 异步视频任务提交后是否支持取消，以及如何避免重复提交和处理扣费核查。

## 简短回答

根据当前公开的 Seedance 2.0 API 文档，接口提供了“创建任务”和“查询任务状态”能力，但没有提供任务取消或删除接口。

创建任务成功后，接口会返回一个 `task_id`。客户端超时、网络中断、关闭网页或停止轮询，都不能作为“任务已经取消”的依据。遇到这类情况，应先查询原任务状态，再决定是否重试，避免重复创建任务。

## 当前公开接口和任务状态

Seedance 2.0 当前使用异步任务接口：

| 操作   | 接口                                                     | 说明                  |
| ---- | ------------------------------------------------------ | ------------------- |
| 创建任务 | `POST /seedance/api/v3/contents/generations/tasks`     | 提交视频生成任务，成功后返回任务 ID |
| 查询任务 | `GET /seedance/api/v3/contents/generations/tasks/{id}` | 查询任务状态，成功后获取视频地址    |
| 取消任务 | 当前公开文档未提供                                              | 暂无公开的取消或删除接口        |

任务状态通常按以下流程变化：

```text theme={null}
queued → running → succeeded / failed / expired
```

* `queued`：任务已创建，正在排队。
* `running`：任务正在处理。
* `succeeded`：视频生成成功。
* `failed`：任务处理失败。
* `expired`：任务超过有效执行时间，进入过期状态。

生成成功后，视频地址位于：

```text theme={null}
content.video_url
```

该地址是临时签名链接，当前文档说明有效期约为 24 小时。任务成功后应及时下载并保存视频。

<Warning>
  当前公开 API 文档未提供任务取消接口。停止本地脚本或停止轮询，只会停止客户端继续查询，不能证明服务端任务已经被撤回。
</Warning>

## 任务提交后应该怎么处理？

### 第一步：保存 task\_id 和请求信息

创建请求成功后，应立即保存返回的 `task_id`。

同时建议记录以下信息：

* 模型名称；
* 提示词或提示词摘要；
* 视频时长、分辨率、比例等主要参数；
* 提交时间；
* request ID；
* 业务系统中的业务 ID。

这些信息可以用于后续查询任务、定位问题和核对账单。

### 第二步：查询原任务状态

Seedance 2.0 是分钟级异步任务。当前 API 文档建议：

* 提交后等待约 20–30 秒，再进行第一次查询；
* 后续每隔 10–20 秒查询一次；
* 不要因为短时间内没有返回视频就立即重新提交。

查询任务示例：

```bash theme={null}
curl "https://api.apiyi.com/seedance/api/v3/contents/generations/tasks/YOUR_TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

请将以下占位符替换为实际值：

* `YOUR_TASK_ID`：创建任务接口返回的任务 ID；
* `YOUR_API_KEY`：API易控制台创建的 API Key。

### 第三步：根据任务状态处理

查询到不同状态后，可以按照以下方式处理：

* 如果状态是 `queued`，说明任务仍在排队，继续等待并查询。
* 如果状态是 `running`，说明任务正在生成，继续等待并查询。
* 如果状态是 `succeeded`，从 `content.video_url` 获取视频并立即下载。
* 如果状态是 `failed`，查看响应中的 `error` 信息。
* 如果状态是 `expired`，查看任务详情和调用日志，确认任务过期原因。

不要把 `queued` 或 `running` 当成失败，也不要因为任务尚未完成就重复创建任务。

### 第四步：客户端超时后先确认任务状态

如果客户端没有收到完整响应，先不要直接重试。

建议按照以下顺序排查：

1. 检查客户端响应中是否已经返回 `task_id`。
2. 检查控制台调用日志中是否已经记录任务。
3. 如果已经有 `task_id`，优先查询原任务。
4. 如果暂时没有找到 `task_id`，不要仅凭网络错误判断任务一定没有创建。
5. 如果无法确认任务是否创建，再联系客服核查后重试。

这是因为客户端超时只说明客户端没有在预期时间内收到响应，不足以单独证明服务端没有创建任务。

## 如何避免重复提交？

以下内容属于接入侧的工程实践，不是平台强制规则：

* 为每次业务请求生成唯一的业务 ID。
* 保存业务 ID 与 Seedance `task_id` 的对应关系。
* 用户点击提交后，暂时禁用重复提交按钮。
* 客户端超时或进程退出后，优先恢复查询原任务。
* 保存提示词、模型、时长、比例和参考素材等请求信息。
* 只有在确认原任务不存在或已经明确失败后，再考虑是否重新提交。
* 轮询程序应区分处理中状态和终态，不要把 `queued`、`running` 当成失败。

对于 Agent、脚本或后台服务，建议将任务创建和任务查询拆开处理：

```text theme={null}
创建任务：只执行一次
保存 task_id：写入数据库或任务记录
查询任务：根据 task_id 持续轮询
进程恢复：读取已保存的 task_id，继续查询
```

这样即使本地程序退出，也可以在恢复后继续查询原任务，而不是重新创建任务。

## 重复提交后如何核对扣费？

Seedance 2.0 当前文档说明，计费采用：

```text theme={null}
提交任务时预扣费 → 任务完成后根据实际结果多退少补
```

因此，余额变化和日志记录可能不是一次性完成的。概览文档还说明，一条视频任务可能对应预扣费和后续结算等多条日志记录，最终应以调用日志为准。

另外，因参数错误被拒、且没有创建成功任务的请求，例如 `InvalidParameter` 类型的 HTTP 400 请求，当前文档说明不计费。

但以下情况不能仅凭一个状态直接判断是否扣费：

* 客户端 timeout；
* 网络断开；
* `failed`；
* `expired`；
* 客户端没有收到完整响应；
* 客户端显示请求失败，但服务端可能已经创建任务。

如果已经重复创建了多个任务，请先停止继续提交，并整理以下信息：

* 所有相关的 Seedance `task_id`；
* 对应的 request ID；
* 提交时间；
* 模型名称；
* 主要请求参数；
* 控制台调用日志；
* 账单或扣费记录截图。

然后联系客服进行人工核查。是否产生费用、是否存在重复扣费，以及后续是否可以进行费用处理，应以实际任务记录、调用日志、账单记录和平台核查结果为准。

<Note>
  不建议直接根据 `failed`、`expired` 或客户端 timeout 判断“一定扣费”或“一定不扣费”。
</Note>

## 常见问题

### 我停止轮询后，Seedance 任务会自动停止吗？

不能这样判断。

停止轮询只表示客户端不再继续查询任务状态。当前公开 API 文档没有提供取消接口，因此客户端停止轮询不等于已经取消服务端任务。

请保存原来的 `task_id`，稍后继续查询。

### 请求超时后可以直接重试吗？

不建议直接重试。

应先检查：

* 响应中是否包含 `task_id`；
* 控制台调用日志中是否已经有任务记录；
* 原任务当前是什么状态；
* 是否已经产生对应的计费记录。

如果原任务已经创建，应先查询原任务，避免同一业务请求生成多个视频任务。

### 任务显示 failed 或 expired，一定不会扣费吗？

不能仅凭任务状态判断费用结果。

Seedance 2.0 使用提交预扣、完成后结算的计费方式。请同时查看调用日志和账单记录。如果发现费用记录异常，请提供任务 ID 和 request ID 联系客服核查。

### 参数错误导致 HTTP 400 会扣费吗？

当前文档说明，因参数错误被拒、且未创建任务的请求不计费。

例如：

* 参数格式错误；
* 不支持的分辨率；
* 非法的宽高比；
* 不支持的视频时长；
* 模型与参数组合不匹配。

但不要把所有 HTTP 400 都简单归类为同一种情况，最终仍应以具体错误信息、任务记录和调用日志为准。

### 成功后生成的视频地址可以保存多久？

当前文档说明，成功响应中的 `content.video_url` 是临时签名地址，有效期约为 24 小时。

建议在任务变成 `succeeded` 后立即下载并转存，不要把该地址当作永久链接。

当前文档还说明，任务 ID 本身保存期限为 7 天。为了方便业务追踪，仍建议在自己的系统中保存任务记录。

## 相关文档

* [Seedance 2.0 视频生成 API](/api-capabilities/seedance2/video-generation)
* [Seedance 2.0 视频生成概览](/api-capabilities/seedance2/overview)
* [模型调用报错怎么排查？](/faq/model-error-troubleshooting)

## 联系我们

如果遇到以下情况，可以联系客服协助核查：

* 任务长时间停留在 `queued` 或 `running`；
* 客户端超时后无法确认任务是否创建；
* 重复提交后出现多个任务；
* 任务状态与扣费记录不一致；
* 成功任务无法获取或下载视频。

联系客服时，请尽量提供：

* Seedance `task_id`；
* request ID；
* 提交时间；
* 模型名称；
* 主要请求参数；
* 控制台调用日志；
* 相关账单记录。

客服入口：[企业微信客服](https://work.weixin.qq.com/kfid/kfc9adfd5810ece25ec)
