feat(ai): 图像主力从 tokenssr 切到 yunqi(支持 images/edits 图生图)

TOKENSSR 余额将尽,切换图像默认 provider 到 yunqi。yunqi 的图生图
端点需 Azure 风格 ?api-version=2025-04-01-preview,不带会 404。

- provider 加 api_version 字段,OpenAICompatible 生图/改图端点自动附加
  ?api-version=(配了才加,tokenssr 等零影响)
- build_provider 解析 api_version:DB(ModelProvider.metadata)优先 → .env 回退
- 迁移 0007:启用 yunqi:gpt-image-2 为唯一 active 图像模型,禁用其余
- 摘除死代码 YunqiProvider 导出(旧类写死"不支持图生图"会误导)

端到端验证:图生图(三视图,36s)+文生图(14s)均正常出图。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
zyc
2026-06-18 18:15:34 +08:00
co-authored by Claude Opus 4.8
parent a71be19500
commit 4399da2090
6 changed files with 89 additions and 5 deletions
+4 -1
View File
@@ -66,7 +66,10 @@ def build_provider(model_config: ModelConfig):
base_url, api_key = resolve_provider_credentials(provider)
if provider.name in OFFICIAL_DIRECT_PROVIDERS:
return VolcanoArkProvider(base_url=base_url, api_key=api_key)
return OpenAICompatibleProvider(base_url=base_url, api_key=api_key)
# api_version:某些中转站(yunqi)的 images/edits 需 Azure 风格 ?api-version=...。
# DB(ModelProvider.metadata.api_version)优先 → settings(.env)回退,与凭证同款可插拔。
api_version = (provider.metadata or {}).get("api_version") or settings.PROVIDER_API_VERSIONS.get(provider.name)
return OpenAICompatibleProvider(base_url=base_url, api_key=api_key, api_version=api_version or None)
def get_image_provider(model_config: ModelConfig):