feat: 错误提示中文化、GPT Image 余额查询、Nano Banana 自动重试

- gemini_client: 更新 429/504 中文错误文案,与产品文案对齐
- gpt_image_client: 新增 query_balance_sync / format_balance_info 余额查询方法
- gpt_image: 每次执行后打印余额日志(finally 块保证触发)
- nano_banana_pro: 单张生成支持自动重试,遇 429/503/504 最多重试 4 次,指数退避 2-32s,终端显示显眼重试状态
- nano_banana_pro: 关闭调试日志(DEBUG_LOG_ENABLED = False)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
This commit is contained in:
o1key
2026-04-22 18:10:35 +08:00
co-authored by Claude Sonnet 4.5
parent 949f7bb180
commit fe3cc65b71
4 changed files with 127 additions and 66 deletions
+3 -3
View File
@@ -115,13 +115,13 @@ class GeminiAPIClient(BaseAPIClient):
return "/v1beta/models/gemini-3-pro-image-preview:generateContent"
def get_http_error_message(self, status_code: int, error_message: str) -> Optional[str]:
"""Gemini 请求 429/503 时返回图中约定的多行错误框文案。"""
"""Gemini 请求 429/503/504 时返回中文错误文案。"""
if status_code == 429:
return "该型号资源已耗尽,但只是暂时的,请稍后重试。"
return "此型号资源暂时耗尽,继续重试即可"
if status_code == 503:
return "此型号目前需求量较大。需求高峰通常是暂时的。请稍后再试。"
if status_code == 504:
return "服务无法在截止期限内完成处理。请稍后重试。"
return "服务无法在截止期限内完成处理。可能原因是:您的提示词过大,无法及时处理。"
return None
def build_request_body(