图像编辑
调用本接口对图像进行编辑。
支持模型列表
支持模型列表请查看千帆ModelBuilder-模型列表-图像编辑。
权限说明
调用本文API,需使用API Key鉴权方式。使用API Key鉴权调用API流程,具体调用流程,请查看认证鉴权。
请求参数
模型ID,说明:固定值ernie-irag-edit
需要编辑的图片链接,支持url格式。说明:
· 大小:10MB以下
· 格式:支持PNG、JPG、JPEG、WEBP、BMP、ICO
· 长宽比例不超过4倍
· 长或宽不低于128像素值,为保障效果建议长宽都大于512像素值
· 输入为图像 URL 时,URL 链接在UTF-8编码下最大不超过1024个字节,超出限制后图片无法下载
可选值如下:
· erase:消除对象,模型将消除参考图中遮罩选中的对象。选择feature为erase时,mask字段必传。默认生图尺寸说明:默认保持输入image长宽比,当短边分辨率<512 时,保留短边为512; 长边分辨率>1280时,会保留长边分辨率为1280。例如:image为500x1000时,生图尺寸为512x1024
· repaint:重绘对象,默认值为repaint,模型将根据输入的prompt重新绘制参考图中遮罩选中的对象。选择feature为repaint时,mask与prompt字段必传。
· variation:生成变体,模型将参考输入的prompt与image生成新的图片。选择feature为variation时,prompt字段必传,无需上传mask。默认生成图片尺寸说明:图片会在保持输入image的宽高比同时将图片宽x高总数值resize到1024x1024=1048576总数值,并且保证每个边都是16的倍数。resize后的最长边保证不会超过1440
说明:
(1)feature为erase和repaint时,mask必填
(2)mask图片链接,支持url格式
(3)mask区域255,其余区域0。注意mask的宽高以及分辨率必须严格与image一致。
说明:
(1)feature为repaint和variation时,prompt不能为空
(2)输入220个字符以内,支持中英文
说明:
(1)支持自定义输出图片分辨率:
· 最小尺寸为512x512
· 最大尺寸为2048x2048
默认输出分辨率为1024x1024,建议输出分辨率为:
· 适用头像: ["768x768", "1024x1024", "1536x1536", "2048x2048"]
· 适用文章配图 :["1024x768", "2048x1536"]
· 适用海报传单:["768x1024", "1536x2048"]
· 适用电脑壁纸:["1024x576", "2048x1152"]
· 适用海报传单:["576x1024", "1152x2048"]
(2)用户可在512x512-2048x2048之间入参图片输出分辨率,建议长宽比不要过大,分辨率尽可能在1024x1024左右,出图更清晰。输出分辨率过大或长宽比过大,会导致图片出图效果差
说明:
(1)feature为erase和repaint时,支持该入参。feature为variation时,不支持该入参。
(2)生成图片数量,说明:
· 默认值为1
· 取值范围为1-4
· 单次生成的图片较多及请求较频繁可能导致请求超时
控制是否添加水印标识,说明:
(1)默认为false
(2)若改为true
,生成的图片右下角会自动添加“AI生成”字样的可见水印
POST /v2/images/edits HTTP/1.1
Host: qianfan.baidubce.com
Authorization: authorization string
Content-Type: application/json
{
"model": "ernie-irag-edit",
"image":"https://sdc-def***",
"mask":"https://sdc-def***",
"feature":"erase"
}
示例代码
curl --location 'https://qianfan.baidubce.com/v2/images/edits' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
--data '{
"model": "ernie-irag-edit",
"image":"https://sdc-def***",
"mask":"https://sdc-def***",
"feature":"erase"
}'
import requests
import json
def main():
url = "https://qianfan.baidubce.com/v2/images/edits"
payload = json.dumps({
"model": "ernie_irag_edit",
"image":"https://sdc-def***",
"mask":"https://sdc-def***",
"feature":"erase"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer bce-v3/ALTAK-*********/614fb**********'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
if __name__ == '__main__':
main()
返回响应
时间戳
生成的图片列表
显示子属性
隐藏子属性
显示子属性
隐藏子属性
图片链接,有效期24h
{
"id": "as-iwjxy4gpyc",
"created": 1744787581,
"data": [
{
"url": "http://qianfan-modelbui******"
}
]
}
错误码
如果请求错误,服务器返回的JSON文本包含以下参数。
名称 | 描述 |
---|---|
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
type | 错误类型 |
更多相关错误码,请查看模型错误码说明。