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://routerbrain.ai/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_idstring任务 ID
task_status'pending' | 'running' | 'success' | 'failed' | 'cancelled'任务状态
modelstring请求模型
creatednumber | null任务创建时间戳,毫秒
updatednumber | null任务更新时间戳,毫秒
completednumber | null任务完成时间戳,毫秒
dataArray<{ url?: string }>成功时返回音频 URL
usageobject | null用量信息
error{ code: string; message: string } | null失败时返回错误信息

状态流转

pending -> running -> success
                  -> failed
                  -> cancelled

轮询建议

  • 建议轮询间隔从 3 秒开始。
  • 达到业务超时时间后停止轮询。
  • 异步任务支持 upstream_options.unique_id 做业务幂等标识。