/ai/v1/images,视频使用 /ai/v1/videos,统一任务记录使用 /ai/v1/tasks。
- 图片生成默认同步,传入
async: true后异步执行。 - 视频生成固定异步。
- 图片和视频详情接口用于获取媒体任务的最新状态。
/ai/v1/tasks提供图片、视频和 LLM 任务的统一只读视图。
视频教程:异步任务
讲解异步任务的整体机制,并以异步生图为例演示完整调用流程。
前往控制台开启异步任务
使用
/ai/v1 媒体任务接口前,请先为当前账户开启异步任务功能。快速开始
以下示例使用wan2.6-t2v 创建视频。该模型接受 duration 和 size;不同模型的有效字段可能不同。
三组接口如何选择
Base URL 为
https://aihubmix.com,认证方式为 Bearer Token:
/ai/v1/tasks 不提供创建接口。图片和视频必须通过对应的媒体生成接口创建;LLM
恢复任务由平台在客户端中断后自动保存。媒体接口和统一任务接口的区别
媒体详情接口与统一任务接口返回相同的任务顶层字段,但output 项和查询行为不同:
因此,轮询媒体生成状态时应使用图片或视频详情接口;需要统一筛选任务、读取结果元数据或恢复 LLM 响应时使用
/ai/v1/tasks。
如何发现异步媒体模型并获取 Schema
调用流程分为两步。先从公共模型目录取得支持异步接口的文生图或文生视频模型,再用模型的model_id 获取对应端点的请求 Schema。
获取支持异步接口的模型列表
模型目录与 Playground 使用同一数据源。type=image_generation 返回文生图模型,type=video 返回文生视频模型。增加 schema_checked=true 后,列表只包含已经提供并核对请求 Schema 的模型。
type 当前为单值筛选,获取两类模型时需要分别请求。
响应为 {success, message, data}。data 中与异步媒体接入相关的字段如下。
获取单个模型的请求 Schema
不同模型支持的字段、枚举和数值范围可能不同。提交图片或视频请求前,可以通过同一个公开接口获取指定模型当前可用的端点和请求 JSON Schema。modality 为 image 或 video。endpoints 数组中的每一项描述一个可用调用协议。
同一个模型可能同时返回
/ai/v1 与 OpenAI 兼容 /v1 端点。OpenAI 兼容接口可能暂不支持最新模型,请优先使用 /ai/v1 端点。异步任务接口应按 path 选择 /ai/v1/images/generations 或 /ai/v1/videos,再读取该项的 request.schema。不要依赖 endpoints 数组位置。
下面的命令可直接提取两个异步任务端点的请求 Schema。
404 model_not_found。端点数据暂时不可用时返回 500 endpoints_unavailable。
支持的模型和字段
图片和视频协议都定义了跨模型标准字段,但每个模型会基于实际能力收窄字段、枚举和数值范围。调用前应通过模型 Schema 接口获取对应模型的当前参数约束。 例如:wan2.6-t2v支持duration、size和seed,不接受resolution、aspect_ratio、frame_images、input_references或generate_audio。qwen-image-2.0支持n、size、seed、negative_prompt、image和images,不接受aspect_ratio或mask。
LLM 中断恢复模型
当前支持以下模型:- gpt-5.6-sol
- gpt-5.5-pro
- gpt-5.4-pro
- gpt-5.2-pro
- claude-fable-5
- claude-opus-5
如何创建图片任务
同步图片
省略async 或设置为 false 时,接口会等待生成完成并返回任务对象:
GET /ai/v1/images 查找对应任务。
异步图片
将async 设置为布尔值 true 后,接口会立即返回任务对象,生成在后台继续:
GET /ai/v1/images/{id} 查询异步图片任务。完成后,直接请求每个 output 项中的 content_url;该 URL 已包含对应图片的 result_id。
图片请求中的
async 必须是布尔值。webhook_url 和 webhook_events_filter
仅能与 async: true 一起使用。图片标准字段
如何创建视频任务
视频请求始终异步,不支持通过Prefer: wait 改为同步等待。标准协议使用整数 duration 表示秒数:
视频标准字段
input_references 项的结构:
type 可为 image_url、video_url 或 audio_url。
frame_images 项的结构:
frame_type 可为 first_frame 或 last_frame。
媒体任务对象
图片和视频专属接口返回以下结构:
媒体
output 项:
状态说明
客户端可以每 15 秒查询一次,直到状态变为
completed、failed 或 cancelled。15 秒是客户端轮询建议,不是服务端协议限制。
如何查询媒体任务
查询媒体详情
查询媒体列表
创建响应丢失时,可以通过对应媒体列表找回任务 ID:如何使用统一任务接口
统一任务接口支持以下筛选条件:
统一任务详情:
output 项:
/ai/v1/tasks/{id}/content。多产物任务需要请求 /ai/v1/tasks/{id}/content/{result_id};未指定结果 ID 时返回 400 result_id_required。
统一任务列表、详情和内容接口按创建任务时的 Bearer Token 隔离。同一账户下的其他
API Key 不能读取该任务。
如何下载媒体结果
下载图片
图片完成后,逐项请求媒体任务对象中的output[].content_url:
/ai/v1/images/{id}/content/{result_id}。媒体任务对象不单独公开 result_id,客户端直接使用 content_url 即可。
当 b64_json 非空时,可以直接对该字段进行 Base64 解码。
下载视频
如何使用 Webhook
异步图片和视频支持任务级 Webhook:webhook_url 最长 512 字符,并且不能指向本机、私网或其他受限地址。省略 webhook_events_filter 时,平台推送 completed、failed 和 cancelled;显式传入时,数组不能为空、不能重复,并且必须与 webhook_url 一起使用。
未在请求中传入 webhook_url 时,异步图片和视频会尝试使用账户中配置的默认回调地址。无效的账户默认地址会被忽略,不会阻止任务创建。
回调请求
results 仅在结果已存档时出现,下载仍需 Bearer Token。
重试与去重
平台采用至少一次投递,同一个事件可能重复送达:- HTTP
2xx表示接收成功。 - HTTP
5xx、网络错误或超时会触发重试。 - HTTP
3xx和4xx不会重试。 - 最多投递 6 次,重试间隔依次为 1、4、16、64、256 秒。
event_id,重复收到相同事件时直接返回 2xx。
LLM 中断恢复如何生效
LLM 中断恢复用于取回客户端断开连接后的最终响应。请求方式、流式行为和响应格式保持不变,也不会在请求开始时预先返回任务 ID。 以下条件需要同时满足:
平台仅在检测到响应未完整交付且客户端已经断开时创建恢复任务,并保存最终 JSON 或 SSE。正常完成并完整交付给客户端的 LLM 请求不会创建恢复任务。
LLM 响应头包含
X-Aihubmix-Request-Id。客户端应尽早保存该值,以便在控制台中定位对应请求。公开任务 API 当前不能按请求 ID 过滤;可以按模型和创建时间查询最近的 LLM 任务:
output 项包含 type=response、content_type、content_url 和 truncated。GET /ai/v1/tasks/{id}/content 返回保存的原始 JSON 或 SSE。
错误响应与错误码
本节适用于/ai/v1/images/*、/ai/v1/videos/*,以及 /ai/v1/tasks/* 中
object=image 或 object=video 的媒体任务。客户端需要同时处理 HTTP 非 2xx 响应和
HTTP 200、status=failed 的任务终态。
提交 HTTP 5xx 错误反馈
请求返回 HTTP
5xx 时,请提交反馈并附上 error.tid。HTTP 非 2xx 错误
invalid_request 和 schema_violation 行展示的是兜底 message。服务能够定位具体字段或
参数约束时会返回动态 message;客户端应以 code 判断错误类型,不要依赖 message 固定匹配。
media_form_unsupported 的 message 会根据已确认的原因生成,常见模板如下:
例如,模型允许 PNG、JPEG、WebP、HEIC 和 HEIF 时,GIF 图片返回:
HTTP 200 + Task status=failed
查询请求成功不代表生成成功。任务为 failed 时,客户端从任务对象的 error.code 和
error.message 读取失败原因:
完整视频示例
常见问题
媒体任务应该查询/ai/v1/tasks/{id} 还是媒体详情接口?
轮询生成状态时使用媒体详情接口:图片查询 /ai/v1/images/{id},视频查询 /ai/v1/videos/{id}。/ai/v1/tasks/{id} 返回只读快照。
为什么视频请求中的 seconds 报参数错误?
/ai/v1/videos 标准协议使用整数 duration,单位为秒。具体允许值由对应模型支持的参数决定。
为什么 resolution 在部分视频模型中报参数错误?
标准视频协议包含 resolution 和 size,但具体模型会收窄字段。例如 wan2.6-t2v 使用 size,不接受 resolution。
创建响应丢失后如何找回媒体任务?
图片请求 GET /ai/v1/images,视频请求 GET /ai/v1/videos。列表支持 after、limit 和 order 分页参数。
为什么两种详情接口的 output 字段不同?
媒体详情接口提供直接下载所需的简化字段;统一任务接口额外提供 result_id 和 content_type,并为 LLM 存档提供 truncated。
Webhook 没收到怎么办?
确认回调地址可以公开访问并及时返回 2xx,然后使用媒体详情接口查询最终状态。
更新时间:2026-08-12