From 0e244c64ea8b37817de01f1346de90208abaf5a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 8 Sep 2026 22:11:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=20GPT=20Image=202=20?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E5=B8=B8=E9=87=8F=20=E9=9B=86=E4=B8=AD?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E5=83=8F=E7=B4=A0=E8=BE=B9=E7=95=8C=E5=92=8C?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E8=A7=84=E5=88=99=20=E4=BE=9B=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=B8=8E=E7=BC=96=E8=BE=91=E8=B7=AF=E5=BE=84=E5=85=B1?= =?UTF-8?q?=E5=90=8C=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform-image/src/vector_engine/constants.rs | 5 +++++ .../platform-image/src/vector_engine/raw_edit.rs | 13 ++++++++----- .../platform-image/src/vector_engine/request.rs | 13 ++++++++----- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/server-rs/crates/platform-image/src/vector_engine/constants.rs b/server-rs/crates/platform-image/src/vector_engine/constants.rs index 6480fba73..dfb70f0f5 100644 --- a/server-rs/crates/platform-image/src/vector_engine/constants.rs +++ b/server-rs/crates/platform-image/src/vector_engine/constants.rs @@ -5,3 +5,8 @@ pub const VECTOR_ENGINE_GPT_IMAGE_2_MODEL: &str = GPT_IMAGE_2_MODEL; pub const VECTOR_ENGINE_PROVIDER: &str = "vector-engine"; pub const VECTOR_ENGINE_IMAGE_EDIT_MAX_REFERENCE_IMAGES: usize = 5; pub const VECTOR_ENGINE_NANOBANANA_MAX_REFERENCE_IMAGES: usize = 14; + +pub(crate) const GPT_IMAGE_2_MIN_PIXELS: u64 = 655_360; +pub(crate) const GPT_IMAGE_2_MAX_PIXELS: u64 = 8_294_400; +pub(crate) const GPT_IMAGE_2_MAX_EDGE: u32 = 3_840; +pub(crate) const GPT_IMAGE_2_DIMENSION_ALIGNMENT: u32 = 16; diff --git a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs index 17f882636..c8f6ae249 100644 --- a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs +++ b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs @@ -7,7 +7,10 @@ use serde_json::Value; use super::{ audit::build_failure_audit, budget::{effective_request_timeout_ms, request_budget_exhausted_error}, - constants::{GPT_IMAGE_2_MODEL, VECTOR_ENGINE_PROVIDER}, + constants::{ + GPT_IMAGE_2_DIMENSION_ALIGNMENT, GPT_IMAGE_2_MAX_EDGE, GPT_IMAGE_2_MAX_PIXELS, + GPT_IMAGE_2_MIN_PIXELS, GPT_IMAGE_2_MODEL, VECTOR_ENGINE_PROVIDER, + }, error::PlatformImageError, request::vector_engine_images_edit_url, types::{DownloadedImage, GeneratedImages, ReferenceImage, VectorEngineImageSettings}, @@ -24,10 +27,10 @@ pub struct RawImageEditOptions { pub mask: Option, } -pub const RAW_IMAGE_MAX_EDGE: u32 = 3_840; -pub const RAW_IMAGE_DIMENSION_ALIGNMENT: u32 = 16; -pub const RAW_IMAGE_MIN_PIXELS: u64 = 655_360; -pub const RAW_IMAGE_MAX_PIXELS: u64 = 8_294_400; +pub const RAW_IMAGE_MAX_EDGE: u32 = GPT_IMAGE_2_MAX_EDGE; +pub const RAW_IMAGE_DIMENSION_ALIGNMENT: u32 = GPT_IMAGE_2_DIMENSION_ALIGNMENT; +pub const RAW_IMAGE_MIN_PIXELS: u64 = GPT_IMAGE_2_MIN_PIXELS; +pub const RAW_IMAGE_MAX_PIXELS: u64 = GPT_IMAGE_2_MAX_PIXELS; #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum RawImageEditDimensionError { diff --git a/server-rs/crates/platform-image/src/vector_engine/request.rs b/server-rs/crates/platform-image/src/vector_engine/request.rs index af232dbc8..4dc53443e 100644 --- a/server-rs/crates/platform-image/src/vector_engine/request.rs +++ b/server-rs/crates/platform-image/src/vector_engine/request.rs @@ -1,7 +1,10 @@ use serde_json::{Map, Value, json}; use super::{ - constants::{GPT_IMAGE_2_C_MODEL, GPT_IMAGE_2_MODEL}, + constants::{ + GPT_IMAGE_2_C_MODEL, GPT_IMAGE_2_DIMENSION_ALIGNMENT, GPT_IMAGE_2_MAX_EDGE, + GPT_IMAGE_2_MAX_PIXELS, GPT_IMAGE_2_MIN_PIXELS, GPT_IMAGE_2_MODEL, + }, types::{ReferenceImage, VectorEngineImageSettings}, }; @@ -129,10 +132,10 @@ fn normalize_explicit_pixel_size(value: &str) -> String { } fn clamp_gpt_image_2_pixel_size(size: &str) -> String { - const MIN_PIXELS: u64 = 655_360; - const MAX_PIXELS: u64 = 8_294_400; - const MAX_EDGE: u32 = 3_840; - const DIMENSION_ALIGNMENT: u32 = 16; + const MIN_PIXELS: u64 = GPT_IMAGE_2_MIN_PIXELS; + const MAX_PIXELS: u64 = GPT_IMAGE_2_MAX_PIXELS; + const MAX_EDGE: u32 = GPT_IMAGE_2_MAX_EDGE; + const DIMENSION_ALIGNMENT: u32 = GPT_IMAGE_2_DIMENSION_ALIGNMENT; const MAX_ASPECT_RATIO: f64 = 3.0; // 中文注释:这里是 VectorEngine 的共享发送边界,只处理 gpt-image-2 的显式像素尺寸。