From 75a589dad8d8cf572bb0c89aba17ece2c506a52c Mon Sep 17 00:00:00 2001 From: suyx Date: Tue, 4 Aug 2026 17:58:33 +0800 Subject: [PATCH] fix(wp7-02): restore native Gemini image routing --- config/wp7-02-oneapi-test.json | 14 +++++++------- scripts/lib/wp7-02-controlled-executor.mjs | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config/wp7-02-oneapi-test.json b/config/wp7-02-oneapi-test.json index b63025c..fff8eaf 100644 --- a/config/wp7-02-oneapi-test.json +++ b/config/wp7-02-oneapi-test.json @@ -1,25 +1,25 @@ { - "config_set_version": 3, + "config_set_version": 4, "gateway_account_ref": "oneapi-intelligrow-test", "models": [ { - "config_version": 2, + "config_version": 3, "gateway_account_ref": "oneapi-intelligrow-test", "model_id": "gemini-3.1-flash-image-preview", "route_profile": { - "endpoint": "https://oneapi.intelligrow.cn/v1/models/gemini-3.1-flash-image-preview:generateContent", + "endpoint": "https://oneapi.intelligrow.cn/v1beta/models/gemini-3.1-flash-image-preview:generateContent", "mode": "sync", - "protocol_version": "gemini-native-v1" + "protocol_version": "gemini-native-v1beta" } }, { - "config_version": 2, + "config_version": 3, "gateway_account_ref": "oneapi-intelligrow-test", "model_id": "gemini-3-pro-image-preview", "route_profile": { - "endpoint": "https://oneapi.intelligrow.cn/v1/models/gemini-3-pro-image-preview:generateContent", + "endpoint": "https://oneapi.intelligrow.cn/v1beta/models/gemini-3-pro-image-preview:generateContent", "mode": "sync", - "protocol_version": "gemini-native-v1" + "protocol_version": "gemini-native-v1beta" } }, { diff --git a/scripts/lib/wp7-02-controlled-executor.mjs b/scripts/lib/wp7-02-controlled-executor.mjs index 424cb94..9c88723 100644 --- a/scripts/lib/wp7-02-controlled-executor.mjs +++ b/scripts/lib/wp7-02-controlled-executor.mjs @@ -26,7 +26,7 @@ function assertModelConfig(modelConfig) { const profile = modelConfig.route_profile; if (!profile || typeof profile !== "object" || typeof profile.endpoint !== "string" || !profile.endpoint.startsWith("https://oneapi.intelligrow.cn/") - || !["gemini-native-v1", "openai-images-v1"].includes(profile.protocol_version)) { + || !["gemini-native-v1beta", "openai-images-v1"].includes(profile.protocol_version)) { throw new Error("WP7_02_ROUTE_PROFILE_INVALID"); } if (profile.protocol_version === "openai-images-v1" @@ -69,14 +69,14 @@ export function buildProviderRequest({ modelConfig, prompt, ratio, reference }) throw new Error("WP7_02_REFERENCE_FIXTURE_INVALID"); } const headers = { "content-type": "application/json" }; - if (config.route_profile.protocol_version === "gemini-native-v1") { + if (config.route_profile.protocol_version === "gemini-native-v1beta") { const parts = [{ text: prompt }]; if (reference) parts.push({ inlineData: { data: reference.bytes.toString("base64"), mimeType: reference.mime_type } }); return { body: { contents: [{ parts, role: "user" }], generationConfig: { - responseFormat: { image: { aspectRatio: ratio, imageSize: "1K" } }, + imageConfig: { aspectRatio: ratio, imageSize: "1K" }, responseModalities: ["IMAGE"], }, }, @@ -180,7 +180,7 @@ export function normalizeProviderResponse(modelConfig, response) { let bytes; let mime; let usageSummary; - if (config.route_profile.protocol_version === "gemini-native-v1") { + if (config.route_profile.protocol_version === "gemini-native-v1beta") { const parts = response?.candidates?.flatMap((candidate) => candidate?.content?.parts ?? []) ?? []; const images = parts.map((part) => part?.inlineData ?? part?.inline_data).filter((entry) => entry?.data); if (images.length !== 1) throw new Error("WP7_02_RESPONSE_SINGLE_IMAGE_REQUIRED");