图像画面扩展API详情
图像画面扩展
支持的领域 / 任务:aigc/图像生成/AI扩图
图像画面扩展对输入图像进行画面自由扩展,支持旋转画面,支持按照扩展系数和扩展像素数两种方式进行扩图。用户可以通过指定宽度、高度画面扩展比例或者左、右、上、下的扩展的像素值来控制画面扩展,可用于创意娱乐、辅助作图、画面设计、影视后期制作等场景。
输入内容&效果示意
输入图像 | 生成结果 | 输入参数 |
parameters.x_scale=2.77 parameters.y_scale=1.11 | ||
parameters.left_offset=437 parameters.right_offset=61 parameters.top_offset=43 parameters.bottom_offset=250 | ||
parameters.left_offset=546 parameters.right_offset=960 parameters.top_offset=158 parameters.bottom_offset=939 | ||
parameters.x_scale=1.52 parameters.y_scale=1.20 | ||
parameters.angle=24 parameters.x_scale=1.73 parameters.y_scale=1.41 |
应用场景
创意设计与广告制作:在广告设计或创意海报制作中,设计师有时需要将一张焦点图像扩展到特定尺寸以适应不同的媒介展示需求,一张产品特写照片需要扩大而不失真,同时保持背景的自然延伸。
影视后期制作:影视编辑过程中,为了适应不同画幅比例(宽屏格式)或创造特定的视觉效果,经常需要对画面进行扩展。这可能涉及场景的边缘拓展,如天空、海面或城市天际线的自然延续。
历史照片修复与复原:在历史档案的数字化过程中,有时候需要对老旧照片进行修复,并且在不改变原有内容的前提下,扩大画面以提升清晰度和观赏性,便于展览或出版。
社交媒体与个人创作:社交媒体用户和内容创作者在制作封面图或是需要特定尺寸的帖子时,可能会遇到图片尺寸不符合平台要求的问题。利用AI扩图,创作者可以迅速调整图片尺寸,同时保持内容的吸引力和一致性,无需担心图片质量下降或不协调的裁剪效果,提高内容的吸引力和分享率。
特色优势
AI扩图技术能够自动生成与原图风格一致的背景或细节,使得扩展后的图像既满足尺寸要求,又保持视觉效果的和谐与专业性,无需担心人工合成的痕迹。
AI技术可以在不损害原始历史价值的基础上,智能填充照片边缘,提高分辨率,让历史照片焕发新生,避免裁剪造成的构图破坏,同时保持画面的连续性和真实感。
应用图像扩图技术,可以根据不同设备的屏幕尺寸智能扩展背景图像,确保在任何屏幕上都能提供完整且吸引人的视觉体验,提升网页的整体设计感和用户满意度。
稳定、易用平台服务:提供在高并发、大流量下的稳定写真图片生成响应和99.99%的可靠性保障,可直接调用的简单训练和推理API 接口,服务简单易用,易被集成,兼容性强。
模型概览
模型名 | 模型简介 |
image-out-painting | 图像画面扩展对输入图像进行画面自由扩展,支持旋转画面,支持按照扩展系数和扩展像素数两种方式进行扩图。用户可以通过指定宽度、高度画面扩展比例或者左、右、上、下的扩展的像素值来控制画面扩展,可用于创意娱乐、辅助作图、画面设计、影视后期制作等场景。 |
使用限制:模型正在公测中,免费额度500张图片。并发任务数量限制为1。
输入限制
图片分辨率:可支持输入分辨率范围:单边不小于512且不超过4096。
图片格式:JPEG,PNG,JPG,BMP,WEBP。
图片大小:不超过10M。
URL地址中不能包含中文字符。
输入参数限制:扩展系数和扩展像素数不可同时指定(只能设置其一,若都配置则扩展系数优先生效)。扩展系数:parameters.x_scale,parameters.y_scale;扩展像素数:parameters.left_offset,parameters.right_offset,parameters.top_offset,parameters.bottom_offset。
输出限制
图片大小:limit_image_size=True时,输出图像长边边长小于10000像素时,输出5MB以下图片;长边边长大于等于10000像素时,输出10MB以下图片。
图片长宽比:限制输出长宽比范围为1:10-10:1。
HTTP调用接口
功能描述
本模型需要相对较长的算法调用时间,所以在接口层面采用了异步调用的方式进行任务提交,在通过任务接口提交作业之后,系统会返回对应的作业ID,随后可以通过对应的异步作业查询接口获取任务的状态并且在作业到达最终完成态后取回对应的作业结果。
前提条件
已开通服务并获得API-KEY:开通DashScope并创建API-KEY。
接口限制:对单账户(含主账号与RAM子账号)任务下发接口限制QPS为2,并发任务数量限制为1。
作业提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/out-painting
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Header | Content-Type | String | 是 | 请求类型:application/json | application/json |
Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a | |
X-DashScope-Async | String | 是 | 固定使用 enable,表明使用异步方式提交作业。 | enable | |
Body | model | String | 是 | 指明需要调用的模型。 | image-out-painting |
input.image_url | String | 是 | 输入图像url地址,图片格式JPG/JPEG、PNG、HEIF、WEBP, 输入图像分辨率不低于512*512且不超过4096*4096。 | 例如:http://xxx/image.png | |
parameters.angle | Int | 否 | 旋转角度,默认为0度,逆时针旋转,角度范围[0,359]。 | 0 | |
parameters.x_scale | Float | 否 | 横向扩展系数,默认为默认为1.0,范围[1.0, 5.0]。 | 1.0 | |
parameters.y_scale | Float | 否 | 纵向扩展系数,默认为默认为1.0,范围[1.0, 5.0]。 | 1.0 | |
parameters.left_offset | Int | 否 | 左侧扩展像素数,默认为默认为0,left_offset+right_offset<4*width。 | 0 | |
parameters.right_offset | Int | 否 | 右侧扩展像素数,默认为默认0,left_offset+right_offset<4*width。 | 0 | |
parameters.top_offset | Int | 否 | 上侧扩展像素数,默认为默认0,top_offset+bottom_offset<4*height。 | 0 | |
parameters.bottom_offset | Int | 否 | 下侧扩展像素数,默认为默认0,top_offset+bottom_offset<4*height。 | 0 | |
parameters.best_quality | Bool | 否 | 质量优先模式。设置为True时可能会引起处理时间增加,耗时最多会*2。 | False | |
parameters.limit_image_size | Bool | 否 | 限制返回图大小。设置为True时,单边边长小于10000像素时,输出5MB以下图片;单边边长大于10000像素时,输出10MB以下图片。 | True |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.task_id | String | 本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。 | 13b1848b-5493-4c0e-8c44-68d038b492af |
output.task_status | String | 提交异步任务后的作业状态。 | PENDING |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
以下示例展示通过CURL命令来调用本模型的脚本
说明
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/out-painting' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer 你的apikey' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-DataInspection: enable' \
--data-raw '{
"model": "image-out-painting",
"input": {
"image_url": "√"
},
"parameters":{
"angle":0,
"x_scale":1.5,
"y_scale":1.5,
"best_quality":false,
"limit_image_size":true
}
}'
或者:
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/out-painting' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer 你的apikey' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-DataInspection: enable' \
--data-raw '{
"model": "image-out-painting",
"input": {
"image_url": "√"
},
"parameters":{
"angle":0,
"left_offset":100,
"right_offset":100,
"top_offset":0,
"bottom_offset":0,
"best_quality":false,
"limit_image_size":true
}
}'
响应示例
{
"output": {
"task_id": "xxxxxxxx",
"task_status": "PENDING"
}
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
异常响应示例
在提交作业请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
作业任务状态查询和结果获取接口
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Url Path | task_id | String | 是 | 需要查询作业的 task_id | 13b1848b-5493-4c0e-8c44-68d038b492af |
Header | Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a |
出参描述
字段 | 类型 | 描述 | 示例值 |
status_code | Int | 200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过code获取错误码,通过message字段获取错误详细信息。 | 200 |
request_id | string | 系统对一次API调用赋予的唯一标识。当排查问题的时候,开发者可以将 request_id 进行反馈以定位某次调用。 | e5d70b02-ebd3-98ce-9fe8-759d7d7b107d |
code | string | 如果失败表示错误码,参考错误码表。 | Invalid Image Url |
message | string | 如果失败,内容为失败详细信息。 | image download error |
usage.image_count | Int | 生成图像的数量 | 1 |
output.output_image_url | String | 生成图像url地址 | http://xxx/result-1000006-419114.jpg |
output.task_status | String | 任务执行是否成功,SUCCEEDED或者FAILED | SUCCEEDED |
请求示例
以下示例展示通过CURL命令来调用本模型的脚本
说明
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
curl -X GET \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-af6e-a0c6a421c010
响应示例(作业执行中)
作业提交后将处于排队状态,在得到调度之后将转为运行状态,此时作业的状态为RUNNING,task_metrics将给出具体batch状态;
{
"request_id":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"RUNNING",
"task_metrics":{
"TOTAL":1,
"SUCCEEDED":1,
"FAILED":0
}
}
}
响应示例(作业成功执行完毕)
如果作业执行完成并成功之后,再次查询作业状态,接口将在告知作业状态的同时,一并将作业的结果返回。对于本模型,作业在结束之后的状态会持续保留24小时以备客户随时查询,24小时之后,作业将从系统中清除,相关的结果也将一并清除;对应的,作业生成的结果为图像的URL地址,出于安全考虑,该URL的下载有效期也是24小时,需要用户在获取作业结果后根据需要及时使用或者转存。
{
"request_id": "b67df059-ca6a-9d51-afcd-9b3c4456b1e2",
"output": {
"task_id": "d76ec1e8-ea27-4038-8913-235c88ef0f70",
"task_status": "SUCCEEDED",
"submit_time": "2024-05-16 13:50:01.247",
"scheduled_time": "2024-05-16 13:50:01.354",
"end_time": "2024-05-16 13:50:27.795",
"output_image_url": "√"
},
"usage": {
"image_count": 1
}
}
响应示例(作业失败)
如果因为某种原因作业失败,则作业状态会设置为FAILED,并且通过code和message字段指明错误原因。
{
"request_id": "dccfdf23-b38e-97a6-a07b-f35118c1ada6",
"output": {
"task_id": "4cbabbdf-2c1f-43f4-b983-c2cc47f4c115",
"task_status": "FAILED",
"submit_time": "2024-05-16 14:15:14.103",
"scheduled_time": "2024-05-16 14:15:14.154",
"end_time": "2024-05-16 14:15:14.694",
"code": "InvalidParameter.FileDownload",
"message": "download for input_image error"
}
}
状态码说明
DashScope灵积模型服务通用状态码请查阅:返回状态码说明
同时本模型还有如下特定错误码:
http 返回码* | 错误码(code) | 错误信息(message) | 含义说明 |
400 | InvalidParameter.JsonPhrase | input json error | 输入json错误 |
400 | InvalidParameter.FileDownload | oss download error | 输入图像下载失败 |
400 | InvalidParameter.ImageFormat | read image error | 读取图像失败 |
400 | InvalidParameter.ImageContent | The image content does not comply with green network verification. | 图像内容不合规 |
400 | InvalidParameter | the parameters must conform to the specification: xxx | 输入参数值超出范围 |
500 | InternalError.Algo | algorithm process error | 算法错误 |
500 | InternalError.FileUpload | oss upload error | 文件上传失败 |
- 本页导读 (1)