メインコンテンツへスキップ
Seedream 5.0 Flashは最新で最も安いSeedreamモデル、5.0 Proは画質が最も高いモデルです。生成も複数画像の合成も1つのJSONエンドポイントで行い、出力画像1枚ごとに課金されます。 参照画像は課金されません。例外は5.0 Proで、2枚目以降の参照画像1枚につき$0.003かかります。2026年9月25日時点の公開価格は次のとおりです(AIモデルのAPI料金一覧を参照)。 Seedreamのリクエストは、すべて同じエンドポイントとJSONボディを使います。
  • エンドポイント:POST https://api.laozhang.ai/v1/images/generations
  • 画像を生成するときは、プロンプトを送ります。
  • 画像を編集・合成するときは、image に1〜10枚の参照画像を追加します。
  • 同時リクエスト:プラットフォーム側の上限やスロットリングはありません。429 は上流の処理能力によるものです。詳しくは同時リクエストと429を参照してください。
Seedream 5.0で生成した、山に沈む夕日のリアルな画像

下の生成例の出力:Seedream 5.0、2K。プロンプト:A beautiful sunset over mountains, realistic style

このページの例は、Seedream 5.0(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 だけを変更します。
レイヤー分解は、返した画像1枚ごとに課金されます。Flashは1枚$0.018、Proは1枚$0.12です。
  • 返すレイヤーの数はモデルが決め、同じ画像でも実行ごとに変わることがあります。映画のポスターが6枚(背景1枚とレイヤー5枚)に分かれた場合、Flashで$0.108、Proで$0.72です。要素の多い画像では十数枚以上になることもあり、Flashで16枚なら$0.288です。
  • 1K で6枚の結果なら、Flashは1分以内、Proは約70秒かかり、レイヤーが多いほど長くなります。クライアントのタイムアウトは300秒以上にしてください。2Kのリクエストは長時間かかることがあり、クライアントが切断しても課金されます。
  • 分解できない画像では、HTTP 400が返り、課金されません。再試行できます。
  • 取り除いた要素の背後の領域はモデルが描き足すため、商用利用の前に背景を確認してください。

レイヤーのレスポンスを読む

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倍です。
各バージョンの最新の価格は、AIモデルのAPI料金一覧で確認できます。

size に使える値と4Kの可否

指定方法は2通りあり、どちらか一方だけを使います。解像度の段階を指定してアスペクト比をプロンプトで説明する(例:「16:9の横長」)か、2848x1600 のようにピクセル数を直接指定します。モデルごとに使える解像度の段階は次のとおりです。
  • seedream-5-0-flash-260915:1K、1.5K、2K(既定値は2K)
  • seedream-5-0-pro-260628:1K、2K
  • seedream-5-0-260128:2K、3K(最大3K)
  • seedream-4-5-251128:2K、4K
  • seedream-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
公開URLは、直接ダウンロードできる必要があります。Base64にするとリクエストボディが約3分の1大きくなるため、大きな画像には公開URLを使ってください。

ウォーターマークを消すには?

このページの例と同じく、"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秒以上。

関連ドキュメント

参考資料