跳转到主要内容
图像编辑

图像画面扩展

使用 image-out-painting 模型调整图片尺寸或拓宽画面视野,支持按宽高比、按比例、按方向添加像素以及旋转扩图等多种扩图方式。

当需调整图片尺寸以适配特定布局,或在不裁剪主体的前提下拓宽视野时,可使用图像画面扩展模型。该模型支持多种扩图方式:
  • 指定宽高比扩图
  • 指定横向或纵向扩展比例
  • 自定义上下左右各方向扩展像素数
  • 同时支持先旋转再扩图

模型与价格

模型名称计费单价任务下发接口QPS限制同时处理中任务数量免费额度(查看)
image-out-painting0.18元/张25500张
模型限流规则及常见问题,请参见限流

模型效果

原图
原图
旋转扩图(逆时针旋转90度)等比例扩图(1.5:1.5)指定方向添加像素扩图(上下左右添加像素)指定宽高比扩图(4:3)
旋转扩图
等比例扩图
指定方向扩图
指定宽高比扩图
其他效果示例请参考更多扩图示例

快速开始

前提条件

您需要已获取 API Key配置 API Key 到环境变量
扩图建议:为了获得更自然的扩展效果,建议将最终输出图像的宽高比控制在接近 1:1 的范围内。例如,从 1000x1000 扩展到 1500x1500 的效果,通常优于扩展到 2000x1000。

示例代码

本模型仅提供 HTTP API,请参考以下示例代码。
  • curl
  • Python
HTTP 调用新手指南请参见 Postman
由于图像生成耗时较长,API 采用异步模式,调用流程分两步:
1

步骤1:创建任务获取任务ID

接口返回任务ID,可根据任务ID查询图像生成的结果。请求示例
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/out-painting' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "image-out-painting",
    "input": {
        "image_url": "https://huarong123.oss-cn-hangzhou.aliyuncs.com/image/%E5%9B%BE%E5%83%8F%E7%94%BB%E9%9D%A2%E6%89%A9%E5%B1%95.png"
    },
    "parameters": {
        "angle": 90,
        "x_scale": 1.5,
        "y_scale": 1.5
    }
}'
响应示例请求成功后,API 会返回任务 ID。该 task_id 的查询有效期为 24 小时。
{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}
2

步骤2:查询任务结果

使用步骤1中获取的 task_id,通过 GET 请求轮询任务查询接口,直到 task_status 变为 SUCCEEDED。任务成功后,响应中会包含生成的图像 URL。请求示例请将 86ecf553-d340-4e21-xxxxxxxxx 替换为真实的 task_id。
curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
响应示例
图像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": "https://xxxx/xxxx"
    },
    "usage": {
        "image_count": 1
    }
}

更多扩图示例

按宽高比扩图

原图扩图后扩图参数
原图
扩图后
output_ratio: "1:1"

按比例扩图

原图扩图后扩图参数
原图
扩图后
x_scale: 2.46, y_scale: 2.20
原图
扩图后
x_scale: 1.86, y_scale: 1.72
原图
扩图后
x_scale: 2.39, y_scale: 1.24
原图
扩图后
x_scale: 1.41, y_scale: 1.24

按方向添加像素扩图

原图扩图后扩图参数
原图
扩图后
left: 758, right: 968, top: 343, bottom: 539
原图
扩图后
left: 394, right: 879, top: 914, bottom: 709
原图
扩图后
left: 698, right: 420, top: 614, bottom: 643

旋转扩图

原图扩图后扩图参数
原图
扩图后
angle: 45, x_scale: 1.2, y_scale: 1.2

API 参考

关于图像画面扩展模型的输入输出参数,请参见图像画面扩展 API

错误码

如果模型调用失败并返回报错信息,请参见错误信息进行解决。

常见问题

Q:调用 API 时返回错误,可能是什么原因? A:请检查以下几点:
  • API Key 是否正确,并且已配置到环境变量或代码中。
  • 检查免费额度是否已用尽。
  • 请求参数是否正确,例如 image_url 是否可公网访问。本地文件请参见上传文件获取临时URL
Q:为什么我的任务长时间处于 RUNNING 状态? A:图像生成需要一定时间,通常在数十秒内完成。如果任务长时间未完成,可能是因为系统繁忙。如果超过数分钟仍未完成,请检查服务状态或联系技术支持。