From 25e4176ed36aee2e71722c1730f5fdbf1f09b3cb Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 27 Aug 2025 11:50:34 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Routes/QWenImageRoute.py | 13 +- .../QWenImageRoute.cpython-310.pyc | Bin 6150 -> 6476 bytes dsLightRag/Test/TestQWen3ImageEdit.py | 137 ++++-------------- 3 files changed, 36 insertions(+), 114 deletions(-) diff --git a/dsLightRag/Routes/QWenImageRoute.py b/dsLightRag/Routes/QWenImageRoute.py index 876cdcbd..6169eeeb 100644 --- a/dsLightRag/Routes/QWenImageRoute.py +++ b/dsLightRag/Routes/QWenImageRoute.py @@ -7,7 +7,7 @@ import uuid from typing import Optional from fastapi import APIRouter, HTTPException -from pydantic import BaseModel, Field +from pydantic import BaseModel, Field, root_validator from Config.Config import OBS_PREFIX, OBS_BUCKET, OBS_SERVER from QWenImage.QWenImageEditKit import QwenImageEditor @@ -36,10 +36,9 @@ class GenerateImageRequest(BaseModel): class EditImageRequest(BaseModel): """编辑图片请求模型""" prompt: str = Field(..., description="编辑提示词") - size: str = Field(default="1328*1328", description="图片尺寸") api_key: Optional[str] = Field(default=None, description="自定义API密钥") - # 支持URL或Base64两种格式,二选一 - image_url: Optional[str] = Field(default=None, description="原始图片URL") + # 仅保留URL方式,设为必填项 + image_url: str = Field(..., description="原始图片URL") image_base64: Optional[str] = Field(default=None, description="原始图片Base64编码") @root_validator(pre=True) @@ -145,16 +144,16 @@ async def edit_image(request: EditImageRequest): dict: 包含编辑结果的字典 """ try: + # 恢复为仅使用image_url的日志记录 logger.info(f"接收到图片编辑请求: image_url={request.image_url[:50]}..., prompt={request.prompt[:50]}...") # 如果提供了自定义API密钥,创建新的编辑器实例 editor = QwenImageEditor(api_key=request.api_key) if request.api_key else image_editor - # 调用图片编辑API + # 使用image_url参数调用编辑接口 result = editor.edit_image( image_url=request.image_url, - prompt=request.prompt, - negative_prompt=request.negative_prompt + prompt=request.prompt ) # 处理结果 diff --git a/dsLightRag/Routes/__pycache__/QWenImageRoute.cpython-310.pyc b/dsLightRag/Routes/__pycache__/QWenImageRoute.cpython-310.pyc index 1b64f4e67511beb91e35c3ef29a2398f72eccc1c..e84167f819d79fd73db24d88d705f4bcd45c4f5d 100644 GIT binary patch delta 2187 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