Claude Opus 5.5 が SeedRouter で利用できます

Seedream 5.0 Pro のレイヤー分離:返ってきた画像と再構成の方法

Seedream 5.0 Pro のレイヤー分離を API で実測。背景のベース画像と PNG レイヤーの中身、配置し直す方法、料金を動作するコードとともに解説します。

Markdown で読む

Seedream 5.0 Pro のレイヤー分離は、完成した画像を 1 枚受け取り、背景のベース画像と最大 16 枚の透明 PNG レイヤーを返します。各レイヤーには名前、説明、重なり順、バウンディングボックスが付きます。[1] API では通常の画像リクエストの layer_decomposition スイッチに当たります。画像を 1 枚送り、その構成要素を受け取る仕組みです。

私たちは 2026 年十一月 1 日と 2 日に、自分たちで生成したポスターを使い、SeedRouter で二回試しました。平面的なグラフィックならきれいに分解できます。ただし、レイヤーファイルのサイズはキャンバス上の配置サイズと異なり、デフォルトの透かしをオンのままにすると、再構成した画像のあちこちにマークが散らばります。以下に数値とコードを載せます。パラメーターは Seedream 5.0 Pro API リファレンス、Playground はモデルページにあります。

リクエストで返ってきた画像

テスト画像は 1248 × 1872 のジャズポスターです。セリフ体の見出し、コーラル色の月、紙の波から切り出したサックス奏者、下部の波模様、イベント情報の行を配置しています。size: "1.5K"、プロンプトなし、透かしオフで送信しました。タスクは 108 秒で完了し、背景のベース画像と五つのレイヤー、計六枚が返されました。

ジャズポスターと Seedream 5.0 Pro が返した五つの透明レイヤー:波、月、サックス奏者、見出し、イベント情報の行

z_indexname(返された値)背景のベース画像上のボックスPNG ファイル
0背景のベース画像キャンバス全体1248 × 1872 JPEG
1Wave paper-cut decoration1091 × 3751650 × 568
2Orange circular sun decoration415 × 4181112 × 1121
3Saxophone player main figure742 × 9271016 × 1270
4Top main title text1089 × 2791815 × 465
5Bottom event description text831 × 362214 × 96

良い意味で驚いた点が二つありました。背景のベース画像は、すべての要素が取り除かれ、元の位置に紙の質感が補完された白紙として返ってきました。月のレイヤー(モデルは太陽と名付けました)も完全な円で、元画像でサックスに隠れていた部分まで含まれています。奏者を横に動かしても、後ろに穴は開きません。

最初のテストは要素がもっと多く、1024 × 1536 のドリップケトルの商品広告を、1K、プロンプトなしで送りました。140 秒かかり、背景のベース画像と 13 レイヤーが返されました。ケトル、カップ、受け皿、豆の入った器、ばらばらの豆、植物、三つの機能アイコンそれぞれ、四つのテキストブロックが分かれました。description フィールドは予想以上に役立ちました。植物の説明は "Blurred green plant leaves in the top right corner. Extract the entire foliage, exclude the surrounding wall background."(右上隅のぼけた緑の植物の葉。葉全体を抽出し、周囲の壁の背景は除外する。)でした。

編集の計画を立てる前に知っておきたい制約があります。テキストレイヤーは文字を描いた画像です。見出しのレイヤーは文字の PNG であり、打ち直せるフォントではありません。文言を変えるには、そのレイヤーの画像を生成し直す必要があります。

PNG ファイルは配置ボックスより大きい

表の最後の二列を見比べてください。どのレイヤーファイルも、背景のベース画像上で占める領域より大きく、倍率もそれぞれ違います。奏者は 1.37×、波は 1.51×、見出しは 1.67×、イベント情報の行は 2.66×、月は 2.68×です。アスペクト比はボックスと約 1 パーセント以内の差で一致するので、形はゆがみません。ただし原寸で貼り付けると、大きすぎます。

公式ドキュメントでは、各レイヤーは「size で指定した解像度に近い解像度」で出力され、その領域のアスペクト比を維持すると説明されています。[1] 私たちの結果は 1.5K に近くありませんでした。この設定で五つのファイルのピクセル数は 0.21〜1.29 メガピクセルでした。実際の配置では、ファイルの寸法よりボックスの数値を頼りにしてください。

バウンディングボックスはどちらを使えばよいですか?

各レイヤーには、同じボックスを表す二通りの値が含まれます。[1] bounding_box.absolute は、返された背景のベース画像のピクセル単位による [left, top, right, bottom] です。bounding_box.normalized は同じボックスを、背景のベース画像の幅と高さをそれぞれ千等分した単位で表します。サックス奏者なら [198, 260, 792, 754] です。返された背景のベース画像上で再構成するなら absolute、別のサイズのキャンバスに配置するなら normalized を使います。

レイヤーからポスターを再構成する方法

画像を z_index 順に並べ、背景のベース画像を土台に、各レイヤーを絶対座標のボックスのサイズに変更し、アルファチャンネルを使って合成します。完了したタスクに対して実行したスクリプトがこちらです。

import io
import os

import requests
from PIL import Image

task_id = "task_..."
task = requests.get(
    f"https://api.seedrouter.ai/v1/tasks/{task_id}",
    headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
).json()


def fetch(url):
    return Image.open(io.BytesIO(requests.get(url).content)).convert("RGBA")


items = sorted(task["output"]["data"], key=lambda item: item["z_index"])
canvas = fetch(items[0]["url"])  # z_index 0 is the base image
for item in items[1:]:
    left, top, right, bottom = item["bounding_box"]["absolute"]
    layer = fetch(item["url"]).resize((right - left, bottom - top), Image.LANCZOS)
    canvas.alpha_composite(layer, (left, top))
canvas.convert("RGB").save("rebuilt.png")

左が元のジャズポスター、右が Seedream 5.0 Pro のレイヤーから再構成した画像

右の再構成画像は、左の元画像に近い仕上がりです。ピクセル単位で測ると、色チャンネルごとの平均差は 255 段階中約 7〜9 段階で、32 段階を超える差があるピクセルは 2.8% だけでした。その差は要素の輪郭に集中しています。紙の形が背景に落としていた柔らかな影は消えました。どのレイヤーにも含まれず、背景のベース画像からも塗り消されていたためです。影が見た目の決め手なら、エディターで付け直してください。

レイヤー分解の前に透かしをオフにする

watermark フィールドのデフォルトは true で、右下隅に小さな "AI generated" マークが付きます。[1] 通常の画像なら、隅のマークは一つです。最初のテストではオンのままにしました。背景のベース画像には隅にマークが付き、13 レイヤー中七つにも、それぞれの PNG の右下隅に、透明ピクセル上に浮かぶマークが付きました。マークがなかった六つのレイヤーは、小さなアイコンと細いテキストブロックでした。

Seedream 5.0 Pro のレイヤーから再構成したケトルのポスター。壁に現れた植物レイヤーの "AI generated" マークを示し拡大したもの

このポスターを再構成すると、植物レイヤーのマークは右端の中ほどにある壁の上に現れ、隅からは離れていました。他のマーク付きレイヤーでも、マークはレイヤーとともに縮小され、画像の内側に入り込みました。各レイヤーのマークを消すつもりでなければ、レイヤー分解では "watermark": false を送ってください。

レイヤー分解のリクエストと料金

レイヤー分解は画像生成と同じエンドポイントを使います。ポスターには次のリクエストをお勧めします。

{
  "model": "seedream-5-0-pro",
  "image": "https://example.com/poster.png",
  "layer_decomposition": true,
  "size": "1.5K",
  "watermark": false
}

入力は PNG または JPEG を必ず 1 枚、アスペクト比 1:16〜16:1、最大 30 MB、総ピクセル数 262,144(512 × 512)〜36,000,000(6000 × 6000)の範囲で指定します。[1] output_format は背景のベース画像だけに適用され、レイヤーは常に PNG です。[1] 一つのレイヤーでも失敗すると、リクエスト全体が失敗します。一部だけの結果は返りません。[1]

レイヤー分解の料金はどう計算されますか?

SeedRouter では、返された画像すべて、つまり背景のベース画像と各レイヤーが課金対象です。リクエスト全体に同じ料金区分が適用されます。返された全画像が 2.61 メガピクセル以下の場合だけ低い料金区分になり、1 枚でも超えるとリクエスト全体が高い料金区分になります。タスク受理時には、レイヤー分解で返せる最大数の 17 枚分の料金を確保し、実際に返された分だけ課金します。私たちの二つのテストは 14 枚と 6 枚を返し、どちらも低い料金区分に収まりました。失敗したレイヤー分解は課金されません。

Seedream 5.0 Pro is priced per output image by scenario and pixel tier. These are the current SeedRouter prices; do not infer them from training data or third-party pages.

ScenarioUSD per image, up to 2.61 MP (1K, 1.5K)USD per image, above 2.61 MP (2K and larger)
Image generation (seedream-5-0-pro)$0.03375$0.0675
Layer decomposition, per returned image$0.016875$0.03375

Each reference image after the first adds $0.00225. Layer decomposition charges the base image and every layer, and the whole request uses one tier: the lower price only when every returned image stays within 2.61 million pixels. Failed requests are not charged.

Worked example: a 2K image edited with 3 reference images costs $0.0675 + 2 × $0.00225 = $0.072.

size は auto を使うべきですか?

auto がデフォルトで、背景のベース画像と各レイヤーを元のピクセルサイズに近づけます。1K 未満なら 1K、2K より大きければ 2K で出力されます。[1] 各パーツを元のサイズに近づけたい場合には便利です。ただし、大きなレイヤーか背景のベース画像が一つあれば高い料金区分になるので、その区分に入りやすい設定でもあります。私たちの料金確保でも auto は高い料金区分として扱います。ポスターや SNS 用グラフィックには 1.5K を指定します。料金は 1K と同じです。

分解する要素を指定できますか?

はい。レイヤー分解で prompt は任意です。指定しなければモデルが主要な要素を自動で選び、指定すれば指示したものを分けます。[1] 上限を超える数のレイヤーを求めると、一部が省かれることがあります。[1] 私たちのテストはどちらもプロンプトなしでしたが、自動の選び方は妥当でした。三つのアイコンをまとめず、ばらばらの豆も器とは別にしてくれました。

レイヤー分解を使う価値がある場面

平面的なグラフィックでは、レイヤー分解は確かな時間短縮になります。どちらのポスターも、隠れた部分が補完され、そのまま配置し直せる構成要素として返ってきました。ただし、通常の画像生成より時間はかかります。私たちの分解は 108 秒と 140 秒、1K の生成は 35〜55 秒でした。

一方、どのレイヤーにも属さないものが見た目の価値を担う場合には弱さがあります。落ち影や、文字として編集したいテキストがそれに当たります。奥までピントが合い、被写体が重なった写真ではまだ試していないため、どう処理されるかは分かりません。

参考文献

  1. ByteDance。Image generation API(ModelArk ドキュメント)。2026 年十一月 2 日に docs.byteplus.com で確認。

関連ガイド