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





Seedream 5.0 Pro создаёт одно изображение по промпту, редактирует или объединяет до 10 референсных изображений и разделяет одно изображение на основу и до 16 прозрачных слоёв. Результат: 1K, 1.5K, 2K или точный размер в пикселях. [Описание модели и Playground](/ru/models/seedream-5-0-pro).

## Подключение к Wan API [#подключение-к-wan-api]

Используйте `https://api.wanapi.app` как базовый URL API. Создайте ключ в [настройках API-ключей](/ru/settings/apikeys); один ключ работает со всеми моделями. Передавайте его как `Authorization: Bearer YOUR_API_KEY`. Храните ключи на сервере. Playground использует ваш сеанс на сайте и списывает средства с того же баланса.

`GET /v1/models` возвращает модели, доступные вашему ключу. Seedream 5.0 Pro использует два эндпоинта: `POST /seedream/v1/images/generations` однократно отправляет запрос и возвращает задачу, а `GET /seedream/v1/images/generations/{task_id}` возвращает её статус и, после завершения, изображения.

| Параметр  | Seedream 5.0 Pro                                                                                                      |
| --------- | --------------------------------------------------------------------------------------------------------------------- |
| ID модели | `bytedance/seedream-5.0-pro`                                                                                          |
| `size`    | `1K`, `1.5K`, `2K` (по умолчанию) или `WIDTHxHEIGHT`: 921 600–4 624 220 пикселей, соотношение сторон от 1:16 до 16:1. |
| `image`   | До 10 референсных изображений.                                                                                        |
| Результат | Одно изображение на запрос либо основа и до 16 слоёв при `layer_decomposition`.                                       |

## Отправка задачи Seedream 5.0 Pro [#отправка-задачи-seedream-50-pro]

На сервере задайте ваш ключ в `WAN_API_KEY`. Отправьте запрос один раз и сохраните возвращённый `id`.

```bash
curl https://api.wanapi.app/seedream/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"
}'
```

Ответ с задачей приходит сразу. ID и временные метки в примере приведены для иллюстрации:

```json
{
  "id": "task_EXAMPLE",
  "object": "image.generation.task",
  "model": "bytedance/seedream-5.0-pro",
  "status": "processing",
  "created_at": 1792022400
}
```

## Проверка задачи Seedream 5.0 Pro [#проверка-задачи-seedream-50-pro]

Сохраните возвращённый `id` как `TASK_ID` и запрашивайте статус тем же ключом каждые пять секунд. Большинство изображений готово в течение минуты; разделение на слои в `2K` может занять около двух минут.

```bash
curl "https://api.wanapi.app/seedream/v1/images/generations/$TASK_ID" \
  -H "Authorization: Bearer $WAN_API_KEY"
```

| Статус       | Значение                                                     | Следующий шаг                          |
| ------------ | ------------------------------------------------------------ | -------------------------------------- |
| `queued`     | Задача принята.                                              | Продолжайте опрос.                     |
| `processing` | Изображение генерируется.                                    | Продолжайте опрос.                     |
| `completed`  | Изображения готовы.                                          | Прочитайте `data[].url`.               |
| `failed`     | Генерация завершилась ошибкой; плата за запрос не взимается. | Прекратите опрос и прочитайте `error`. |

Завершённая задача перечисляет изображения в `data`. Временные метки указаны в секундах Unix:

```json
{
  "id": "task_EXAMPLE",
  "object": "image.generation.task",
  "model": "bytedance/seedream-5.0-pro",
  "status": "completed",
  "created_at": 1792022400,
  "completed_at": 1792022430,
  "data": [
    {
      "url": "https://cdn.example.com/image-1.jpg",
      "size": "1024x1024",
      "output_format": "jpeg"
    }
  ],
  "usage": {
    "generated_images": 1
  }
}
```

URL изображений — подписанные ссылки, доступные 30 дней; используйте их напрямую без API-ключа и сохраняйте файлы у себя, если они нужны дольше. Проверка задачи никогда не запускает новую генерацию.

## Цены Seedream 5.0 Pro [#цены-seedream-50-pro]

Каждое созданное изображение оплачивается отдельно по его размеру в пикселях, на 30% ниже официального тарифа: до 2,61 миллиона пикселей (1K и 1.5K) применяется меньший тариф, для более крупных изображений — больший. Первое референсное изображение бесплатно; каждое дополнительное оплачивается по тарифу референса. Запрос, отклонённый до создания изображения, не оплачивается.

<SeedreamModelPricing />

При разделении на слои оплачивается основа и каждый возвращённый слой. Если каждое возвращённое изображение содержит до 2,61 миллиона пикселей, оно стоит на 30% меньше официального тарифа для слоёв. Если хотя бы одно изображение крупнее, что всегда происходит при `2K`, каждое изображение оплачивается по официальному тарифу для слоёв своего размера. Баланса должно хватать максимум на 17 изображений; оплачиваются только возвращённые изображения.

## Поля запроса [#поля-запроса]

Отправьте JSON-объект. `model` обязателен; `prompt` обязателен, если `layer_decomposition` не равен `true`. Неизвестные поля отклоняются.

| Поле                      | Тип                  | Условия                                                                                                                                                                                                                                  |
| ------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `model`                   | string               | Обязательно: `bytedance/seedream-5.0-pro`.                                                                                                                                                                                               |
| `prompt`                  | string               | Что создать или какие элементы выделить при разделении на слои. Поддерживаются английский, китайский и другие языки; лучшие результаты даёт промпт короче примерно 600 английских слов.                                                  |
| `image`                   | string или string\[] | До 10 референсных изображений по общедоступным HTTP(S) URL на вашем хостинге. Base64, data URI и загрузка файлов отклоняются. Форматы: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF; до 30 MB каждый; соотношение сторон от 1:16 до 16:1. |
| `size`                    | string               | Генерация: `1K`, `1.5K`, `2K` (по умолчанию) или `WIDTHxHEIGHT`. Разделение на слои: `1K`, `1.5K`, `2K` или `auto` (по умолчанию).                                                                                                       |
| `layer_decomposition`     | boolean              | По умолчанию `false`. `true` разделяет ровно одно изображение PNG или JPEG на основу и до 16 слоёв.                                                                                                                                      |
| `optimize_prompt_options` | object               | `{"mode": "standard"}` (по умолчанию) или `{"mode": "fast"}`. Fast сокращает время генерации с небольшим снижением качества.                                                                                                             |
| `output_format`           | string               | `jpeg` (по умолчанию) или `png`. При разделении на слои задаёт формат основы; слои всегда в PNG.                                                                                                                                         |
| `background`              | string               | `opaque` (по умолчанию) или `transparent`. Для прозрачности нужно ровно одно входное изображение с альфа-каналом и результат PNG; сочетание с разделением на слои невозможно.                                                            |
| `watermark`               | boolean              | По умолчанию `true`: добавляется небольшая отметка о создании ИИ. Передайте `false`, чтобы убрать её.                                                                                                                                    |
| `nsfw_checker`            | boolean              | По умолчанию `true` включает проверку контента. `false` отправляет запрос без этой проверки; цена не меняется.                                                                                                                           |

Результаты всегда возвращаются как URL изображений, поэтому значения `response_format`, отличные от `url`, отклоняются. Эта модель не поддерживает `stream`, `sequential_image_generation`, `tools`, `seed`, `guidance_scale` и `mask`; эти поля отклоняются.

## Редактирование и объединение референсов [#редактирование-и-объединение-референсов]

Передайте одно изображение с инструкцией редактирования или несколько изображений для объединения:

```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"
}
```

Локальные файлы не принимаются: загрузите изображение в собственное хранилище и передайте его общедоступный HTTP(S) URL в `image`.

## Разделение на слои [#разделение-на-слои]

```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
{
  "id": "task_EXAMPLE",
  "object": "image.generation.task",
  "model": "bytedance/seedream-5.0-pro",
  "status": "completed",
  "created_at": 1792022400,
  "completed_at": 1792022510,
  "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 }
}
```

Если хотя бы один слой не удаётся создать, вся задача завершается ошибкой. Если промпт запрашивает больше слоёв, чем разрешено, часть содержимого слоёв может быть пропущена.

## Ошибки [#ошибки]

Отклонённая отправка возвращает HTTP-ошибку с `code` и `message`; задача не создаётся:

| HTTP | `code`              | Значение                                                                                                      |
| ---- | ------------------- | ------------------------------------------------------------------------------------------------------------- |
| 400  | `invalid_request`   | Поле или сочетание не поддерживается; название указано в `message`. Исправьте запрос; списания не было.       |
| 401  | —                   | API-ключ отсутствует или недействителен.                                                                      |
| 403  | `permission_denied` | Лимита ключа или баланса учётной записи недостаточно для запроса. Пополните баланс перед повторной отправкой. |
| 429  | `rate_limited`      | Слишком много запросов. Повторите позже.                                                                      |

Задача, завершившаяся ошибкой после принятия, возвращает `"status": "failed"` с объектом `error` и не оплачивается:

```json
{
  "id": "task_EXAMPLE",
  "object": "image.generation.task",
  "model": "bytedance/seedream-5.0-pro",
  "status": "failed",
  "created_at": 1792022400,
  "error": {
    "code": "generation_failed",
    "message": "The request was rejected by the content policy"
  }
}
```

| `error.message`                                                             | Значение                                                                                                |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| The request was rejected by the content policy                              | Промпт, входное изображение или результат отклонены.                                                    |
| The image parameters were rejected                                          | Исправьте запрос. Вместо этой фразы сообщение может указывать отклонённое поле или входное изображение. |
| Too many requests. Try again later.                                         | Отправьте запрос позже.                                                                                 |
| The image service is temporarily unavailable. This request was not charged. | Отправьте запрос позже.                                                                                 |
| The submission result is uncertain. This request was not charged.           | Изображение не доставлено; вы можете отправить запрос повторно.                                         |

Если отправка завершилась тайм-аутом до получения `id` задачи, результат неизвестен. Не повторяйте POST автоматически: это может создать вторую платную задачу. Сначала проверьте [журнал задач](/ru/tasks).
