Seedream 5.5 API の使い方:Python コード・料金・実際の出力
Python から Seedream 5.5 API を呼び出し、画像生成、参照画像での編集、透明 PNG の生成、レイヤー分解を実行。実際の三回の結果と料金を紹介します。
Markdown で読むSeedream 5.5 API を呼び出すには、"model": "seedream-5-5" とプロンプトを付けて https://api.seedrouter.ai/v1/images/generations に POST を送り、返されたタスク id を保持し、ステータスが completed になるまで GET /v1/tasks/{id} をポーリングします。 完了したタスクには画像 URL が入っています。同じリクエストで最大 10 枚の参照画像を使った編集、背景が透明な PNG の生成、画像 1 枚の透明レイヤーへの分解もできます。
ByteDance は 2026 年 11 月 9 日に Seedream 5.5 を公開しました。主な変更は、多くの編集を重ねても安定すること、透明な背景を直接出力できること、小さな文字がより鮮明で画像がよりリアルになったことの三つです。[1] 私たちは翌日、SeedRouter で三回実行しました。このチュートリアルでは、送信したコード、返された結果、所要時間、料金を紹介します。全フィールドは Seedream 5.5 API リファレンス、Playground はモデルページにあります。
最初の Seedream 5.5 API 呼び出しの前に必要なものは?
必要なのは二つ、API キーとモデル ID です。ダウンロードするものはありません。ByteDance は Seedream 5.5 の重みを公開していないため、モデルはホストされた API として動作し、コードからは JSON を送るだけです。
API キーのページでキーを作成し、サーバーの環境変数に保管してください。ブラウザのコードには決して入れないでください:
export SEEDROUTER_API_KEY="your-key"
pip install requestsモデル ID は seedream-5-5 です。一つの ID でテキストからの画像生成、編集、レイヤー分解に対応し、どれを実行するかはリクエストのフィールドで決まります。新規アカウントには少額の無料残高があり、チャージする前に 1K の画像を数枚試せます。
Python で画像を生成するには?
送信すると画像ではなくタスクがすぐに返ります。このスクリプトはプロンプトを送信し、10 秒ごとにポーリングし、15 分で待機を打ち切り、返された画像をそれぞれ保存します。
import os
import time
import requests
API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
def submit(body):
r = requests.post(f"{API}/images/generations", headers=HEADERS, json=body, timeout=60)
r.raise_for_status()
return r.json()["id"]
def wait(task_id, limit=900):
deadline = time.time() + limit
while time.time() < deadline:
r = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=30)
r.raise_for_status()
task = r.json()
if task["status"] in ("completed", "failed"):
return task
time.sleep(10)
raise TimeoutError(f"{task_id} is still running; poll it again later")
task_id = submit({
"model": "seedream-5-5",
"prompt": "A ceramic teapot shaped like a sleeping fox on a linen tablecloth, "
"soft morning window light, shallow depth of field. No text.",
"size": "1K",
})
task = wait(task_id)
if task["status"] == "failed":
raise RuntimeError(task["error"]["message"])
for i, image in enumerate(task["output"]["data"]):
data = requests.get(image["url"], timeout=60).content
with open(f"seedream-{i}.{image['output_format']}", "wb") as f:
f.write(data)
print(image["size"], image["url"])これが最初の実行です。47 秒で完了し、1248 × 832 の PNG が 1 枚返されました。

本番で大切なのは、このループから分かる二つの習慣です。ポーリングがタイムアウトしても、タスク ID を保持して再び確認してください。画像はまだ生成中かもしれません。「リトライ」のつもりで同じリクエストを再送信しないでください。別のタスクが作られ、もう一度課金されます。
重要なリクエストフィールドは?
ほとんどのリクエストに必要なのは model、prompt、size だけです。設定することが多いフィールドとそのデフォルト値はこちらです:
| フィールド | デフォルト | 役割 |
|---|---|---|
prompt | 必須 | 何を作るか。レイヤー分解の場合のみ任意です。 |
image | なし | 編集用の公開画像 URL を 1 件、または最大 10 件のリストで指定します。レイヤー分解では必ず 1 件です。 |
size | 2K | 1K、1.5K、2K、または 2560x1440 などの正確なピクセル寸法。 |
output_format | png | png または jpeg。 |
background | auto | transparent でアルファチャンネル付き PNG を生成します。 |
layer_decomposition | false | 入力画像を 1 枚、背景のベース画像とレイヤーに分解します。 |
layer_decomposition_options | なし | max_images(2–100、デフォルト 30)と text_recognition。 |
watermark | false | true で「AI generated」マークを付けます。 |
最大出力は 2K です。私たちが行った 2K の 16:9 の編集は 2560 × 1440 で返され、正確なピクセル寸法は総ピクセル数 4,624,220 まで指定できます。アスペクト比のフィールドはありません。形を固定するには、正確なピクセル寸法を送信してください。3K や 4K の解像度区分はないため、さらに大きなファイルが必要なら後から拡大する必要があります。API リファレンスには全フィールドが記載されています。そこに記載されていないフィールドは拒否されずに削除されます。別の画像 API で使った seed、style、n が紛れ込んでもリクエストは壊れず、効果もありません。1 回のリクエストで画像を 1 枚作ります。
参照画像を使って画像を編集するには?
元画像を image に入れ、プロンプトで変更する部分と維持する部分を指定します。二回目の実行では、灯台上部の回廊にいる塗装職人を写した晴天の写真を、冬の夜に変えました:
task_id = submit({
"model": "seedream-5-5",
"prompt": "Turn this scene into a snowy winter night with warm light from "
"the lighthouse windows, keep the composition",
"image": "https://static.seedrouter.ai/media/landing/models/seedream-5-5/v1/lighthouse-source.webp",
"size": "2560x1440",
})40 秒かかり、2560 × 1440 の PNG が返されました。塗装職人、その姿勢、筆、巻いたロープ、二つのペンキ缶、手すりは、すべて元の位置のままです。降る雪、回廊の床や肩に積もる雪、暗い空、塔の赤い帯より上にある明かりのともった窓が追加されました。

参照画像が複数ある場合は、「画像 2 のジャケット」のようにリストの順番で指定します。参照画像は最初の 1 枚からすべて課金対象なので、編集に必要な画像だけ送ってください。
このバージョンで ByteDance が主にうたっているのは、編集を重ねても未編集部分がピクセル単位で同一に保たれることで、連続 100 回の編集でテストしたとしています。[1] API で編集を繰り返すには、完了したタスクから URL を取り出し、次のリクエストの image に渡すループを組みます。私たちはまだ長い連続編集を試していないため、100 回という数値は確認できていません。各回が新しいタスクとなり、参照画像分も課金されることを覚えておいてください。
透明 PNG を取得するには?
background を transparent にし、output_format は png のままにしてください。プロンプトだけでも、参照画像がある場合でも使えます:
task_id = submit({
"model": "seedream-5-5",
"prompt": "A glossy red enamel pin shaped like a cherry, product cutout",
"background": "transparent",
"size": "1K",
})JPEG にはアルファチャンネルがないため、transparent と jpeg の組み合わせはタスク作成前に拒否されます。ByteDance は、完全な透明と半透明に対応し、輪郭を丁寧に描画するネイティブ RGBA 出力と説明しており、素材の背景を別途除去する必要はないとしています。[1]
API で画像をレイヤーに分解するには?
layer_decomposition: true と画像を必ず 1 枚送信します。三回目の実行では、文字認識をオンにし、返される画像を最大四枚に設定してジャズポスターを分解しました:
task_id = submit({
"model": "seedream-5-5",
"image": "https://static.seedrouter.ai/media/landing/models/seedream-5-5/v1/poster-source.webp",
"layer_decomposition": True,
"size": "1K",
"layer_decomposition_options": {"max_images": 4, "text_recognition": True},
})39 秒かかり、背景のベース画像と三つの透明レイヤー、計四枚が返されました。

z_index | name(返された値) | 背景のベース画像上のボックス | PNG ファイル |
|---|---|---|---|
| 0 | 背景のベース画像 | キャンバス全体 | 836 × 1254 |
| 1 | Dark blue serif main title text with dash decorations | 836 × 414 | 1455 × 721 |
| 2 | Gradient paper art figure and wave decorations | 836 × 1067 | 906 × 1157 |
| 3 | Dark blue serif bottom caption text | 765 × 204 | 1981 × 529 |
二つのテキストレイヤーには、読み取られた文字も付いていました。見出しレイヤーの text_recognition には "BLUE TIDE\nSESSIONS" が入り、フォントは HTF Didot、色は #122C4D と推定されました。イベント情報のレイヤーには "LIVE JAZZ · PIER 7 HALL · SATURDAY 9 PM" が入っていました。各行に個別のバウンディングボックスと書式があるので、同じ場所に自分のフォントで打ち直せます。
結果を使う前に知っておきたいことが三つあります:
- レイヤーファイルは配置ボックスより大きい。 倍率はレイヤーごとに異なり、見出しは 1.74×、イラストは 1.08×、イベント情報の行は 2.59×です。各 PNG を
bounding_box.absoluteのサイズに縮小してから配置し、z_indexの昇順に重ねてください。 max_imagesは上限で、少なくすると複数の要素がまとめられます。 四枚の枠では、モデルはサックス奏者、波、コーラル色の太陽を一つのレイヤーにまとめました。想定する要素数に余裕を持たせてください。- 同じ要素が二重に現れる場合があります。 コーラル色の太陽はイラストレイヤーに含まれ、背景のベース画像にも残っていました。レイヤーを動かす前に背景のベース画像を確認してください。
Seedream 5.5 API の料金はいくらですか?
画像ごとに、そのサイズに応じた料金がかかり、さらにすべての参照画像が課金対象です。261 万ピクセル以下(1K と 1.5K)は低い料金区分、2K 以上は高い料金区分になります。レイヤー分解では、背景のベース画像と各レイヤーをそれぞれのサイズに応じて課金します。失敗したタスクは課金されません。
Seedream 5.5 is priced per output image by pixel tier, plus every reference image. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Item | USD |
|---|---|
Output image up to 2.61 MP (1K, 1.5K), seedream-5-5 | $0.017 |
| Output image above 2.61 MP (2K) | $0.02975 |
Each reference image in image (the first included) | $0.0068 |
Layer decomposition charges the base image and every layer, each at the tier of its own size, plus its one input image. It reserves layer_decomposition_options.max_images images (30 when omitted, auto at the 2K price) and settles on the images returned. Failed requests are not charged.
Worked example: a 2K image with 2 reference images costs $0.02975 + 2 × $0.0068 = $0.04335.
2026 年 11 月 10 日に行った三回の実行と、それぞれの課金対象はこちらです:
| 実行内容 | 返された結果 | 所要時間 | 課金対象 |
|---|---|---|---|
| 1K テキストから画像生成 | 画像 1 枚、1248 × 832 | 47 秒 | 低い料金区分の画像 1 枚 |
| 2K 編集、参照画像 1 枚 | 画像 1 枚、2560 × 1440 | 40 秒 | 高い料金区分の画像 1 枚 + 参照画像 1 枚 |
| 1K レイヤー分解、入力 1 枚 | 画像 4 枚、各約 1.05 MP | 39 秒 | 低い料金区分の画像 4 枚 + 入力画像 1 枚 |
この数量に上の表の料金を掛ければ請求額が求められます。注意したいのはレイヤー分解です。背景のベース画像と各レイヤーが課金対象なので、1 枚分ではなく四枚分かかりました。
レイヤー分解では、実行中に最終的な課金額より多くの残高を確保します。タスク受理時に max_images 枚分、省略時は 30 枚分の残高を確保し、auto は高い料金区分として計算します。完了後、返された画像分を課金し、残りを解放します。そのため、max_images も size も指定しない分解は、結果が四枚でも、開始するには高い料金区分の 30 枚分と入力画像分の残高が必要です。私たちの三回目の実行(四枚をリクエストし、四枚が返された)のように、max_images を想定する要素数に近い値に設定して解像度区分を選ぶと、確保額を請求額に近く保てます。
どのようなエラーに備えるべきですか?
| 起こること | 原因 | 課金 |
|---|---|---|
| 送信時に HTTP 400 | プロンプトの欠落、transparent と jpeg の併用、参照画像が 10 枚超、サイズが範囲外、レイヤー分解の画像が必ず 1 枚という条件を満たさない | なし |
| 送信時に HTTP 401 | API キーの欠落または誤り | なし |
タスクが failed で error を返す | プロンプトや画像がコンテンツポリシーで拒否された、または入力画像を読み取れなかった | なし |
| ポーリングのタイムアウト | ネットワークまたは時間のかかる分解 | 同じ ID をポーリングし続ける |
参照画像は公開 HTTP(S) URL である必要があります。Base64 の data URI は拒否されるため、先にファイルを自分のストレージにアップロードしてください。JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF に対応し、各画像は最大 30 MB です。全コードの一覧はエラーカタログにあります。
よくある質問
Seedream 5.5 Pro はありますか?
まだありません。ByteDance の公開記事には "A Pro version of the Seedream 5.5 series will follow"(このシリーズの Pro 版は今後登場します)とありますが、日付は示されていません。[1] 現在 API で使えるモデルは seedream-5-5 の一つです。前世代の Pro モデルは Seedream 5.0 Pro として引き続き利用できます。
Seedream 5.5 API は無料ですか?
いいえ。サブスクリプションはなく、前払い残高から画像単位で支払います。新規アカウントの少額無料残高で 1K の画像を数枚生成できるので、チャージする前に上のスクリプトを実行できます。
Seedream 5.5 をダウンロードできますか?
いいえ。ByteDance はモデルの重みを公開していないため、ローカルで実行するファイルはありません。この API のような API 経由で使います。
参照画像は何枚送れますか?
image に最大 10 枚送れます。レイヤー分解では必ず 1 枚です。
リクエストにはどのくらい時間がかかりますか?
私たちの三回の実行は 39〜47 秒でした。多数のレイヤーを返す分解には数分かかることがあるため、上のスクリプトは最大 15 分ポーリングします。
参考文献
- ByteDance Seed。More Realistic Images, More Stable Editing Across 100 Rounds | Introducing Seedream 5.5。2026 年 11 月 9 日。2026 年 11 月 11 日に seed.bytedance.com で確認。
- SeedRouter。Seedream 5.5 API リファレンス。/docs/seedream-5-5。



