当 stream: false, task: true 时,接口创建异步任务并立即返回 task_id,通过轮询 GET /audio/v1/tasks/:task_id 获取结果。
创建任务响应
{
"created": 1719000000000,
"data": [],
"usage": null,
"task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_status": "pending"
}
查询任务状态
curl https://51kik.com/audio/v1/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H 'Authorization: Bearer sk-xxxxxxxx'
成功时
{
"task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_status": "success",
"model": "<async-audio-model>",
"created": 1719000000000,
"updated": 1719000005000,
"completed": 1719000005000,
"data": [{ "url": "https://example.com/audio.mp3" }],
"usage": { "billing_method": "characters", "characters": 1200 },
"error": null
}
失败时
{
"task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_status": "failed",
"model": "<async-audio-model>",
"created": 1719000000000,
"updated": 1719000050000,
"completed": 1719000050000,
"data": [],
"error": { "code": "upstream_task_failed", "message": "audio generation task failed" }
}
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
task_id | string | 任务 ID |
task_status | 'pending' | 'running' | 'success' | 'failed' | 'cancelled' | 任务状态 |
model | string | 请求模型 |
created | number | null | 任务创建时间戳,毫秒 |
updated | number | null | 任务更新时间戳,毫秒 |
completed | number | null | 任务完成时间戳,毫秒 |
data | Array<{ url?: string }> | 成功时返回音频 URL |
usage | object | null | 用量信息 |
error | { code: string; message: string } | null | 失败时返回错误信息 |
状态流转
pending -> running -> success
-> failed
-> cancelled
轮询建议
- 建议轮询间隔从 3 秒开始。
- 达到业务超时时间后停止轮询。
- 异步任务支持
upstream_options.unique_id做业务幂等标识。