diff --git a/server/src/provider/openai_responses.rs b/server/src/provider/openai_responses.rs index 11c7a9d..54647ae 100644 --- a/server/src/provider/openai_responses.rs +++ b/server/src/provider/openai_responses.rs @@ -453,6 +453,7 @@ fn responses_content(parts: &[ContentPart], text_type: &str) -> Result Some(Ok(json!({"type":text_type, "text":text}))), ContentPart::Image { mime_type, data } => Some(Ok(json!({ "type":"input_image", + "detail":"auto", "image_url":format!("data:{mime_type};base64,{}", STANDARD.encode(data)), }))), }) @@ -539,5 +540,6 @@ mod tests { assert_eq!(input[0]["call_id"], "call"); assert_eq!(input[0]["output"][0]["type"], "input_text"); assert_eq!(input[0]["output"][1]["type"], "input_image"); + assert_eq!(input[0]["output"][1]["detail"], "auto"); } } diff --git a/server/tests/provider_stream.rs b/server/tests/provider_stream.rs index e428f52..8800240 100644 --- a/server/tests/provider_stream.rs +++ b/server/tests/provider_stream.rs @@ -305,6 +305,7 @@ async fn openai_responses_raw_stream_does_not_invent_reasoning_effort() { assert!(body.get("service_tier").is_none()); assert_eq!(body["max_output_tokens"], 4096); assert_eq!(body["input"][0]["content"][1]["type"], "input_image"); + assert_eq!(body["input"][0]["content"][1]["detail"], "auto"); assert_eq!( body["input"][0]["content"][1]["image_url"], "data:image/png;base64,AQID"