From 46c2265ab05600716152b178019686b2bf4276f2 Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 20 Dec 2025 12:06:36 +0000 Subject: [PATCH] =?UTF-8?q?rmbg=E5=A2=9E=E5=8A=A0=E5=85=8D=E8=B4=B9?= =?UTF-8?q?=E7=AB=AF=E7=82=B9/file/free?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rmbg/api.py | 22 ++++++++++++++++++++++ apps/rmbg/settings.py | 1 + 2 files changed, 23 insertions(+) diff --git a/apps/rmbg/api.py b/apps/rmbg/api.py index fce50f6..ec8d725 100644 --- a/apps/rmbg/api.py +++ b/apps/rmbg/api.py @@ -57,3 +57,25 @@ async def remove_background_file(file: UploadFile = File(...), request: Request process_and_stream(), media_type="application/x-ndjson" ) + +@router.post(settings.file_free_route) +async def remove_background_file_free(file: UploadFile = File(...)): + """ + 免费版本:从上传的文件移除背景(流式返回) + + Args: + file: 上传的图片文件 + + Returns: + 流式响应,包含处理后的图片内容 + """ + content = await file.read() + + async def process_and_stream(): + result = await service.remove_background_from_file(content) + yield json.dumps(result) + "\n" + + return StreamingResponse( + process_and_stream(), + media_type="application/x-ndjson" + ) diff --git a/apps/rmbg/settings.py b/apps/rmbg/settings.py index 6607497..c9bcbcb 100644 --- a/apps/rmbg/settings.py +++ b/apps/rmbg/settings.py @@ -11,6 +11,7 @@ class Settings(BaseSettings): # API路由配置 router_prefix: str = "/rmbg" file_route: str = "/file" + file_free_route: str = "/file/free" batch_route: str = "/batch" api_name: str = "remove_background"