Seedreamのリクエストは、すべて同じエンドポイントとJSONボディを使います。
- エンドポイント:
POST https://api.laozhang.ai/v1/images/generations - 画像を生成するときは、プロンプトを送ります。
- 画像を編集・合成するときは、
imageに1〜10枚の参照画像を追加します。 - 同時リクエスト:プラットフォーム側の上限やスロットリングはありません。
429は上流の処理能力によるものです。詳しくは同時リクエストと429を参照してください。

下の生成例の出力:Seedream 5.0、2K。プロンプト:A beautiful sunset over mountains, realistic style
seedream-5-0-260128)を使います。ほかのバージョンを呼び出す場合は次のとおりです。
- 4.5または4.0:
modelを変更します。 - 5.0 Flashまたは5.0 Pro:
modelを変更し、リクエストにsequential_image_generationとstreamが含まれていないことを確認します。この2モデルは、これらのフィールドがあるとHTTP 400を返します。下の編集例は"sequential_image_generation": "disabled"を送っているため、先にその行を削除してください。
始める前に
1
回数課金のモデルに使えるキーを作成する
Seedreamは回数課金のモデルです。トークン管理でキーを作成(または既存のキーを編集)し、課金方式(计费模式)を従量優先(按量优先、推奨)または回数課金(按次计费)にします。従量優先のキーは従量課金のモデルも呼び出せますが、回数課金のキーが呼び出せるのは回数課金のモデルだけです。キーはサーバー側の環境変数に保存してください。

2
環境を準備する
キーを環境変数に設定し、Pythonの例で使う
requests をインストールします。画像を生成する
ウォーターマークなしの2K画像を生成し、レスポンスをseedream-generation.json に書き出すリクエストです。
data に入って返ります。
結果を保存する
レスポンスを受け取ったら、すぐに画像をダウンロードしてください。次のスクリプトをsave_images.py として保存します。レスポンス内の画像が url でも b64_json でも、すべて保存します。
save_images.py
保存しました: seedream-sunset-1.jpg のような行が表示されます。ファイルを開いて結果を確認してください。
Pythonで生成する
画像を編集する
既存の画像を編集・描き直すときは、リクエストにimage を追加します。この例はBytePlusのドキュメントにある公開サンプル画像を使うため、そのまま実行できます。
最大10枚の参照画像を合成する
複数の参照画像を使うときは、image を配列で渡します。各要素は公開URLか、data:image/png;base64,... のようなデータURLです。画像は配列の順に番号が付くため、プロンプトでは「画像1」「画像2」のように指定できます。
ローカルの3つのファイルをデータURLとして送る例です。
Pythonで参照画像を合成する
次の関数は1〜10枚の参照画像を受け取り、ローカルファイルはデータURLに変換し、公開URLはそのまま渡します。画像を透過レイヤーに分解する
Seedream 5.0 Flash(seedream-5-0-flash-260915)と5.0 Pro(seedream-5-0-pro-260628)は、完成した1枚の画像を、背景と要素ごとの透過PNGレイヤーに分解できます。背景の差し替え、レイアウトの組み替え、要素の再利用に使えます。
どちらのモデルも返した画像すべてに課金され、Proの1枚あたりの料金はFlashの約6.7倍なので、まずFlashで試してください。通常のプロンプトで透過背景を指示してもアルファチャンネルは付きません。透過が必要なときはレイヤー分解を使います。
レイヤー分解のリクエストは、通常の編集と次の点が異なります。
layer_decompositionをtrueにします。imageには画像をちょうど1枚、文字列または要素1つの配列で送ります。promptは任意です。省略するか空文字列にすると、モデルが主な要素を自動で検出します。sizeは1Kにします。ピクセル数の直接指定は使えません。- レイヤー分解で使える解像度は、
1K、1.5K、2K、autoだけです。 - 対応は5.0 Flashと5.0 Proのみです。
seedream-5-0-260128とseedream-4-5-251128では、エラーコードInvalidParameterのHTTP 400が返ります。
レイヤー分解のリクエストを送る
image のURLは、公開ダウンロードできる自分の画像に置き換えるか、データURLを渡してください。5.0 Proを使うときは model だけを変更します。
レイヤーのレスポンスを読む
data[] の最初の要素が背景で、残りの各要素が1つのレイヤーです。次のレスポンスは、背景とレイヤー1つだけに省略しています。
usage には output_tokens も含まれますが、課金額は画像の枚数だけで決まります。
レイヤーのファイルサイズは、バウンディングボックスの大きさと一致するとは限りません。例では916×529のPNGが359×208のボックスに入るため、画像を組み立て直すときは各レイヤーを absolute のボックスに合わせて拡大・縮小してください。
レイヤーを保存して画像を組み立て直す
次のスクリプトはseedream-layers.json を読み、各画像を z_index と名前を含むファイル名で保存します。さらにPillowで、各レイヤーを背景上の bounding_box.absolute の位置に貼り付けます。先に python3 -m pip install pillow でPillowをインストールしてください。
save_layers.py
layer-00-base.jpg や layer-04-spaceship.png などのファイルと、recomposited.png ができます。背景を変えたり要素を外したりするときは、合成の前に背景ファイルを差し替えるか、そのレイヤーを飛ばしてください。
パラメーター
5.0 Flashと5.0 Proは、リクエストに
sequential_image_generation("disabled" でも)や stream があるとHTTP 400を返します。また n を無視するため、レイヤー分解以外では1回のリクエストで1枚が返ります。
連続生成とレイヤー分解では、1つのレスポンスに複数の画像が入ることがあります。save_images.py、save_all_images、save_layers.py と同じように、data[] の全要素を保存してください。
よくある質問
どのSeedreamのバージョンを使えばよいですか?
タスクに必要なものから選びます。- 低価格、速さ、大量生成:Seedream 5.0 Flash(
seedream-5-0-flash-260915)、1枚$0.018。BytePlusは、広告クリエイティブ、商品画像、文字入りのポスターやデザイン向けと位置づけています。 - 最高画質:Seedream 5.0 Pro(
seedream-5-0-pro-260628)。リアルな人物写真、素材の細かな質感、複雑な指示に向きます。1枚$0.12で5.0の約3.4倍の料金がかかり、処理も遅いため、日常的な用途には5.0かFlashを使ってください。 - 3K出力、連続生成、ストリーミング:Seedream 5.0(
seedream-5-0-260128)。BytePlusのドキュメントではSeedream 5.0 liteと呼ばれ、2Kと3Kの出力に対応します(最大3K)。 - 4K:Seedream 4.5(
seedream-4-5-251128)または4.0(seedream-4-0-250828)。それ以外の用途では、既存のワークフローがこの2つの出力に依存している場合にだけ使い続けてください。 - 既存画像からの透過レイヤー:5.0 Flashのレイヤー分解(上の「画像を透過レイヤーに分解する」を参照)。5.0 Proも対応していますが、1枚あたりの料金は約6.7倍です。
size に使える値と4Kの可否
指定方法は2通りあり、どちらか一方だけを使います。解像度の段階を指定してアスペクト比をプロンプトで説明する(例:「16:9の横長」)か、2848x1600 のようにピクセル数を直接指定します。モデルごとに使える解像度の段階は次のとおりです。
seedream-5-0-flash-260915:1K、1.5K、2K(既定値は2K)seedream-5-0-pro-260628:1K、2Kseedream-5-0-260128:2K、3K(最大3K)seedream-4-5-251128:2K、4Kseedream-4-0-250828:1K、2K、4K
- 最小:5.0と4.5は2560×1440(3,686,400ピクセル)、4.0は1280×720(921,600ピクセル)。
- 最大:4.5と4.0は4096×4096、5.0は3Kの段階まで。
- 5.0 Flash:総ピクセル数921,600〜4,624,220。
- 5.0 Pro:最大約419万ピクセル。例:
2048x2048、16:9なら2720x1530。 - アスペクト比:5.0 Flash、5.0、4.5、4.0で1/16〜16。
1024x1024 のような小さいサイズは5.0と4.5で失敗します。5.0 Flashは解像度の段階を指定すると内容からアスペクト比を決めるため、比率を固定したいときは 2560x1440 のようにピクセル数を指定してください。
5.0 Flashで 3K や 4K を指定するとHTTP 400が返ります。1枚あたりの料金はサイズによって変わりません。
レイヤー分解で使えるのは 1K、1.5K、2K、auto だけで、ピクセル数は指定できません。
連続生成の仕組みと課金
sequential_image_generation を auto にすると、モデルがプロンプトから、関連する画像を何枚返すかを決めます。たとえば「同じキャラクターの朝・昼・夜の画像を3枚」のような指示です。
枚数の上限を決めたいときは、BytePlusが公開している sequential_image_generation_options.max_images(1〜15)を使います。参照画像と生成画像の合計は15枚を超えられません。
このときレスポンスの data[] には複数の画像が入るため、すべての要素を保存してください。返った画像1枚ごとに課金され、seedream-5-0-260128 で4枚なら$0.14です。参照画像は課金されません。実際の課金額は呼び出しログで確認できます。
5.0 Flashと5.0 Proは連続生成に対応していません。"disabled" を含め、sequential_image_generation の値を送るとHTTP 400が返ります。連続生成には5.0を使うか、FlashやProに1枚ずつリクエストを送ってください。
ローカル画像の送り方と制限
data:image/png;base64,<Base64データ> の形式のデータURLに変換します。形式名は png や jpeg のように小文字で書きます。上の「Pythonで参照画像を合成する」のヘルパーが、この変換を行います。
BytePlusは、参照画像1枚ごとに次の制限を設けています。
- 形式:jpeg、png、webp、bmp、tiff、gif、heic、heif
- サイズ:30 MBまで
- 寸法:幅と高さがそれぞれ14ピクセルより大きく、総ピクセル数が6000×6000以下
- アスペクト比:1/16〜16
ウォーターマークを消すには?
このページの例と同じく、"watermark": false を送ります。BytePlusでは watermark の既定値が true で、右下に「AI generated」のラベルが入ります。ラベルのない画像が必要なときは、明示的に false を指定してください。
結果URLの有効期間とBase64での受け取り
BytePlusによると、画像のURLは生成から24時間有効です。レスポンスを受け取ったらすぐ画像をダウンロードして自分で保管し、返されたURLを恒久的なアドレスとして保存しないでください。 画像をレスポンス内で受け取るには、response_format を b64_json にします。save_images.py とPythonの例は、どちらの形式にも対応しています。
失敗したリクエストは課金されますか?
いいえ。パラメーターエラーやモデレーションによるブロックなど、200以外のレスポンスは課金されません。課金されるのは画像が返ったときだけです。 クライアントのタイムアウトは失敗と同じではありません。サーバー側では処理が完了して課金されている可能性があるため、再送する前に呼び出しログを確認してください。実際の課金額は呼び出しログの記録が最終的なものです。 処理中のリクエストを途中で切らないよう、クライアントのタイムアウトはモデルに合わせて設定します。- 5.0 Flash:60秒以上。BytePlusによると20秒以内に完了し、参照画像が10枚なら約30秒です。
- 5.0 Pro:240秒以上。1回のリクエストに通常約2分かかります。
- 5.0 Flashまたは5.0 Proのレイヤー分解:
1Kで300秒以上。
関連ドキュメント
- Seedream 5.0 Flash・5.0 Proの提供開始:価格、移行の注意点、バージョンの比較
- 画像APIの比較:Seedreamとほかの画像モデルの比較
- Images API:共通のリクエストとレスポンスの形式
- AIモデルのAPI料金一覧:Seedreamの現在の価格とグループ
- 呼び出しログ:リクエストごとのモデルと課金額の確認
参考資料
- BytePlus ModelArk 画像生成API:Seedreamの公式リクエストパラメーター、
sizeの範囲、URLの有効期間 - BytePlus 画像生成チュートリアル:モデルの比較、連続生成、入力画像の制限
- Seedream 4.0ユーザーマニュアル:BytePlusによるプロンプトの書き方と例
- コンソールのモデルと料金:自分のアカウントで使える価格