通用图像编辑
提供 OpenAI 兼容的通用图像编辑接口,可以基于已有图片进行修改、重绘、风格变换等编辑操作(底层模型为 qwen-image-2.1)。
请求方法
POST
请求地址
https://chat.ecnu.edu.cn/open/api/v1/images/edits
请求参数
使用 multipart/form-data 格式提交。
| 参数名 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| model | string | 否 | 模型名称,目前仅支持 ecnu-image,详见 模型列表 |
| prompt | string | 是 | 编辑指令文本,不超过 1024 个字符 |
| image | file | 是 | 待编辑的图片文件 |
| size | string | 否 | 兼容保留字段,编辑接口不校验、不转发该参数 |
| response_format | string | 否 | 返回格式,取值范围有 url,b64_json 两种,默认是 url 。url 上的图片仅保留24小时,请及时转存。 |
| n | int | 否 | 生成数量,仅支持 1 |
返回参数
返回结构与 通用文生图像 一致:
| 参数名 | 类型 | 描述 |
|---|---|---|
| created | int | 请求时间戳 |
| err_message | string | 错误信息,如果图像编辑出错的话,会返回对应的错误 |
| data | array | 返回数据 |
| data.b64_json | string | 图片的 base64 编码,当请求返回 json 格式时返回这个字段 |
| data.url | string | 图片的 url ,当请求返回 url 格式时返回这个字段 |
| data.revised_prompt | string | 编辑指令文本 |
说明
- 编辑指令只做安全审核,与文生图不同,不会进行扩写、翻译或润色,后端收到的是您的原始编辑指令。
- 编辑结果与文生图一致,会自动添加 AI 生成水印。
请求示例
bash
curl -X POST https://chat.ecnu.edu.cn/open/api/v1/images/edits \
-H "Authorization: Bearer sk-UDK3**********qDvPABjlC1Y***" \
-F "model=ecnu-image" \
-F "prompt=把出租车的颜色改成黑色" \
-F "image=@input.png" \
-F "response_format=url"代码示例
直接调用接口
python
import requests
url = "https://chat.ecnu.edu.cn/open/api/v1/images/edits"
headers = {
"Authorization": "Bearer your-api-key" # 替换为您的API密钥
}
resp = requests.post(
url,
headers=headers,
data={
"model": "ecnu-image",
"prompt": "把出租车的颜色改成黑色",
"response_format": "url",
},
files={"image": open("input.png", "rb")},
)
print(resp.json())使用 openai sdk
python
from openai import OpenAI
client = OpenAI(
base_url="https://chat.ecnu.edu.cn/open/api/v1",
api_key="your-api-key" # 替换为您的API密钥
)
response = client.images.edit(
model="ecnu-image",
prompt="把出租车的颜色改成黑色",
image=open("input.png", "rb"),
)
print(response.data[0].url)返回示例
- 正常的返回
json
{
"created": 1760000000,
"data": [
{
"url": "https://ecnunic-data-public.oss-cn-shanghai.aliyuncs.com/Anonymous/example_edit.png",
"revised_prompt": "把出租车的颜色改成黑色"
}
]
}- 出错时的返回(如编辑指令未通过安全审核)
json
{
"created": 1760000000,
"data": [
{
"revised_prompt": "****"
}
],
"err_message": "非常抱歉,根据相关法律法规,我们无法提供关于以下相关内容的图像、视频以及音频等回复。"
}