diff --git a/server-rs/crates/platform-image/src/vector_engine/curl_transport.rs b/server-rs/crates/platform-image/src/vector_engine/curl_transport.rs index 6e653356c..fdc35a71d 100644 --- a/server-rs/crates/platform-image/src/vector_engine/curl_transport.rs +++ b/server-rs/crates/platform-image/src/vector_engine/curl_transport.rs @@ -168,8 +168,8 @@ pub(crate) async fn send_vector_engine_multipart_edit_request_with_curl_options( negative_prompt.as_deref(), normalized_size.as_str(), candidate_count, - reference_images.as_slice(), - options.as_ref(), + reference_images, + options, timeout_ms, ) }) @@ -271,8 +271,8 @@ fn send_multipart_edit_request_with_curl_blocking( negative_prompt: Option<&str>, normalized_size: &str, candidate_count: u32, - reference_images: &[ReferenceImage], - options: Option<&RawImageEditOptions>, + reference_images: Vec, + options: Option, timeout_ms: u64, ) -> Result { let mut form = Form::new(); @@ -288,34 +288,48 @@ fn send_multipart_edit_request_with_curl_blocking( .add()?; if let Some(options) = options { - if let Some(quality) = options.quality.as_deref() { + let RawImageEditOptions { + quality, + background, + output_format, + mask, + .. + } = options; + if let Some(quality) = quality { form.part("quality").contents(quality.as_bytes()).add()?; } - if let Some(background) = options.background.as_deref() { + if let Some(background) = background { form.part("background") .contents(background.as_bytes()) .add()?; } - if let Some(output_format) = options.output_format.as_deref() { + if let Some(output_format) = output_format { form.part("output_format") .contents(output_format.as_bytes()) .add()?; } - if let Some(mask) = options.mask.as_ref() { + if let Some(mask) = mask { + let ReferenceImage { + bytes, + mime_type, + file_name, + } = mask; form.part("mask") - .buffer(mask.file_name.as_str(), mask.bytes.clone()) - .content_type(mask.mime_type.as_str()) + .buffer(file_name.as_str(), bytes) + .content_type(mime_type.as_str()) .add()?; } } for reference_image in reference_images { + let ReferenceImage { + bytes, + mime_type, + file_name, + } = reference_image; form.part("image") - .buffer( - reference_image.file_name.as_str(), - reference_image.bytes.clone(), - ) - .content_type(reference_image.mime_type.as_str()) + .buffer(file_name.as_str(), bytes) + .content_type(mime_type.as_str()) .add()?; }