图片编辑API提供了两个接口,用于对已有图片进行AI编辑。这些接口基于 Qwen-Image-Edit-2509 模型,可以根据文本提示词对图片进行编辑。
上传图片并根据提示词进行编辑。
Content-Type: multipart/form-data
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| input_image | File | 是 | - | 要编辑的图片文件 |
| prompt | string | 是 | - | 编辑提示词,描述期望的编辑效果 |
| negative_prompt | string | 否 | ”” | 负向提示词 |
| model_type | string | 否 | “Qwen-Image-Edit-2509” | 模型类型 |
| lora_model | string | 否 | null | LoRA模型名称 |
| offload_model | boolean | 否 | false | 是否开启模型卸载以节省显存 |
| width | integer | 否 | 1024 | 图像宽度 (256-2048) |
| height | integer | 否 | 1024 | 图像高度 (256-2048) |
| num_inference_steps | integer | 否 | 50 | 推理步数 (1-100) |
| guidance_scale | float | 否 | 4.5 | 引导系数 (1.0-20.0) |
| seed | integer | 否 | null | 随机种子 |
{
"success": true,
"image_path": "outputs/image_edit/12345678-1234-5678-1234-567812345678.png",
"message": "图像编辑成功"
}
curl -X POST "http://localhost:8000/text-to-image/edit" \
-H "Content-Type: multipart/form-data" \
-F "input_image=@/path/to/your/image.jpg" \
-F "prompt=把天空变成日落的颜色" \
-F "negative_prompt=模糊,低质量" \
-F "width=1024" \
-F "height=1024" \
-F "num_inference_steps=50" \
-F "guidance_scale=4.5"
import requests
url = "http://localhost:8000/text-to-image/edit"
# 准备文件和数据
files = {
'input_image': open('image.jpg', 'rb')
}
data = {
'prompt': '把天空变成日落的颜色',
'negative_prompt': '模糊,低质量',
'width': 1024,
'height': 1024,
'num_inference_steps': 50,
'guidance_scale': 4.5
}
response = requests.post(url, files=files, data=data)
result = response.json()
print(f"编辑后的图片路径: {result['image_path']}")
使用服务器上已存在的图片路径进行编辑。
Content-Type: application/json
{
"input_image_path": "string (必填) - 输入图片的文件路径",
"prompt": "string (必填) - 编辑提示词",
"negative_prompt": "string (可选) - 负向提示词",
"model_type": "string (可选,默认: Qwen-Image-Edit-2509) - 模型类型",
"lora_model": "string (可选) - LoRA模型名称",
"offload_model": "boolean (可选,默认: false) - 是否开启模型卸载",
"width": "integer (可选,默认: 1024) - 图像宽度",
"height": "integer (可选,默认: 1024) - 图像高度",
"num_inference_steps": "integer (可选,默认: 50) - 推理步数",
"guidance_scale": "float (可选,默认: 4.5) - 引导系数",
"seed": "integer (可选) - 随机种子",
"output_path": "string (可选) - 输出图片路径"
}
{
"success": true,
"image_path": "outputs/image_edit/12345678-1234-5678-1234-567812345678.png",
"message": "图像编辑成功"
}
curl -X POST "http://localhost:8000/text-to-image/edit-by-path" \
-H "Content-Type: application/json" \
-d '{
"input_image_path": "/path/to/server/image.jpg",
"prompt": "把天空变成日落的颜色",
"negative_prompt": "模糊,低质量",
"width": 1024,
"height": 1024,
"num_inference_steps": 50,
"guidance_scale": 4.5
}'
import requests
url = "http://localhost:8000/text-to-image/edit-by-path"
payload = {
"input_image_path": "/path/to/server/image.jpg",
"prompt": "把天空变成日落的颜色",
"negative_prompt": "模糊,低质量",
"width": 1024,
"height": 1024,
"num_inference_steps": 50,
"guidance_scale": 4.5
}
response = requests.post(url, json=payload)
result = response.json()
print(f"编辑后的图片路径: {result['image_path']}")
图片编辑功能复用了文生图API的模型管理接口:
POST /text-to-image/load-model
POST /text-to-image/unload-model
POST /text-to-image/unload-lora-model
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 404 | 输入图片不存在 | 检查图片路径是否正确 |
| 500 | 图像编辑失败 | 检查模型是否正确加载,参数是否有效 |
{
"detail": "输入图片不存在: /path/to/image.jpg"
}
输出格式固定为PNG格式,以保证最佳质量。
outputs/image_edit/ 目录offload_model