图片 provider 路由拒绝已退役的 gpt-image-2-c

gpt-image-2-c 仅保留历史 fallback 与审计字符串

resolve_image_provider 白名单不再接受该值

补充拒绝断言
This commit is contained in:
2026-09-21 20:02:14 +08:00
parent 44798ba380
commit 784f38220b
2 changed files with 5 additions and 4 deletions
@@ -110,10 +110,9 @@ pub fn normalize_image_model(model: &str) -> &str {
/// 命中即拒绝。`gpt-image-2` 仍按历史可读值接受。
pub fn resolve_image_provider(model: &str) -> Result<ImageProvider, &'static str> {
match normalize_image_model(model) {
GPT_IMAGE_2_MODEL
| GPT_IMAGE_2_C_MODEL
| GPT_IMAGE_2_5_GENERATION_MODEL
| GPT_IMAGE_2_5_EDIT_MODEL => Ok(ImageProvider::Tiantoken),
GPT_IMAGE_2_MODEL | GPT_IMAGE_2_5_GENERATION_MODEL | GPT_IMAGE_2_5_EDIT_MODEL => {
Ok(ImageProvider::Tiantoken)
}
NANOBANANA_2_MODEL => Ok(ImageProvider::VectorEngine),
_ => Err("不支持的图片模型"),
}
@@ -232,6 +232,8 @@ fn nanobanana_generate_content_url_blank_model_falls_back_to_nanobanana_model()
fn resolve_image_provider_rejects_business_model_and_accepts_concrete_models() {
// 中文注释:业务模型名不是 provider model,必须在 api-server 任务边界先解析成具体 model。
assert!(resolve_image_provider(GPT_IMAGE_2_5_BUSINESS_NAME).is_err());
// 中文注释:`gpt-image-2-c` 只是历史 fallback / 审计字符串,永不作为 provider model。
assert!(resolve_image_provider(GPT_IMAGE_2_C_MODEL).is_err());
assert_eq!(
resolve_image_provider(GPT_IMAGE_2_5_GENERATION_MODEL),