raw image edit 发送前复用共享 provider 白名单校验
- platform-image 导出 ensure_provider_matches_model 供 crate 内复用 - create_raw_image_edit 在构造请求前校验 settings.provider 与固定的编辑 concrete model 一致
This commit is contained in:
@@ -12,6 +12,7 @@ pub use audit::PlatformImageFailureAudit;
|
||||
pub(crate) use audit::build_failure_audit;
|
||||
pub(crate) use budget::{effective_request_timeout_ms, request_budget_exhausted_error};
|
||||
pub use error::{PlatformImageError, PlatformImageStatusHint, missing_reference_images_error};
|
||||
pub(crate) use executor::ensure_provider_matches_model;
|
||||
pub use executor::{
|
||||
create_image_edit, create_image_edit_with_references,
|
||||
create_image_edit_with_references_and_model, create_image_generation,
|
||||
|
||||
@@ -12,7 +12,8 @@ use crate::image_provider::{
|
||||
images_edit_url,
|
||||
runtime::{
|
||||
ImageProvider, ImageProviderSettings, PlatformImageError, build_failure_audit,
|
||||
effective_request_timeout_ms, request_budget_exhausted_error, truncate_raw,
|
||||
effective_request_timeout_ms, ensure_provider_matches_model,
|
||||
request_budget_exhausted_error, truncate_raw,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -125,6 +126,9 @@ pub async fn create_raw_image_edit(
|
||||
failure_context: &str,
|
||||
) -> Result<RawImageEditResult, PlatformImageError> {
|
||||
let provider_label = settings.provider.as_str();
|
||||
// 中文注释:raw edit 只发送 GPT Image 2.5 编辑 concrete model,先按共享白名单校验
|
||||
// provider,避免把 Tiantoken 的模型发到 VectorEngine 端点(或反之)。
|
||||
ensure_provider_matches_model(settings, GPT_IMAGE_2_5_EDIT_MODEL, failure_context)?;
|
||||
validate_raw_image_edit_dimensions(options.width, options.height)
|
||||
.map_err(|error| invalid_input(settings.provider, failure_context, error.to_string()))?;
|
||||
let url = images_edit_url(settings);
|
||||
|
||||
Reference in New Issue
Block a user