Skip to content

通用图像编辑 ​

提供 OpenAI 兼容的通用图像编辑接口,可以基于已有图片进行修改、重绘、风格变换等编辑操作(底层模型为 qwen-image-2.1)。

请求方法 ​

POST

请求地址 ​

https://chat.ecnu.edu.cn/open/api/v1/images/edits

请求参数 ​

使用 multipart/form-data 格式提交。

参数名类型是否必须描述
modelstring否模型名称,目前仅支持 ecnu-image,详见 模型列表
promptstring是编辑指令文本,不超过 1024 个字符
imagefile是待编辑的图片文件
sizestring否兼容保留字段,编辑接口不校验、不转发该参数
response_formatstring否返回格式,取值范围有 url,b64_json 两种,默认是 url 。url 上的图片仅保留24小时,请及时转存。
nint否生成数量,仅支持 1

返回参数 ​

返回结构与 通用文生图像 一致:

参数名类型描述
createdint请求时间戳
err_messagestring错误信息,如果图像编辑出错的话,会返回对应的错误
dataarray返回数据
data.b64_jsonstring图片的 base64 编码,当请求返回 json 格式时返回这个字段
data.urlstring图片的 url ,当请求返回 url 格式时返回这个字段
data.revised_promptstring编辑指令文本

说明 ​

  • 编辑指令只做安全审核,与文生图不同,不会进行扩写、翻译或润色,后端收到的是您的原始编辑指令。
  • 编辑结果与文生图一致,会自动添加 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": "非常抱歉,根据相关法律法规,我们无法提供关于以下相关内容的图像、视频以及音频等回复。"
}