diff --git a/src/openai/resources/responses/responses.py b/src/openai/resources/responses/responses.py index 8de46dbab8..7e42139dd0 100644 --- a/src/openai/resources/responses/responses.py +++ b/src/openai/resources/responses/responses.py @@ -740,8 +740,18 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ ... - - def create( + + inputs = kwargs.get("input", []) + +# Normalize file references (Edge case: PDF + streaming) +for item in inputs: + if isinstance(item, dict) and "file" in item: + # If using Files API, replace raw file dict with file_id reference + file_obj = item.pop("file") + if isinstance(file_obj, dict) and "id" in file_obj: + item["file_id"] = file_obj["id"] + + def create( self, *, background: Optional[bool] | NotGiven = NOT_GIVEN,