列出任务
一次查询多个任务,或按状态、创建时间筛选:参数、返回和错误。
GET
https://api.nanoapi.ai/v1/tasks一次查询多个任务(最多 20 个),或者按状态、创建时间筛选。所有响应都是 { code, message, data } 这一层外层,见响应格式。
参数
| 查询参数 | 说明 |
|---|---|
ids | 最多 20 个任务 ID,英文逗号分隔,用来一次查询多个任务。传了它,其他筛选条件和分页都会被忽略 |
status | queued、running、succeeded 或 failed |
created_after / created_before | 创建时间范围(ISO 8601) |
limit / starting_after | 见分页 |
curl "https://api.nanoapi.ai/v1/tasks?ids=tk_01jb8z5q4w3e2r1t0y9u8i7o6p,tk_01jb8z7c2d4f6g8h0j2k4m6n8p" \
-H "Authorization: Bearer $NANOAPI_API_KEY"返回
成功返回 200,data 是列表:
{
"code": 200,
"message": "success",
"data": {
"object": "list",
"items": [
{
"object": "task",
"id": "tk_01jb8z7c2d4f6g8h0j2k4m6n8p",
"model": "genjutsu-1.0",
"status": "running",
"input": {
"mode": "motion_control",
"image_urls": ["https://example.com/person.png"],
"video_url": "https://example.com/walk.mp4",
"prompt": "",
"resolution": "720p"
},
"num_outputs": 1,
"outputs": [],
"billing": {
"currency": "USD",
"frozen": "2.73",
"charged": "0.00",
"refunded": "0.00",
"billed_seconds": null
},
"error": null,
"webhook_url": null,
"created_at": "2026-10-22T08:40:00Z",
"started_at": "2026-10-22T08:41:10Z",
"finished_at": null,
"elapsed_seconds": null
},
{
"object": "task",
"id": "tk_01jb8z5q4w3e2r1t0y9u8i7o6p",
"model": "genjutsu-1.0",
"status": "succeeded",
"input": {
"mode": "motion_control",
"image_urls": ["https://example.com/person.png"],
"video_url": "https://example.com/dance.mp4",
"prompt": "",
"resolution": "720p"
},
"num_outputs": 1,
"outputs": [
{
"index": 0,
"type": "video",
"url": "https://file.example.com/outputs/tk_01jb8z5q4w3e2r1t0y9u8i7o6p/0.mp4",
"preview_url": "https://file.example.com/outputs/tk_01jb8z5q4w3e2r1t0y9u8i7o6p/0_compressed.mp4"
}
],
"billing": {
"currency": "USD",
"frozen": "4.095",
"charged": "4.095",
"refunded": "0.00",
"billed_seconds": 15
},
"error": null,
"webhook_url": "https://example.com/hooks/nanoapi",
"created_at": "2026-10-22T08:30:00Z",
"started_at": "2026-10-22T08:31:05Z",
"finished_at": "2026-10-22T08:47:12Z",
"elapsed_seconds": 1032
}
],
"has_more": false
}
}items的每一项都是完整的任务对象,按创建时间倒序。请按id对应结果,不要依赖顺序。has_more为true时还有下一页,见分页。ids里不存在或不属于你的 ID 会被直接略过,starting_after找不到时返回空列表,都不会报404。- 查询类接口每 10 秒最多 60 次,等待中的任务请合并成一次查询(见限流)。
错误
查询请求出错时返回 4xx / 5xx。这只说明这一次查询没成功,和任务的结果无关。例如 ids 超过 20 个:
{
"code": 400,
"message": "ids must contain 1 to 20 task ids.",
"error": {
"type": "invalid_request",
"param": "ids",
"details": null
},
"request_id": "rq_01jb8z9x2c4v6b8n0m1q3w5e7r"
}程序按 error.type 判断,error.param 是出错的参数。
error.type | 状态码 | 什么时候出现 | 怎么处理 |
|---|---|---|---|
invalid_request | 400 | 参数不对:limit 不在 1–100 之间;ids 为空或超过 20 个(param 为 "ids");status 不是 queued / running / succeeded / failed;created_after / created_before 不是带时区的 ISO 8601 时间 | 按 param 修正参数 |
invalid_api_key | 401 | 没带 Key、格式不对,或者 Key 不存在、已删除、已重置 | 换一个有效的 Key |
account_suspended | 403 | 账号已停用 | 联系 support@nanoapi.ai |
rate_limited | 429 | 查询太频繁:所有查询接口(查询任务、列出任务、查询余额、产品列表)加起来每个账号每 10 秒最多 60 次,所有 Key 共享(网站试玩也算在内) | 等 Retry-After 秒后重试。翻页也算查询,不要连续快速翻页 |
internal_error | 500 | 服务端出错 | 查询没有副作用,可以直接重试 |