Seedance 2.5がEvoLinkで利用可能にSeedance 2.5を試す
1 枚のポスターがベース画像とテキスト・被写体・装飾の透過レイヤーに分解される様子
チュートリアル

Seedream 5.0 Pro Layerize API で 1 枚の画像を編集可能なレイヤーに分解する

Jacey
Jacey
Founder
2026年8月15日
16 分
いわゆる「AI 画像編集」の多くは、結局のところ画像全体を生成し直して、気に入っていた部分が残ることを祈る作業です。Seedream 5.0 Pro Layerize(レイヤー分解)は発想が違います。完成した画像を 1 枚渡すと、その画像を分解して返してきます。ベース画像と、複数の透過 PNG レイヤー。どのレイヤーも単独で移動・拡大縮小・差し替えができる要素です。
最短の手順は次のとおりです。https://api.evolink.ai/v1/images/generations に POST し、modeldoubao-seedream-5.0-pro-layerize を指定して、画像 URL をちょうど 1 枚渡します。返ってくるのは画像ではなくタスク ID です。このモデルは非同期で、所要時間はおよそ 120 秒。その後 GET /v1/tasks/{task_id} をポーリングし、statuscompleted になったら result_data からレイヤーを取り出します。

この記事では、つまずきやすい部分を中心に扱います。「どの要素を分解するか」を指定する 3 つの方法、枚数課金によってレイヤー数がコストの主変数になる理由、そして通常生成より厳しい入力制約です。

何が返ってくるのか

1 回のリクエストで 1〜17 枚が生成されます。ベース画像 1 枚と、最大 16 枚のレイヤーです。
出力形式内容
ベース画像output_format に従う(既定は jpeg背景。取り除かれた要素の下は自動的に再構築される
レイヤー 1〜16常に alpha 付き PNGoutput_format の影響を受けない1 枚につき 1 要素、それ以外は透明

注目すべきはベース画像です。Layerize がポスターから見出しを剥がすとき、そこに穴は残りません。文字の下にあった内容が再構築されます。これがセグメンテーションマスクとの本質的な違いであり、出力をそのままデザインツールに持ち込める理由です。

レイヤー数は指定できません。制御するパラメータは存在せず、分解結果によって決まります。また部分的な成功もありません。いずれか 1 枚でも失敗すればリクエスト全体が失敗し、全額返金されます。

レイヤーを指定する 3 つの方法

prompt は任意項目で、3 つの使い方がそれぞれ別の用途に対応します。
Seedream 5.0 Pro Layerize API の 3 つの指定モード:自動全分解、自然言語による要素指定、bbox 座標による厳密な指定
Seedream 5.0 Pro Layerize API の 3 つの指定モード:自動全分解、自然言語による要素指定、bbox 座標による厳密な指定

1. prompt を送らない — 自動で全分解

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "auto",
  "output_format": "jpeg"
}

プロンプトを一切与えない場合、モデルは画像内の主要な要素をすべて自分で検出します。テキストブロック、被写体、装飾、背景を 1 つずつ独立したレイヤーに分解します。これがこのモデルの主用途で、複雑なポスターなら 10 枚以上に分解されるのが普通です。

実装上の落とし穴が 1 つあります。空文字列ではなく、キーごと省略してください"prompt": "" は上流で「ユーザーが空の指示を与えた」と解釈され、自動検出の意味が失われます。リクエストボディに prompt キー自体を含めないのが正解です。

2. 自然言語 — 欲しい要素を名指しする

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "prompt": "オウムとタイトル文字を分解して",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "2K"
}

2〜3 個の要素だけが必要で、全分解の費用をかけたくない場合に使います。要素は意味的に識別されるため、「タイトル文字」と書くだけでよく、位置を知っている必要はありません。

3. bbox 座標 — 領域を厳密に指定する

{
  "model": "doubao-seedream-5.0-pro-layerize",
  "prompt": "タイトル文字<bbox>179 58 809 197</bbox>, オウム 1 羽<bbox>330 274 641 991</bbox>",
  "image_urls": ["https://example.com/poster.png"],
  "quality": "1.5K"
}
<bbox> タグの中は 4 つの数値で、ピクセルではなく正規化された 01000 座標を使い、順序は 左 上 右 下 です。自然言語では曖昧になる場合に使います。同じ画面に似た商品が 2 つある、あるいはテキストブロックが複数あって「あの見出し」がどちらとも取れる、といった状況です。
実用的な手順としては、まず自動分解を 1 回実行し、返ってきたレイヤーの bounding_box.normalized を読み取ってから、その座標で再実行すると狙いどおりの分割が得られます。

非同期フロー

ステップ 1 — タスクを投入する

curl -X POST https://api.evolink.ai/v1/images/generations \
  -H "Authorization: Bearer $EVOLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5.0-pro-layerize",
    "image_urls": ["https://example.com/poster.png"],
    "quality": "auto"
  }'

返ってくるのは画像ではなくタスクハンドルです。

{
  "id": "task-unified-1757165031-seedream5prolayerize",
  "object": "image.generation.task",
  "model": "doubao-seedream-5.0-pro-layerize",
  "status": "pending",
  "progress": 0,
  "type": "image",
  "task_info": { "can_cancel": true, "estimated_time": 120 },
  "usage": { "billing_rule": "per_call", "credits_reserved": 39.168 }
}
credits_reserved は最悪ケースを想定して事前に確保される見積もり値です。実際の請求は、返ってきた画像の枚数とサイズから計算されます。

ステップ 2 — 完了までポーリングする

curl https://api.evolink.ai/v1/tasks/task-unified-1757165031-seedream5prolayerize \
  -H "Authorization: Bearer $EVOLINK_API_KEY"
statuspendingprocessingcompleted(または failed)と遷移します。120 秒程度を見込み、5 秒間隔のポーリングで十分です。ポーリングを避けたい場合は投入時に callback_url を渡します。HTTPS のみ対応、内部 IP は禁止、課金確定後に発火し、失敗時は最大 3 回(1 秒 / 2 秒 / 4 秒間隔)再試行されます。

ステップ 3 — レイヤーを読み取る

result_data の各要素には、任意のキャンバス上で構図を再現するのに十分なメタデータが含まれています。
フィールド意味
z_index重ね順。0 がベース画像、レイヤーは 1 から増加
bounding_box.absoluteベース画像のピクセル座標系での位置
bounding_box.normalized同じ矩形を 01000 の正規化座標で表したもの
nameモデルが生成した名称(例:「緋色のコンゴウインコ」)
descriptionその要素についてのより詳しい説明
ベース画像は z_index: 0 のみを持ち、namebounding_box はありません。z_index でソートし、各レイヤーを absolute の矩形位置に合成すれば、元の画像を正確に再現できます。
ファイルは早めに保存してください。生成された画像リンクは 24 時間で失効します。

入力制約は通常生成より厳しい

このフローで最も失敗が多いのがここです。Layerize は通常の Seedream 生成が受け付ける入力をすべて受け付けるわけではありません。

制約
画像枚数ちょうど 1 枚。0 枚でも 2 枚以上でもエラー
形式.png.jpeg.jpg のみ — webp は拒否される
ファイルサイズ30MB 以下
総ピクセル数合計 262,144 〜 36,000,000 — 512×512 が条件を満たす最小の正方形
アスペクト比1:16 〜 16:1
URLサーバーから直接アクセスできるか、アクセス時に直接ダウンロードが始まること
このうち 2 つが繰り返し問題になります。webp は通常生成では問題ないのに、ここでは拒否されます。パイプラインが webp を保存しているなら、呼び出す前に変換してください。もう 1 つ、総ピクセル数 262,144 の下限は通常生成より高いため、サムネイルはそのまま失敗します。
quality の選択肢も狭く、レイヤーモードは段階指定のみauto1K1.5K2K)を受け付けます。比率(16:9 など)や具体的なピクセル数(2048x2048 など)を渡すとエラーになります。auto では出力が入力に追随し、元サイズが 921,600 〜 4,624,220 ピクセルの範囲ならそのまま、それ未満なら 1K、それを超えるなら 2K で出力されます。

課金:数えるのはリクエスト数ではなく出力画像数

初回の請求で最も驚かれる部分です。出力画像はそれぞれ自身のピクセル数で段階が決まります。ベース画像のサイズでもリクエスト単位でもありません。

EvoLink の Layerize は BytePlus 公式価格より 20% 安く設定されています。

項目BytePlus 公式価格EvoLink
入力画像$0.003$0.0024
出力画像 低段階(2,610,000 ピクセル以下)$0.0225$0.018
出力画像 高段階(2,610,000 ピクセル超)$0.045$0.036
1K1.5K は同価格で、どちらも低段階に入ります。段階は 1 枚ごとに判定されるため、2K のベース画像は高段階、そこから剥がした小さな文字レイヤーは低段階で課金されます。

実際の計算例を 2 つ挙げます。

シンプルな 1K 分解、3 レイヤーを抽出: 入力画像 1 枚($0.0024)+ ベース画像 1 枚($0.018)+ レイヤー 3 枚($0.054)= $0.0744
2K ポスターを 8 枚の小さな文字レイヤーに分解: 入力画像 1 枚($0.0024)+ 高段階ベース画像 1 枚($0.036)+ 低段階レイヤー 8 枚($0.144)= $0.1824
結論ははっきりしています。コストを決めるのはレイヤー数であって解像度ではありません。8 枚の小さな文字レイヤーは、あの 2K ベース画像の 4 倍かかっています。商品と見出しの 2 要素だけが必要なら、プロンプトでそう指定してください。全分解を走らせる必要はありません。対象を 10 要素から 2 要素に絞ることは、細かい節約ではなく実質的なコスト削減です。

つまずきやすい 4 点

  1. キーを省略せず "prompt": "" を送ってしまう。このモデルで最も有用な自動検出が無効になります。
  2. output_format: "png" がレイヤーに効くと思い込む。これはベース画像のみを制御します。レイヤーは常に alpha 付き PNG です。
  3. 失敗を部分的な成功として扱う。部分成功は存在しません。1 枚でも失敗すれば全体が失敗し全額返金されるため、リトライ処理は「全か無か」を前提に書いてください。
  4. リンクを失効させる。24 時間で消えます。ポーリングと同じジョブ内でダウンロードしてください。

よくある質問

最大で何枚のレイヤーが得られますか?

レイヤーは 1〜16 枚、これにベース画像を加えて最大 17 枚の出力画像です。枚数を指定することはできず、分解結果によって決まります。

どの要素をレイヤーにするか制御できますか?

はい、3 つの方法があります。prompt を省略して全要素を自動検出させる、自然言語で要素を説明する、<bbox> タグで 0〜1000 の正規化座標を指定する、のいずれかです。

レイヤーは本当に透過 PNG ですか?

はい。各レイヤーは alpha チャンネル付きの PNG で、output_format の影響を受けません。その設定はベース画像のみに適用されます。

1 回の呼び出しにどれくらいかかりますか?

およそ 120 秒です。通常の画像生成より明確に遅く、これが非同期 API になっている理由です。ポーリングを避けたい場合は callback_url を使ってください。

レイヤーが 1 枚失敗したらどうなりますか?

リクエスト全体が失敗し(部分成功はありません)、全額返金されます。

どんな画像でも分解できますか?

PNG または JPEG で、総ピクセル数 262,144 以上(例:512×512)、30MB 未満、アスペクト比 1:16 〜 16:1 である必要があります。通常生成では受け付けられる webp も、ここでは拒否されます。


まずブラウザで試すなら Seedream 5.0 Pro モデルページへどうぞ。Playground に Layer Split モードがあり、上記 3 つの指定方法をそのまま試せます。最新の価格は料金ページ、提供開始の詳細はリリース記事にあります。

AIコストを89%削減する準備はできましたか?

今すぐEvoLinkを始めて、インテリジェントなAPIルーティングの力を体験してください。