删除仅测试使用的图片编辑封装

- 删除 create_openai_image_edit 与 create_openai_image_edit_with_references 两个 dead_code 封装
- 空参考图本地校验用例改走 create_openai_image_edit_with_references_and_model,保留原覆盖
This commit is contained in:
2026-09-21 22:01:21 +08:00
parent 14c2255d54
commit 5c58830545
@@ -2,8 +2,7 @@ use axum::http::StatusCode;
use platform_image::{
DownloadedImage, GeneratedImages, ImageProvider, ImageProviderClient, ImageProviderSettings,
NANOBANANA_2_MODEL, PlatformImageError, PlatformImageStatusHint, ReferenceImage,
VECTOR_ENGINE_PROVIDER, build_image_http_client, create_image_edit,
create_image_edit_with_references, create_image_edit_with_references_and_model,
VECTOR_ENGINE_PROVIDER, build_image_http_client, create_image_edit_with_references_and_model,
create_image_generation_with_model, create_nanobanana_generate_content,
missing_reference_images_error, resolve_image_provider,
};
@@ -221,102 +220,6 @@ pub(crate) async fn create_openai_nanobanana_generate_content(
.await
}
pub(crate) async fn create_openai_image_edit(
_http_client: &reqwest::Client,
settings: &OpenAiImageSettings,
prompt: &str,
negative_prompt: Option<&str>,
size: &str,
reference_image: &OpenAiReferenceImage,
failure_context: &str,
) -> Result<OpenAiGeneratedImages, AppError> {
let started_at_micros = current_utc_micros();
let request_payload = json!({
"size": size,
"promptChars": prompt.chars().count(),
"negativePromptChars": negative_prompt.map(str::chars).map(Iterator::count),
"referenceImageCount": 1,
});
let provider_client = settings.client_for_model(GPT_IMAGE_2_5_EDIT_MODEL);
let provider_settings = settings.provider_settings_for_model(GPT_IMAGE_2_5_EDIT_MODEL);
let result = create_image_edit(
provider_client.http_client(),
&provider_settings,
prompt,
negative_prompt,
size,
reference_image,
failure_context,
)
.await;
map_platform_image_result(
settings,
result,
"image_edit",
failure_context,
request_payload,
started_at_micros,
)
.await
}
pub(crate) async fn create_openai_image_edit_with_references(
_http_client: &reqwest::Client,
settings: &OpenAiImageSettings,
prompt: &str,
negative_prompt: Option<&str>,
size: &str,
candidate_count: u32,
reference_images: &[OpenAiReferenceImage],
failure_context: &str,
) -> Result<OpenAiGeneratedImages, AppError> {
let started_at_micros = current_utc_micros();
let request_payload = json!({
"size": size,
"candidateCount": candidate_count,
"promptChars": prompt.chars().count(),
"negativePromptChars": negative_prompt.map(str::chars).map(Iterator::count),
"referenceImageCount": reference_images.len(),
});
// 中文注释:先做本地参考图校验,避免 provider 客户端缺失时在校验前 panic。
if reference_images.is_empty() {
return map_platform_image_result(
settings,
Err(missing_reference_images_error(
ImageProvider::Tiantoken,
failure_context,
)),
"image_edit_with_references",
failure_context,
request_payload,
started_at_micros,
)
.await;
}
let provider_client = settings.client_for_model(GPT_IMAGE_2_5_EDIT_MODEL);
let provider_settings = settings.provider_settings_for_model(GPT_IMAGE_2_5_EDIT_MODEL);
let result = create_image_edit_with_references(
provider_client.http_client(),
&provider_settings,
prompt,
negative_prompt,
size,
candidate_count,
reference_images,
failure_context,
)
.await;
map_platform_image_result(
settings,
result,
"image_edit_with_references",
failure_context,
request_payload,
started_at_micros,
)
.await
}
#[allow(clippy::too_many_arguments)]
pub(crate) async fn create_openai_image_edit_with_references_and_model(
_http_client: &reqwest::Client,
@@ -758,9 +661,10 @@ mod tests {
};
let http_client = reqwest::Client::new();
let result = create_openai_image_edit_with_references(
let result = create_openai_image_edit_with_references_and_model(
&http_client,
&settings,
GPT_IMAGE_2_5_EDIT_MODEL,
"提示词",
None,
"1:1",