# Seedream 5.0 Pro (https://wanapi.app/ja/docs/seedream-5-0-pro)





Seedream 5.0 Pro は、プロンプトから画像を 1 枚生成し、最大 10 枚の参照画像を編集・合成できます。1 枚の画像をベース画像と最大 16 枚の透明レイヤーに分解することもできます。出力は 1K、1.5K、2K、またはピクセル数を指定したサイズです。[モデルの詳細と Playground](/ja/models/seedream-5-0-pro)。

## Wan API に接続する [#wan-api-に接続する]

API のベース URL は `https://api.wanapi.app` です。[API キー設定](/ja/settings/apikeys)で **Wan** モデルファミリーのキーを作成し、`Authorization: Bearer YOUR_API_KEY` として送信してください。キーはサーバー側で保管します。Playground はウェブサイトのログインセッションを使い、同じアカウントの残高から課金します。

`GET /v1/models` で、そのキーから利用できるモデルを取得できます。Seedream 5.0 Pro は OpenAI Images API を使用します。`POST /v1/images/generations` には JSON、`POST /v1/images/edits` には JSON または multipart によるファイルアップロードで送信します。画像の準備ができるとレスポンスが返るため、ポーリングするタスクはありません。

| 設定      | Seedream 5.0 Pro                                                                         |
| ------- | ---------------------------------------------------------------------------------------- |
| モデル ID  | `bytedance/seedream-5.0-pro`                                                             |
| `size`  | `1K`、`1.5K`、`2K`（既定値）、または総ピクセル数が 921,600〜4,624,220、アスペクト比が 1:16〜16:1 となる `WIDTHxHEIGHT`。 |
| `image` | 最大 10 枚の参照画像。                                                                            |
| 出力      | 1 回のリクエストで画像 1 枚。`layer_decomposition` を使う場合は、ベース画像 1 枚と最大 16 レイヤー。                      |

## 画像を生成する [#画像を生成する]

サーバー側で `WAN_API_KEY` に API キーを設定してください。リクエストは一度だけ送信します。通常は 1 分以内に生成が完了しますが、クライアントのタイムアウトは少なくとも 4 分に設定してください。

```bash
curl https://api.wanapi.app/v1/images/generations \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedream-5.0-pro",
  "prompt": "A minimalist magazine cover: a red fox in fresh snow at dawn, the bold serif title \"QUIET WILD\" across the top",
  "size": "1K"
}'
```

レスポンスは OpenAI Images 形式です。以下の値は例示です。

```json
{
  "created": 1792022400,
  "data": [
    {
      "url": "https://cdn.example.com/image-1.jpg",
      "size": "1024x1024",
      "output_format": "jpeg"
    }
  ],
  "usage": {
    "generated_images": 1
  }
}
```

画像 URL は 30 日間利用できます。それ以上必要な場合は、ご自身でファイルを保存してください。`"response_format": "b64_json"` を送信すると、各画像が Base64 形式でも `b64_json` に返されます。

## Seedream 5.0 Pro の料金 [#seedream-50-pro-の料金]

生成された画像は、ピクセル数に応じて 1 枚ごとに公式料金の 30% 引きで課金されます。261 万ピクセル以下の画像（1K と 1.5K）には低い単価、それより大きい画像には高い単価が適用されます。最初の参照画像は無料で、2 枚目以降は 1 枚ごとに参照画像の単価が加算されます。画像生成前に拒否されたリクエストには課金されません。

<SeedreamModelPricing />

レイヤー分解では、ベース画像と返されたすべてのレイヤーに課金されます。すべての画像が 261 万ピクセル以下なら、各画像が公式レイヤー料金の 30% 引きになります。返された画像の一つでもそれより大きい場合は、すべての画像にそれぞれのサイズに応じた公式レイヤー単価が適用されます。`2K` では必ずこの条件に該当します。最大 17 枚分をまかなえる残高が必要ですが、実際に支払うのは返された画像の分だけです。

## リクエストフィールド [#リクエストフィールド]

JSON オブジェクトを送信します。`model` は必須です。`layer_decomposition` が `true` の場合を除き、`prompt` も必須です。未定義のフィールドは受け付けません。

| フィールド                     | 型                | 仕様                                                                                                                                                      |
| ------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `model`                   | 文字列              | 必須：`bytedance/seedream-5.0-pro`。                                                                                                                        |
| `prompt`                  | 文字列              | 生成する内容、またはレイヤー分解で分離する要素。英語、中国語などに対応しています。英語で約 600 語以内にすると最良の結果が得られます。                                                                                   |
| `image`                   | 文字列または string\[] | 最大 10 枚の参照画像を HTTP(S) URL、または形式名が小文字の `data:image/<format>;base64,...` で指定します。形式：JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF。1 枚あたり 30 MB 以下、アスペクト比 1:16〜16:1。 |
| `size`                    | 文字列              | 画像生成：`1K`、`1.5K`、`2K`（既定値）または `WIDTHxHEIGHT`。レイヤー分解：`1K`、`1.5K`、`2K` または `auto`（既定値）。                                                                   |
| `layer_decomposition`     | 真偽値              | 既定値は `false`。`true` にすると、ちょうど 1 枚の PNG または JPEG 画像をベース画像と最大 16 レイヤーに分解します。                                                                              |
| `optimize_prompt_options` | オブジェクト           | `{"mode": "standard"}`（既定値）または `{"mode": "fast"}`。高速モードは、品質がわずかに下がる代わりに生成時間を短縮します。                                                                      |
| `output_format`           | 文字列              | `jpeg`（既定値）または `png`。レイヤー分解ではベース画像の形式を指定します。レイヤーは常に PNG です。                                                                                             |
| `background`              | 文字列              | `opaque`（既定値）または `transparent`。透明背景には、アルファチャンネル付きの入力画像がちょうど 1 枚と、PNG 出力が必要です。レイヤー分解とは併用できません。                                                           |
| `watermark`               | 真偽値              | 既定値は `true`。AI 生成を示す小さなラベルを追加します。削除するには `false` を送信してください。                                                                                              |
| `nsfw_checker`            | 真偽値              | 既定値の `true` ではコンテンツチェックが有効です。`false` ではそのチェックを行わずに送信します。料金は変わりません。                                                                                      |
| `response_format`         | 文字列              | `url`（既定値）または `b64_json`。                                                                                                                               |
| `n`                       | 整数               | 任意。値は `1` のみ。                                                                                                                                           |

`stream`、`sequential_image_generation`、`tools`、`seed`、`guidance_scale`、`mask` は、このモデルでは対応していないため受け付けません。

## 参照画像を編集・合成する [#参照画像を編集合成する]

画像 1 枚と編集指示を指定するか、合成する複数の画像を渡します。

```json
{
  "model": "bytedance/seedream-5.0-pro",
  "prompt": "Place the perfume bottle from image 1 on the marble table from image 2, soft window light",
  "image": [
    "https://example.com/bottle.png",
    "https://example.com/table.jpg"
  ],
  "size": "2K",
  "output_format": "png"
}
```

`POST /v1/images/edits` は同じフィールドを受け付けます。multipart では、`image` または `image[]` フィールドにファイルをアップロードし、`optimize_prompt_options` は JSON 文字列で送信してください。

## レイヤー分解 [#レイヤー分解]

```json
{
  "model": "bytedance/seedream-5.0-pro",
  "prompt": "Separate the title text, the parrot and the background",
  "image": "https://example.com/poster.png",
  "layer_decomposition": true,
  "size": "2K"
}
```

レスポンスではベース画像が最初に並びます。各レイヤーには重ね順、位置、説明が追加されます。

```json
{
  "created": 1792022400,
  "data": [
    { "url": "https://cdn.example.com/image-1.jpg", "size": "2048x2048", "output_format": "jpeg", "z_index": 0 },
    {
      "url": "https://cdn.example.com/image-2.png",
      "size": "1273x265",
      "output_format": "png",
      "z_index": 1,
      "bounding_box": { "absolute": [383, 120, 1655, 384], "normalized": [187, 59, 808, 188] },
      "name": "Title text",
      "description": "Yellow serif title text"
    }
  ],
  "usage": { "input_images": 1, "generated_images": 2 }
}
```

一つでもレイヤーの生成に失敗すると、リクエスト全体が失敗します。プロンプトで上限を超える数のレイヤーを指定すると、一部のレイヤー内容が省かれる場合があります。

## エラー [#エラー]

エラーは OpenAI 形式の `{"error": {"message", "type", "code"}}` で返されます。

| HTTP | `code`                       | 意味                                                     |
| ---- | ---------------------------- | ------------------------------------------------------ |
| 400  | `invalid_request` または検証メッセージ | 対応していないフィールドまたは組み合わせです。リクエストを修正してください。課金されていません。       |
| 400  | `content_policy_violation`   | プロンプト、入力画像、または出力がコンテンツポリシーにより拒否されました。課金されていません。        |
| 402  | insufficient quota           | 残高をチャージしてから再送信してください。                                  |
| 429  | `rate_limited`               | リクエストが多すぎます。時間をおいて再試行してください。                           |
| 502  | `submission_unknown`         | 結果を受信できませんでした。このリクエストには課金されていません。再送信する前に利用ログを確認してください。 |
| 503  | `upstream_unavailable`       | 画像生成は一時的に利用できません。このリクエストには課金されていません。                   |

タイムアウト後は、利用ログを確認するまでリクエストを自動で再送信しないでください。
