删除仅测试使用的图片编辑封装
- 删除 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:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user