调用liblibai api成功后需用task_id轮询获取图片地址:向https://openapi.liblibai.cloud/v2/async/fetch发送post请求,解析返回json中data.state字段,state=2时data.url即为有效直链地址,时效通常24小时。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在LiblibAI调用API成功后拿到了task_id,但不知道下一步怎么拿到最终生成的图片地址,可能卡在轮询状态或误读返回字段。
通过异步进度查询接口获取任务状态与结果
LiblibAI所有文生图、图生图、视频生成任务均为异步执行,必须用task_id主动查询,不能依赖首次响应直接返回图片URL。
第一步:准备请求参数
构造POST请求体,仅需填入{"task_id": "your_task_id_here"},无需其他字段。
第二步:发送HTTP请求
向https://openapi.liblibai.cloud/v2/async/fetch发起POST请求,Header中必须包含Content-Type: application/json和有效的Authorization: Bearer {AccessKey}(注意不是SecretKey)。
第三步:解析返回JSON
重点看data.state字段:
• 值为1 → 任务仍在排队或渲染中,需等待后重试;
• 值为2 → 成功,此时data.url即为可直链访问的图片/视频公网地址;
• 值为3 → 失败,data.msg会说明具体原因,如“提示词含违禁词”“显存超限”等。
第四步:提取并使用结果链接
【data.url字段是唯一有效下载入口,不可拼接或修改】。该链接带有时效性签名,通常24小时内有效,过期需重新查询任务或触发重生成。
轮询策略与超时控制
任务从提交到完成通常需3–90秒,取决于模型复杂度与队列长度。盲目高频轮询会被限流,推荐采用指数退避策略:
方法一:基础轮询
首次查询后,若state=1,等待2秒→再查;仍为1,则等待4秒→再查;再为1则等待8秒,以此类推,最大间隔不超过30秒。
方法二:带超时终止的循环(Python示例)
用time.time()记录起始时间,总等待超过180秒立即中断,避免无限挂起。此时应检查task_id是否输错、API密钥权限是否失效、或模型服务是否临时不可用。
方法三:监听Webhook(需提前配置)
在调用原始生成接口时,于请求参数中加入callback_url字段(如https://your-server.com/liblib-hook),任务完成后LiblibAI将自动POST结果到该地址。此方式免轮询,但需你服务器能接收公网POST请求并验签。
常见失败场景与应对
当data.state == 3且data.msg显示“模型加载失败”时,大概率是所选Checkpoint未在当前节点部署。需登录LiblibAI网页端,在对应模型页确认右上角是否显示“✅ 已就绪”,未就绪则切换其他模型重试。
若返回"data.url": null但state == 2,说明任务逻辑完成但资源未落盘——这通常发生在启用“仅缓存不保存”选项时。此时需回到LiblibAI网页端图库,用该task_id搜索,手动点击“导出原图”触发持久化。











