Bug Report Checklist
Description
When generating the specified content in the OpenAPI file, the endpoint that receives a file generates an input of type string in the generated Swagger UI. This happens because the generated FastAPI endpoint uses a Form.
We compared this case with another application using the same file, where the input is correctly generated as a file upload field.
openapi-generator version
v7.9.0
OpenAPI declaration file content or url
https://gist.github.com/reyescabello/6cd965708fd0b03e8eadb9f3c0c0a899#file-query_param_example-yml
Generation Details
Generated with jar:
java -jar openapi-generator-cli.jar generate -i openapi.yml -g python-fastapi -o openapi_server
Steps to reproduce
When generating the specified content in the OpenAPI file, the endpoint that includes the file looks like this:
async def upload_post(
file: str = Form(None, description=""),
) -> None:
return await BaseExampleApi.subclasses[0]().upload_post(file)
And this is what it looks like in swagger.

The expected code is something like this:
async def upload_post(
file: UploadFile,
) -> None:
return await BaseExampleApi.subclasses[0]().upload_post(file)
Related issues/PRs
Suggest a fix
Bug Report Checklist
Description
When generating the specified content in the OpenAPI file, the endpoint that receives a file generates an input of type string in the generated Swagger UI. This happens because the generated FastAPI endpoint uses a Form.
We compared this case with another application using the same file, where the input is correctly generated as a file upload field.
openapi-generator version
v7.9.0
OpenAPI declaration file content or url
https://gist.github.com/reyescabello/6cd965708fd0b03e8eadb9f3c0c0a899#file-query_param_example-yml
Generation Details
Generated with jar:
java -jar openapi-generator-cli.jar generate -i openapi.yml -g python-fastapi -o openapi_server
Steps to reproduce
When generating the specified content in the OpenAPI file, the endpoint that includes the file looks like this:
And this is what it looks like in swagger.
The expected code is something like this:
Related issues/PRs
Suggest a fix