异步生成图片
提交异步图片任务,立即返回任务 id。通过 GET /v1/images/async/{taskId} 轮询状态;处理时间取决于模型和路由,请持续轮询至终态。
请求体为 multipart/form-data。image 或 image[] 可直传参考图,image_urls 或 image_urls[] 可传 URL。
URL 入口接受单 URL、JSON URL 数组文本或重复同名字段。分层须只选一种入口,并且仅含一张图片;不传参考图时普通生成为文生图。
提交时冻结预估金额,status=succeeded 时按实际用量扣费;失败、拒绝或错误自动退还冻结金额。
分层成功时,result.data 返回底图和图层元数据。平台归档时可能将内嵌 b64_json 转为 url,但仍保留 z_index、name、description、bounding_box 等图层字段。
Seedream 5.0 Pro / Flash 图层拆分
使用支持分层的 Seedream 5.0 Pro / Flash 模型,传入 layer_decomposition: true 和一张待拆分图片。
分层输入仅支持 PNG 或 JPEG;上传文件和 Base64 Data URI 也须使用这两种格式。
prompt 可省略以自动识别主要元素,也可指定需要拆分的元素。普通图片生成仍须传入 prompt。
分层 size 支持 auto(默认)、1K、1.5K、2K;仅支持单张输入,n 须为 1。
返回 1 张底图和最多 16 个带透明通道的 PNG 图层。output_format 仅控制底图格式,图层始终为 PNG。
data 中保留 z_index、name、description、bounding_box;底图 z_index=0,其余图层按数值递增叠放。
bounding_box.absolute 是输出底图中的像素坐标,normalized 是 0–1000 的归一化坐标,均为 [left, top, right, bottom]。
还原时将图层缩放至框的宽高,再放到框的左上角,按 z_index 从小到大叠放;各图层文件尺寸可以与底图不同。
底图和每个成功输出图层分别按实际输出分辨率计费;n=1 不表示只收一张的费用。
这与 sequential_image_generation 组图生成不同;5.0 Pro 不支持组图生成。
Seedream 5.0 Pro 计费方式
普通生成与图层拆分分别按实际输出分辨率结算。每张成功输出的实际像素数为其宽 × 高;261 万像素(2,610,000)及以下为低档,超过该值为高档。
底图也算一张输出;底图和所有成功图层各按自己的实际像素档位计费,同一请求可混合高低档。n=1 是一次拆分请求,不是只计一张费用。
只有成功输出计费,失败请求不扣费并退还冻结金额。
Pro 的首张参考图免费,第 2 张起按参考图张数收取输入费用。每次请求参考图费用为 max(参考图张数 − 1, 0) × 当前账户输入单价,仅计算一次,不按输出张数倍增;输出图片费用另算。分层恰好一张参考图,因此没有参考图输入费用。
适用的账户折扣同时作用于输入和输出单价。具体单价和适用折扣以当前调用站点的模型价格列表为准。
以下请求示例使用国内站;海外调用请使用对应站点和模型 ID。
curl https://api.xrtoken.net/v1/images/async \
-H "Authorization: Bearer $XRTOKEN_API_KEY" \
-F "model=volcengine/doubao-seedream-5.0-pro" \
-F "image=@source.png" \
-F "layer_decomposition=true" \
-F "size=auto" \
-F "response_format=url"也可使用已上传图片 URL;如传数组,分层数组仍须仅含一个 URL:
curl https://api.xrtoken.net/v1/images/async \
-H "Authorization: Bearer $XRTOKEN_API_KEY" \
-F "model=volcengine/doubao-seedream-5.0-pro" \
-F 'image_urls=["https://example.com/source.png"]' \
-F "layer_decomposition=true" \
-F "size=auto"Authorization
BearerAuth API 密钥认证(OpenAI 格式)。在 Authorization 请求头中传入:
Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X post "https://api.xrtoken.net/v1/images/async" \ -F model="volcengine/doubao-seedream-5.0-pro" \ -F layer_decomposition="true"{
"id": "4efa6a93-c0c8-4418-b11f-60152b3ce130",
"request_id": "tr-req-2ee8d1734e29472c9c7a15c7bd07bc76",
"status": "queued",
"model": "string",
"created_at": 0
}{
"error": "model field is required",
"type": "invalid_request_error"
}{
"error": "invalid or missing API key",
"type": "auth_error"
}{
"error": "insufficient balance -- please top up or upgrade your plan",
"type": "billing_error"
}{
"error": "rate limit exceeded",
"type": "rate_limit_error"
}