可重试的失败包括500、502、503、504及超时错误;400/401/403/404需修正逻辑;429须暂停至少1秒而非重试;python推荐用retry策略或手动指数退避,读取超时不低于60秒;异步任务轮询需按阶梯延迟,上限15秒,12次未果则终止。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

识别哪些失败可以重试
先打开浏览器开发者工具(F12)→ Network → 触发一次API调用,找到对应请求,在Response里查看返回的HTTP状态码。若返回500、502、503、504或超时错误(如Network Error、ERR_CONNECTION_TIMED_OUT),说明是服务端临时问题,可重试;若返回400、401、403、404,则代表参数错误、鉴权失败或资源不存在,重试无意义,必须修正逻辑后再发起。
特别注意:LiblibAI对429(Too Many Requests)响应不支持自动重试——它意味着你已触发限流,此时应暂停请求至少1秒,而非立刻重试,否则会延长被封禁时间。
配置Python客户端的指数退避重试
方法一:使用requests.adapters.Retry配合urllib3
安装依赖:pip install requests urllib3
在代码中构造session并注入重试策略:
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
import requests
retry_strategy = Retry(
total=3,
status_forcelist=[500, 502, 503, 504],
allowed_methods=["POST"],
backoff_factor=1.5
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session = requests.Session()
session.mount("https://", adapter)
这一步必须做——不显式挂载adapter,requests默认不启用任何重试,哪怕你写了retry参数也不会生效。
方法二:手动实现带延迟的循环重试(适合调试或轻量脚本)
import time, random
import requests
def call_with_retry(url, json_data, headers, max_retries=3):
for i in range(max_retries + 1):
try:
response = requests.post(url, json=json_data, headers=headers, timeout=(5, 60))
if response.status_code in [500, 502, 503, 504]:
raise Exception(f"Server error {response.status_code}")
return response
except (requests.Timeout, requests.ConnectionError, Exception) as e:
if i == max_retries:
raise e
delay = (1.5 ** i) + random.uniform(0, 0.5)
time.sleep(delay)
注意:timeout参数必须显式设置为元组(连接超时, 读取超时),【读取超时不得低于60秒】,因为LiblibAI文生图任务实际生成耗时常在20–50秒之间,设太短会导致合法请求被误判为超时。
对接异步任务的轮询重试逻辑
第一步:调用/api/generate接口成功后,响应体中必含task_id字段;若缺失该字段,说明请求未进入异步队列,无需轮询,应直接检查签名或提示词格式。
第二步:立即发起第一次/task/status?task_id=xxx请求,获取初始状态;若返回code非0(如-1表示排队中、1表示处理中),则进入轮询循环。
第三步:按以下规则轮询——首次间隔1.2秒,第二次2.5秒,第三次5秒,之后每次乘以1.8并上限封顶至15秒;若连续3次返回code=0但data.url为空,终止轮询并报错“任务完成但图片未生成”,这通常意味着ControlNet预处理器崩溃或模板加载失败。
第四步:当响应中code=0且data.url存在时,停止轮询,提取URL下载图像;若轮询达12次仍未成功(约3分钟),强制退出并记录task_id供人工排查。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











