Если это еще не сделано, я рекомендую вам прочитать полное руководство по fastAPI , которое очень понятно и шаг за шагом. Вообще говоря, приложение fastAPI преобразует объект, возвращаемый вашей функцией, в строку json в ответе HTTP.
Вы можете использовать схемы pydanti c в своих ответах, потому что pydanti c обрабатывает преобразование в json для вас.
Как сказано в других ответах, вы можете вернуть URL-адрес в файл или вы можете вернуть файл напрямую, используя звездочку FileResponse.
from starlette.responses import FileResponse
@app.get("/my_file")
async def download_file(self):
return FileResponse(path="my_file.png", filename="my_file", media_type="image/png")