智能出图

更新时间:
复制 MD 格式

面向电商卖家的一站式 AI 图片智能处理服务。将元素识别、智能抠图、智能消除、图片翻译 Pro、智能裁剪、高清放大六项原子能力编排为图片处理工作流,用户只需一次上传图片、通过 Ability 参数勾选所需能力,即可按预设顺序一次性完成多项优化,输出符合铺货平台要求的商品图。异步调用。

适用场景

适用于跨平台铺货场景下的商品图片批量优化,将货源商品图适配为铺货平台需求的主图、SKU 图、详情图,可支持:

  • 识别带有文字、水印、Logo、牛皮癣的劣质图片,支持用户过滤需要处理的图片

  • 去除原图中的水印、Logo、牛皮癬、中文文案等不合规元素

  • 扣除商品主体边缘背景

  • 将图片内的文本翻译为其他语言

  • 将图片裁剪为指定尺寸

  • 将图片像素放大指定倍数

接口

异步接口:通过提交接口拿到 TaskId ,再通过查询接口轮询结果。

提交任务

POST /rest/ai/image/visionflow

查询结果

复用统一异步查询接口,传入提交接口返回的 TaskId 轮询任务状态。详见异步结果查询接口

POST /rest/ai/task/queryTaskResult

快速开始

import json, time

# 1. 提交任务
submit = make_signed_request("/rest/ai/image/visionflow", json.dumps({
    "ImageUrl": "https://example.com/product.jpg",
    "Ability": [1, 2, 3],
    "NonObjectDetectElements": [1, 2, 3],
    "IsFilter": True,
    "BackGroundType": "WHITE_BACKGROUND",
    "ObjectRemoveElements": [1, 3]
}))
task_id = submit["Data"]["TaskId"]

# 2. 轮询查询
while True:
    time.sleep(5)
    res = make_signed_request("/rest/ai/task/queryTaskResult", json.dumps({"TaskId": task_id}))
    status = res["Data"]["Status"]
    if status in ("COMPLETED", "FAILED"):
        break
print(res["Data"]["Result"]["Result"]["FinalUrl"])

功能介绍

用户输入商品图片 URL,并通过 Ability 参数勾选需要调用的 AI 能力组合,系统将按预设顺序串联执行。其中智能元素识别的结果会影响后续能力的选择——额外提供 IsFilter 参数支持用户按识别结果过滤图片,决定是否进入后续 AI 处理流程。

每项能力对应的编码和说明如下:

编码

能力

说明

1

智能元素识别

检测主体/非主体上的水印、Logo、文字、含字色块;可作为前置过滤,决定后续能力是否继续。

2

智能抠图

深度学习精准分离主体与背景,支持发丝/透明物体;输出透明底或白底图。

3

智能消除

消除文字、特定名称(品牌/店铺)、透明字块、牛皮癣;支持主体/非主体分别指定,支持 Mask(RLE)精确区域。

4

图片翻译 Pro

多模态 AI 驱动的图片文本翻译,详见图片翻译Pro

5

智能裁剪

TargetWidth / TargetHeight 居中裁剪并保留主体。

6

高清放大

提升图片画质,按 UpscaleFactor (2–4,默认 2)放大像素。

效果对比

原始图

使用的能力项

输出图

image.png

  • 智能识别

  • 图翻 Pro

  • 智能裁剪

image.png

image.png

  • 智能抠图

  • 智能消除

  • 智能裁剪

image.png

image.png

  • 智能识别

  • 智能消除

  • 高清放大

image.png

提交接口

请求参数

下表 17 个字段,按所选能力分组。ImageUrlAbility 为基础必填字段;其余字段的「必填」列标明在启用对应能力(Ability 含该能力编码)时是否必填:=该能力必填,=可选,二选一=与同组另一字段至少填一个。未启用对应能力时,该组字段无需传入。

参数

类型

必填

说明

基础参数

ImageUrl

String

图片要求:分辨率 > 256×256;长边 ≤ 1920 像素;短边 ≤ 1080 像素;大小 ≤ 5 MB;支持 png / jpeg / jpg / bmp / webp。

Ability

number[]

需要调用的 AI 能力数组,可多选。枚举见上表。示例:[1, 2, 3, 4]

智能元素识别(Ability=1)

ObjectDetectElements

number[]

二选一

检测主体上的元素:1=水印、2=Logo、3=文字、4=含字色块。与 NonObjectDetectElements 不可同时为空。

NonObjectDetectElements

number[]

二选一

检测非主体上的元素,枚举同上。

IsFilter

Boolean

选择带有此元素的图片进入后续处理(true)还是不带(false)。

智能抠图(Ability=2)

BackGroundType

String

WHITE_BACKGROUND(白底图)或 TRANSPARENT(透明图)。

智能消除(Ability=3)

ObjectRemoveElements

number[]

二选一

去除主体上的元素:1=透明字块、2=特定名称、3=文字、4=牛皮癣。与 NonObjectRemoveElements 不可同时为空。

NonObjectRemoveElements

number[]

二选一

去除非主体上的元素,枚举同上。

Mask

String

RLE 格式精确指定消除区域。传入将忽略 ObjectRemoveElements / NonObjectRemoveElements

图片翻译 Pro(Ability=4)

SourceLanguage

String

源语向代码,详见支持的语言

TargetLanguage

String

目标语向代码。

IncludingProductArea

Boolean

是否翻译主体上文字。false 仅翻译非主体上文字(保护商品名等嵌入信息)。

TranslatingBrandInTheProduct

Boolean

是否翻译品牌名。默认 false

Glossary

String

干预词表 ID。详见干预词表。

智能裁剪(Ability=6)

TargetWidth

number

目标宽度(像素),100–5000。

TargetHeight

number

目标高度(像素),100–5000。

高清放大(Ability=7)

UpscaleFactor

number

放大倍数 2–4,默认 2。

请求示例

{
  "ImageUrl": "https://example.com/product.jpg",
  "Ability": [1, 4, 6],
  "ObjectDetectElements": null,
  "NonobjectDetectElements": [1, 2, 3],
  "IsFilter": true,
  "BackGroundType": "WHITE_BACKGROUND",
  "ObjectRemoveElements": null,
  "NonobjectRemoveElements": [1, 2, 3, 4],
  "Mask": null,
  "SourceLanguage": "zh",
  "TargetLanguage": "en",
  "IncludingProductArea": null,
  "TranslatingBrandInTheProduct": null,
  "Glossary": "glossary_1",
  "TargetWidth": 800,
  "TargetHeight": 600,
  "UpscaleFactor": 2
}

响应参数

字段

类型

说明

Code

String

状态码。成功为 "success"

Message

String

错误描述。成功为 "Success"

Success

Boolean

是否成功。

RequestId

String

请求 ID,排查问题时提供。

Data.TaskId

String

异步任务 ID,用于查询接口。

查询接口

请求参数

参数

类型

必填

说明

TaskId

String

提交接口返回的 TaskId

请求示例

{ "TaskId": "75942c08-1d09-942f-bfa9-76703872e668" }

响应参数

字段

类型

说明

Code / Message / Success / RequestId

--

同提交接口。

Data.TaskId

String

异步任务 ID。

Data.Status

String

任务状态:QUEUED(排队中)/ IN_PROGRESS(执行中)/ COMPLETED(已完成)/ FAILED(失败)。

Data.Result

String(JSON)

Data.Result 为 JSON 字符串,需二次解析(JSON.parse)。仅 COMPLETED 状态返回;以下 Data.Result.Result.* 为解析后的结构。

Data.Result.Result.SrcUrl

String

原始输入图片 URL。

Data.Result.Result.FinalUrl

String

处理后图片 URL(带过期时间的 OSS 签名 URL)。

Data.Result.Result.ElementStatus

Boolean

元素检测是否通过(仅 Ability=1 时有意义)。

Data.Result.Result.ObjCharacter / ObjWatermark / ObjLogo / ObjNpx

String

主体上是否存在文字 / 水印 / Logo / 含字色块("true""false")。

Data.Result.Result.NoobjCharacter / NoobjWatermark / NoobjLogo / NoobjNpx

String

非主体上是否存在文字 / 水印 / Logo / 含字色块。

响应示例

注意Data.Result 可能返回 Object 或 JSON 字符串,取决于网关版本。建议始终对 Data.Result 做类型检查后再解析

返回 Object 形式

{
  "Data": {
    "Status": "COMPLETED",
    "TaskId": "4a5b8f01-6fa1-95ef-bfd3-89ae8abbb67a",
    "Result": {
      "Result": {
        "ObjLogo": "false",
        "NoobjLogo": "true",
        "ElementStatus": true,
        "NoobjWatermark": "true",
        "FinalUrl": "http://dashscope-7c2c.oss-cn-shanghai.aliyuncs.com/.../result.png?...",
        "ObjCharacter": "false",
        "ObjNpx": "false",
        "SrcUrl": "http://dashscope-7c2c.oss-cn-shanghai.aliyuncs.com/.../input.png?...",
        "ObjWatermark": "false",
        "NoobjCharacter": "true",
        "NoobjNpx": "false"
      }
    }
  },
  "RequestId": "66256E25-2A3E-1A1A-BFAC-0969CA6B0F58",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

返回 JSON 字符串形式(需二次解析)

{
  "Data": {
    "Status": "COMPLETED",
    "TaskId": "effaf12d-565d-9ae2-8e58-722e977f4ab2",
    "Result": "{\"Result\": {\"ObjNpx\": \"false\", \"SrcUrl\": \"...\", \"FinalUrl\": \"...\", ...}}"
  },
  "RequestId": "3FBCE320-0605-1AF6-8F63-5171A43C1711",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

错误码

智能出图共享统一的命名错误码体系。本能力常触发以下错误码:

  • InvalidParameter -- ImageUrl 不合规(分辨率、大小、格式);或 Ability 选了能力但缺少对应必填参数。

  • DownstreamUnavailable -- 图片 URL 无法访问或下游模型暂不可用。

  • InputContentBlocked -- 输入图片触发内容安全审核。

  • FreeQuotaExhausted -- 试用额度耗尽且未购买商品包。

完整错误码列表,请参见错误码

翻译支持的语言

Ability=4(图片翻译 Pro)时生效。语言代码采用 ISO 639-1 两位字母;区域变体遵循 RFC 5646 格式(如 zh-tw = 繁体中文)。支持桥接翻译,如 zh→en、en→ar 可实现 zh→en→ar 桥接。

源语言

支持的目标语言

中文简体 (zh)

en(英语)、ja(日语)、ko(韩语)

英语 (en)

ar、az、bn、cs、de、el、es、fi、fr、he、hi、hu、id、it、ja、ko、ms、my、ne、nl、pl、pt、ro、ru、si、sv、th、tl、tr、uk、ur、vi、zh(32 种)

西班牙语 (es)

bg、cs、da、de、el、en、et、fi、fr、hr、hu、it、lt、lv、nl、no、pl、pt、ro、ru、sk、sv(22 种)

土耳其语 (tr)

ar、cs、de、el、en、hu、ro(7 种)

ar / az / bn / cs / de / el / fi / fr / he / hi / hu / id / it / ja / ko / ms / my / ne / nl / pl / pt / ro / ru / si / sv / th / tl / uk / ur / vi(30 种)

en(英语)

繁体中文 (zh-tw)

通过桥接:zh-tw→zh、zh-tw→zh→en,可间接覆盖 en 源的所有目标语言

使用限制

  • 调用模式:异步。查询接口无 QPS 限制,建议轮询间隔 ≥ 5 秒。提交接口的 QPS 上限详见频率限制

  • 输入图片:分辨率 > 256×256;长边 ≤ 1920 像素;短边 ≤ 1080 像素;大小 ≤ 5 MB;支持 png / jpeg / jpg / bmp / webp。

    智能裁剪输出尺寸:100–5000 像素。

  • 高清放大倍数:2–4 倍。

  • 计费:按各原子能力的实际调用量计费。详见素材优化计费。

常见问题

如果链路中某一个 AI 处理能力报错,整条链路会报错吗?是否计费?

整条链路会报错;且因为报错,本次不会对客户计费。

后续步骤