fix return image_url

This commit is contained in:
jueming
2025-07-23 14:50:45 +08:00
parent 8b43696d63
commit 86dc22674c
2 changed files with 26 additions and 7 deletions
+5 -1
View File
@@ -82,6 +82,7 @@ pip install -r requirements.txt
- **scale**: 文本描述影响程度 (可选,0.0-1.0,默认0.5)
- **seed**: 随机种子 (可选,-1表示随机)
- **filename_prefix**: 保存文件名前缀 (可选)
- **return_url**: 是否返回图片URL链接 (可选,默认True,24小时有效)
## 参数说明
@@ -125,6 +126,9 @@ pip install -r requirements.txt
- 0.0-0.3: 轻微编辑,主要保持原图特征
- 0.4-0.6: 平衡编辑,文本和原图影响相当
- 0.7-1.0: 强度编辑,更倾向于遵循文本描述
- **return_url**: 控制返回格式
- True: 返回24小时有效的图片URL链接(便于分享和下载)
- False: 返回Base64编码数据(数据更安全,但体积较大)
- **使用建议**:
- 使用清晰的,分辨率高的底图
- 编辑指令使用自然语言即可
@@ -145,7 +149,7 @@ pip install -r requirements.txt
### Img Edit V3.0 输出 (新增)
- **image**: 编辑后的图片张量,可连接到其他节点
- **image_url**: 图片的URL链接或数据类型说明
- **image_url**: 图片的URL链接(当return_url=True时)或Base64数据信息(当return_url=False时)
- **local_image_path**: 本地保存的图片文件路径
## 注意事项
+21 -6
View File
@@ -55,6 +55,10 @@ class VolcengineImgEditV3:
"default": "seededit_v3",
"tooltip": "保存文件名前缀"
}),
"return_url": ("BOOLEAN", {
"default": True,
"tooltip": "是否返回图片URL链接(24小时有效)"
}),
}
}
@@ -288,7 +292,7 @@ class VolcengineImgEditV3:
print(f"请求异常: {str(e)}")
return None
def query_result(self, access_key, secret_key, task_id, max_retries=60, retry_interval=5):
def query_result(self, access_key, secret_key, task_id, return_url=True, max_retries=60, retry_interval=5):
"""查询任务结果"""
# 构造请求参数
query_params = {
@@ -297,10 +301,19 @@ class VolcengineImgEditV3:
}
formatted_query = self.format_query(query_params)
# 构造请求体
# 构造请求体,添加req_json参数来控制返回格式
req_json_config = {
"return_url": return_url,
"add_logo": False,
"position": 0,
"language": 0,
"opacity": 0.3
}
body_params = {
"req_key": self.req_key,
"task_id": task_id
"task_id": task_id,
"req_json": json.dumps(req_json_config)
}
formatted_body = json.dumps(body_params)
@@ -367,7 +380,7 @@ class VolcengineImgEditV3:
print("查询超时,任务可能仍在处理中")
return None
def edit_image(self, access_key, secret_key, image, prompt, scale=0.5, seed=-1, filename_prefix="seededit_v3"):
def edit_image(self, access_key, secret_key, image, prompt, scale=0.5, seed=-1, filename_prefix="seededit_v3", return_url=True):
"""主要的图片编辑函数"""
# 验证必需参数
@@ -393,7 +406,7 @@ class VolcengineImgEditV3:
print("等待任务完成...")
# 查询结果
result = self.query_result(access_key, secret_key, task_id)
result = self.query_result(access_key, secret_key, task_id, return_url)
if not result:
return self.create_blank_image(), "错误:任务执行失败或超时", ""
@@ -418,7 +431,9 @@ class VolcengineImgEditV3:
# 保存图片
pil_image = Image.fromarray((image_tensor.squeeze(0).cpu().numpy() * 255).astype(np.uint8))
local_path = self.save_image(pil_image, filename_prefix)
return image_tensor, "base64数据", local_path or "保存失败"
# 返回base64数据类型说明,而不是简单的"base64数据"
image_url_info = f"Base64编码数据 (长度: {len(base64_str)} 字符)"
return image_tensor, image_url_info, local_path or "保存失败"
else:
return self.create_blank_image(), "错误:解码base64图片失败", ""