本稿では、SeeDream Images Generation API の連携方法について紹介します。これはカスタムパラメータを入力することで SeeDream 公式の画像を生成できる API です。Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
申請手順
API を利用するには、まず SeeDream Images Generation API のページで対応するサービスを申請する必要があります。ページにアクセスしたら、「Acquire」ボタンをクリックします。以下の図のように表示されます:
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録・ログインを促されます。ログイン・登録後は自動的に現在のページに戻ります。
初回申請時には無料クレジットが付与され、この API を無料で利用できます。
基本的な使い方
まず基本的な使い方を理解しましょう。入力するのはプロンプトprompt、生成動作 action、画像サイズ size の3つで、これにより処理結果を得られます。まず action フィールドに generate を指定し、さらにプロンプトを入力します。具体的な内容は以下の通りです:

accept:受け取りたいレスポンスの形式。ここではapplication/json(JSON形式)を指定。authorization:API 呼び出し用のキー。申請後にプルダウンから選択可能。
prompt:プロンプト(入力文)。model:生成モデル。デフォルトはdoubao-seedream-5.0-lite。対応モデルはdoubao-seedream-5.0-lite(最新)、doubao-seedream-4.5、doubao-seedream-4.0、doubao-seedream-3.0-t2i、doubao-seededit-3.0-i2i。image:入力画像情報。URL または Base64 エンコードをサポート。doubao-seedream-5.0-lite、doubao-seedream-4.5、doubao-seedream-4.0は単一または複数画像入力に対応。doubao-seededit-3.0-i2iは単一画像のみ対応。doubao-seedream-3.0-t2iは非対応。size:生成画像のサイズ指定。以下の2方式があり、混用不可。
方式1 | 生成画像の解像度を指定し、プロンプト内で自然言語により画像のアスペクト比を記述。モデルごとにプリセット対応が異なる:doubao-seedream-5.0-liteは2K/3K/4K、doubao-seedream-4.5は2K/4K、doubao-seedream-4.0は1K/2K/4K、doubao-seedream-3.0-t2iとdoubao-seededit-3.0-i2iはプリセット非対応で方式2のみ対応。
方式2 | 生成画像の幅と高さのピクセル値を指定。デフォルトは2048x2048。総ピクセル数とアスペクト比の範囲はモデルにより異なる(例:5.0 / 4.5 は下限 3,686,400、4.0 は下限 921,600、3.0-t2i / seededit-3.0-i2i は [512x512, 2048x2048] の範囲)。seed:乱数シード。モデル生成のランダム性を制御。範囲は [-1, 2147483647]。doubao-seedream-3.0-t2iのみ対応。sequential_image_generation:連続画像生成。入力内容に基づき関連する複数画像を生成。doubao-seedream-5.0-lite、doubao-seedream-4.5、doubao-seedream-4.0が対応。デフォルトはdisabled。stream:ストリーミング出力モードの有効化制御。doubao-seedream-5.0-lite、doubao-seedream-4.5、doubao-seedream-4.0が対応。デフォルトはfalse。guidance_scale:モデル出力結果とプロンプトの一致度。値が大きいほど関連性が強い。範囲は [1, 10]。doubao-seedream-3.0-t2iのデフォルトは 2.5、doubao-seededit-3.0-i2iは 5.5、他モデルは非対応。response_format:生成画像の返却形式指定。デフォルトはurl。b64_jsonも対応。watermark:生成画像にウォーターマークを付与するか。デフォルトはtrue。output_format:生成画像のファイル形式指定。jpeg(デフォルト)とpngに対応。doubao-seedream-5.0-liteのみ対応。tools:モデルが呼び出すツール設定。現在はweb_search(ネット検索)のみ対応。doubao-seedream-5.0-liteのみ対応。callback_url:結果コールバック用 URL。

success:画像生成タスクの状態。task_id:画像生成タスクの ID。trace_id:画像生成トレース ID。data:画像生成タスクの結果リスト。image_url:生成画像の URL。prompt:プロンプト。size:生成画像のピクセルサイズ。
data 内の画像リンクから生成された SeeDream 画像を取得すれば良いです。
また、対応する連携コードを生成したい場合は直接コピー可能です。例えば CURL のコードは以下の通りです:
画像編集タスク
特定の画像を編集したい場合、まずパラメータimage に編集対象の画像リンクを渡す必要があります。
- model:今回の編集画像タスクに使用するモデル。
doubao-seedream-5.0-lite、doubao-seedream-4.5、doubao-seedream-4.0は単一または複数画像入力対応。doubao-seededit-3.0-i2iは単一画像のみ対応。 - image:編集対象の画像をアップロード。1枚または複数枚。

非同期コールバック
SeeDream Images Generation API は生成に約1~2分かかるため、API の応答が長時間ない場合、HTTP リクエストが接続を保持し続け、システムリソースを消費します。そのため、本 API は非同期コールバックもサポートしています。 全体の流れは:クライアントがリクエスト時に追加でcallback_url フィールドを指定し、API リクエスト後、API は即座に task_id を含む結果を返します。タスク完了後、生成画像結果が POST JSON 形式でクライアントの指定した callback_url に送信されます。ここにも task_id が含まれ、タスク結果を ID で紐付け可能です。
以下の例で具体的な操作を説明します。
実行するとすぐに以下の結果が得られます:
task_id フィールドがあり、他のフィールドは前述と同様です。このフィールドによりタスクの紐付けが可能です。
エラー処理
API 呼び出し時にエラーが発生した場合、API は対応するエラーコードとメッセージを返します。例:400 token_mismatched:不正なリクエスト。パラメータ不足や無効の可能性。400 api_not_implemented:不正なリクエスト。パラメータ不足や無効の可能性。401 invalid_token:認証エラー。無効または欠落したトークン。429 too_many_requests:リクエスト過多。レート制限超過。500 api_error:サーバ内部エラー。

