在使用 Recraft AI 时,突然出现 "RateLimit exceeded" 错误提示,或连续请求被拦截?这说明当前 IP 地址在 1 秒内向服务器发送了超过 5 次有效 API 调用,触发了平台的硬性速率限制。一旦触发,后续所有请求都会直接返回 429 状态码,连排队等待的机会都没有。换句话说,系统已认定你这波操作属于“超频”行为。

如何确认是否真的被限速
不要盲目重试,先确认是否真的触发了限制。打开浏览器开发者工具(F12),切换到 Network 标签页,在 Recraft 页面中执行一次生成操作。然后筛选出状态码为 429 的请求,点击查看其 Response 内容,检查是否包含 "rate limit exceeded" 或 "x-ratelimit-remaining: 0" 字段。如果确实存在,说明你已经超过了 5 次/秒的阈值。
强制退出并彻底清除会话痕迹
这一步非常关键,否则即使你耐心等待一段时间,错误仍然会反复出现。Recraft 的前端会缓存上一个会话的请求签名和时间戳,如果不清理,重试时系统仍会复用那些过期的令牌,继续判定你处于同一波超频请求中。
具体操作分为三步:
① 完全关闭 Recraft 的所有标签页和后台进程——注意检查任务管理器中是否有残留的 electron.exe 或 recraft.exe;
② 在 Chrome 地址栏输入 chrome://settings/clearBrowserData,时间范围选择“所有时间”,勾选“Cookie 及其他站点数据”和“缓存的图像和文件”,然后在下方“域”框内输入 recraft.ai,点击“清除数据”;
③ 【关键动作】重启浏览器后,先不要登录账号,直接使用无痕窗口访问 https://recraft.ai/app,让画板在首次加载时呈现“一张白纸”的状态。
等待策略与安全重试节奏
Recraft 的速率限制采用滑动窗口计数,并非整点重置。你需要从最后一次 429 响应头中的 x-ratelimit-reset 时间戳开始计算,等待满 1000 毫秒后才能恢复第一个可用额度。不过在实际操作中,更稳妥的做法是采取保守节奏——服务端毫秒级精度抖动容易导致误判,多等待 200 毫秒可以换来更稳定的体验。
这里有三种方法可供选择:
方法一:手动控制间隔
每次点击 Recraft 按钮后,立即查看右下角系统托盘的时间(精确到毫秒),等待满 1200 毫秒后再进行下一次操作。这样能有效避开服务端的毫秒级精度抖动。
方法二:使用浏览器自动节流插件
安装 "Requestly" 或 "Throttle Requests" 扩展 → 新建规则 → 匹配 URL 包含 api.recraft.ai → 设置延迟为 1200 毫秒 → 启用。之后所有请求都会自动延后发出,无需人工盯表。
方法三:切换请求发起源头
直接关闭当前浏览器 Tab,改用 curl 命令行调用——前提是你已配置了有效的 API Key。示例命令如下:
curl -X POST https://api.recraft.ai/v1/generate -H "Authorization: Bearer recraft_xxx" -H "Content-Type: application/json" -d '{"prompt":"logo"}' --retry 1 --retry-delay 1.2
