Skip to content

异步任务

任务 API 是 LLMAPI 面向长耗时媒体任务的统一接口。客户端提交 JSON 任务后获得任务 ID,再通过轮询或 Server-Sent Events 获取最终结果。统一协议支持 imagevideo3d 三种模态的模型配置与资产返回。

当前可用性

图片与视频 Adapter 已可用。每个渠道只选择一个 Adapter。

3D 公共请求和基于 Channel 的路由结构仍然保留,但目前没有注册 3D Adapter,因此 3D 模型当前不可执行,也不会出现在 GET /v1/tasks/models

接口列表

MethodPath说明
POST/v1/tasks提交任务。
POST/v1/tasks/{id}/cancel取消仍在排队的任务。
GET/v1/tasks/{id}查询任务状态与结果。
GET/v1/tasks/{id}/assets/{index}下载结果资产。
GET/v1/tasks/events通过 SSE 监听任务更新。
GET/v1/tasks/models查看当前 Key 每个模型最终生效的价格和参数约束。

任务 API Key 只能访问 /v1/tasks*,以及用于 OpenAI Images 兼容同步调用的 POST /v1/images/generationsPOST /v1/images/edits。普通模型 API Key 不能提交任务。

生命周期

状态说明
queued已接收,等待处理。
running处理中。
succeeded成功完成,结果资产可用。
failed执行失败。
timeout执行超时。
canceled任务在执行前被取消。

模态

modality公共能力结果 assets[].kind当前状态
image文生图、参考图、编辑/重绘(取决于模型)image已开放
video文生视频、首尾帧、多素材参考、原生音频(取决于模型)video,可附带 audioimage配置视频渠道后可用
3d文本或参考图生成 3D 模型model,可附带 image 或纹理文件Adapter 尚未开放

计费与用量

任务提交时按当前 Key 对该模型生效的档位预扣 estimated_cost,成功后以 actual_cost 结算;实际费用较低时退回差额,较高时补扣差额。失败、超时或取消会释放预扣,不产生任务费用。

当前支持三种用户价格模式:图片规格矩阵(image_matrix)、视频时长(video_duration)和按次(per_request)。视频费用按任务的标准时长字段计算,不读取上游返回的 token usage。异步任务目前也不会写入传统 usage_logs;请以任务查询响应和管理端任务详情中的费用字段为准。

关键规则

  • 使用任务 API Key。
  • Key 可以按模型选择任务档位;未显式选择的模型使用该模型默认档位。
  • 请求中不要传档位参数,也不要修改模型名;使用 GET /v1/tasks/models 查询当前 Key 可以使用的内容。
  • 某个模型的选择失效时,仅该模型回到自己的默认档位。
  • 业务请求字段放在 params 中。
  • 如果传 params.model,它必须和顶层 model 一致。
  • LLMAPI 会按当前 Key 对请求模型最终生效的档位选择可用路线。
  • GET /v1/tasks/models 为唯一可用性来源,不要根据模型名称猜测模态或能力。

错误格式

任务 API 业务错误使用以下 JSON 结构;认证失败仍返回 authentication_error

json
{
  "error": {
    "type": "TASK_INVALID_REQUEST",
    "message": "params is required"
  }
}

常见任务错误:

错误类型HTTP 状态说明
authentication_error401API Key 缺失或无效。
TASK_SCOPE_REQUIRED403当前 API Key 未启用任务 API。
TASK_INVALID_REQUEST400请求体或参数无效。
TASK_UNSUPPORTED_MODEL400请求模型不可用于任务 API。
TASK_UNSUPPORTED_ADAPTER400选中的模型不能执行该任务类型。
TASK_PRICING_UNAVAILABLE503请求参数缺少可用价格配置。
TASK_STORAGE_UNAVAILABLE503结果资产存储不可用。
TASK_INSUFFICIENT_BALANCE403余额不足,无法覆盖任务预估费用。
TASK_QUEUE_LIMIT_EXCEEDED429用户或 API Key 达到排队任务限制。
TASK_NOT_FOUND404任务或资产不存在,或当前 Key 无权访问。