You need to enable JavaScript to run this app.
导航
outpainting智能扩图
最近更新时间:2024.10.10 17:43:46首次发布时间:2024.03.12 10:35:23

接口简介

智能扩图支持多种扩展类型,包括:等比扩展、画幅扩展、四边扩展、画布扩展,用户prompt可选输入,不输入则按照算法默认逻辑进行扩展。
考虑到效果更佳,建议选择较小的扩展比例,建议一次性给客户返回3-4个效果供客户进行挑选。

类型

描述

交互逻辑建议

top、bottom 、left 、right

mask

示例图-原图

示例图-效果图

等比扩展

以图片中心将图片等比扩展,可以设置扩展倍数,考虑效果和性能,目前最大为1

前端做数个固定比例扩展的按钮如扩展10%、20%,让用户点选扩展比例

参数同时传相同数值,数值越大延迟越高

不传

图片
原图

图片
扩展1倍

画幅扩展

以原图为中心,将图片扩展为特定画幅比例的图片。比如1张1:1的方图,扩展生成16:9的横图。一般默认原图大小不变,仅扩展生成目标画幅空白区域。

限制/检测客户输入图图片比例(如要求客户输入图片必须为1:1的图片),固定数个扩展的比例(如16:9)
服务端预置换算逻辑,预置输入图与输出图尺寸转换对应参数

根据换算逻辑传相应参数

不传

图片
1:1原图

图片
16:9画幅

四边扩展

以原图为中心,支持自定义扩展逻辑,比如向上扩展20%,向右扩展60%,向左扩展40%。逻辑也是默认原图大小不变,仅扩展生成自由设置的区域。

支持用户自定义输入,或者前端/后段固定指定尺寸

在这里传相应参数

不传

图片
原图

图片
向上扩展20%,向右扩展60%,向左扩展40%

画布扩展

可以定义一个画布(可以固定尺寸,也可以支持自定义调节),支持原图在画布里的位置、大小、旋转等交互,最终生成固定画布的扩展图;

前端有画布,支持用户上传图片后在画布内调整

不传

传画布相应信息

图片

限制条件

名称

内容

图片要求

  1. 图片格式:仅支持JPG、JPEG、PNG格式,建议使用JPG格式。
  2. 图片文件大小:最大 5 MB。
  3. 图片分辨率:最小 6464,最大 40964096

Demo展示

  • 根据画布扩展
    图片

请求说明

名称

内容

接口地址

https://visual.volcengineapi.com

请求方式

POST

Content-Type

application/json

Header参数

完整公共参数列表见 公共参数
本服务Region为cn-north-1; Service为cv

Query参数

拼接到url后的参数,示例:https://visual.volcengineapi.com?Action=CVProcess&Version=2022-08-31

参数

可选/必选

类型

说明

Action

必选

String

接口名,取值:Img2ImgOutpainting

Version

必选

String

版本号,取值:2022-08-31

Body参数

业务请求参数,放到request.body中,MIME-Type为application/json

参数

可选/必选

类型

说明

备注

req_key

必选

String

取值: i2i_outpainting

binary_data_base64

必选(二选一)

Array of String

输入图片base64数组:
0:输入图片,三通道RGB图
1:输入mask,单通道灰度图,待扩充区域对应0(即白色区域),原图保持部分对应255(即黑色区域)

输入图和mask等大(即需提前扩展原图大小),mask非必填

image_urls

必选(二选一)

Array of String

输入图片url
0:输入图片,三通道RGB图
1:输入mask,单通道灰度图,待扩充区域对应0(即白色区域),原图保持部分对应255(即黑色区域)

输入图和mask等大(即需提前扩展原图大小),mask非必填

custom_prompt

必选

string

用于生成图像的提示词,支持中英文输入,建议内容简洁准确,控制在100中文字/英文单词以内,超出部分对生成效果影响较小,此字段会过审核

return_url

可选

bool

输出是否返回图片链接

steps

可选

int

采样步数,生成图像的精细程度,越大效果可能更好,但相应的耗时会剧增
默认值:30

strength

可选

float

取值范围[0.1,1.0],越小越接近原图,越大越接近文本控制,如果设成0就和原图一模一样
默认值:0.8

scale

可选

float

取值范围[1, 20],影响文本描述的程度
默认值:7.0

seed

可选

int

随机种子,作为确定扩散初始状态的基础,非负数(-1表示随机种子)。若随机种子为相同正整数且其他参数均一致,则生成图片极大概率效果一致
默认值:0

top

可选

float

取值范围:(0,1],向上扩展比例,暂定最大扩展单边1倍
默认值:0.1

bottom

可选

float

取值范围:(0,1],向下扩展比例,暂定最大扩展单边1倍
默认值:0.1

left

可选

float

取值范围:(0,1],向左扩展比例,暂定最大扩展单边1倍
默认值:0.1

right

可选

float

取值范围:(0,1],向右扩展比例,暂定最大扩展单边1倍
默认值:0.1

max_height

可选

int

最大输出高度
默认值:1920,在扩图处理后resize到指定尺寸进行兜底

max_width

可选

int

最大输出宽度
默认值:1920,在扩图处理后resize到指定尺寸进行兜底

logo_info

可选

LogoInfo

水印信息

LogoInfo
水印相关信息。

名称

类型

必选

描述

备注

add_logo

Boolean

是否添加水印。True为添加,False不添加。默认不添加

position

Int

水印的位置,取值如下:
0-右下角
1-左下角
2-左上角
3-右上角
默认0

language

Int

水印的语言,取值如下:
0-中文(AI生成)
1-英文(Generated by AI)
默认0

logo_text_content

String

明水印自定义内容

输出说明

通用输出参数

请参考通用返回字段及错误码

业务输出参数

重点关注data 字段,其他字段为公共返回

字段

类型

说明

备注

binary_data_base64

Array of String

输出处理过的图片Base64数组(单张图)

image_urls

Array of String

输出处理过的图片url
数组(单张图)

请求&返回完整示例

请求示例

// 使用比例
{
    "req_key": "i2i_outpainting",
    "prompt": "蓝色的海洋",
    "binary_data_base64": ["原图base64"],
    "scale": 7,
    "seed": -1,
    "steps": 30,
    "strength": 0.8,
    "top": 0.1
    "bottom": 0.1,
    "left": 1,
    "right": 1,
    "max_height": 1920,
    "max_width": 1920
}
// 使用画布
{
    "req_key": "i2i_outpainting",
    "prompt": "蓝色的海洋",
    "binary_data_base64": ["延边图base64", "延边图mask"],
    "scale": 7,
    "seed": -1,
    "steps": 30,
    "strength": 0.8
    "max_height": 1920,
    "max_width": 1920,
}

输出示例

{
    "code": 10000,
    "data": {
        "algorithm_base_resp": {
            "status_code": 0,
            "status_message": "Success"
        },
        "binary_data_base64": ["扩展图base64"],
        "image_urls":["扩展图url"],
        "request_id": "977202e694283d9e430e6d91d3e0bc6540077ea26de523ba7dfd3856409db693"
    },
    "message": "Success",
    "request_id": "20240314153408C09A6A1651795D028F5A",
    "status": 10000,
    "time_elapsed": "3.9405467s"
}

错误码

(1)通用错误码
请参考通用返回字段及错误码
(2)业务错误码

http code

错误码

错误信息

说明

200

10000

Success

成功

400

50411

Pre Img Risk Not Pass

输入图片前审核未通过

400

50511

Post Img Risk Not Pass

输出图片后审核未通过

400

50412

Text Risk Not Pass

输入文本前审核未通过

400

50512

Post Text Risk Not Pass

输出文本后审核未通过

400

50413

Post Text Risk Not Pass

输入文本NER、IP、Blocklist等拦截

SDK使用说明

请参考SDK使用说明