> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedream-5.0-Pro Генерация изображений

> Генерация высококачественных изображений с помощью модели Seedream 5.0 Pro с поддержкой разрешений 1K/2K

> [!NOTE]
>
> **Для пользователей из материкового Китая:** используйте `https://toapis.cn` в качестве эндпоинта (Base URL). Замените `https://toapis.com` на `https://toapis.cn` во всех примерах этого документа.

* Seedream 5.0 Pro — модель высококачественной генерации изображений от команды ByteDance Seed
* Используйте параметр model для выбора модели `doubao-seedream-5-0-pro`
* Параметры в основном совпадают с `Seedream-5.0`, отличие в том, что Pro поддерживает разрешения **1K** и **2K**
* Поддерживает генерацию по тексту, по изображению и с несколькими референсами
* **Правила оплаты**: первое референсное изображение бесплатно, оплата начисляется со второго референсного изображения
* Асинхронное управление задачами, запрос результатов по ID задачи

> [!WARNING]
>
> **Важное изменение**: Для повышения производительности и контроля затрат мы больше не поддерживаем передачу данных изображений в формате base64 напрямую в `image_urls`. Пожалуйста, сначала используйте [API загрузки изображений](https://docs.toapis.com/docs/ru/api-reference/uploads/images.md) для загрузки изображений и получения URL, а затем вызывайте этот эндпоинт.

## Авторизация

**Authorization** `string` *required*

Все API требуют аутентификации Bearer Token

Получите API Key на [странице управления API Key](https://toapis.com/console/token)

Добавьте в заголовок запроса:

```
Authorization: Bearer YOUR_API_KEY
```

## Тело запроса

**model** `string` *required* (default: doubao-seedream-5-0-pro)

Название модели генерации изображений

Пример: `"doubao-seedream-5-0-pro"`

**prompt** `string` *required*

Текстовое описание для генерации изображения

**size** `string` (default: 1:1)

Соотношение сторон изображения

При включённом `layer_decomposition` в этом поле передаётся готовый пресет разрешения `1K` или `2K`.

Поддерживаемые соотношения:

* `1:1` - Квадрат (по умолчанию)
* `4:3` - Горизонтальный 4:3
* `3:4` - Вертикальный 3:4
* `16:9` - Горизонтальный широкоэкранный
* `9:16` - Вертикальный длинный
* `3:2` - Горизонтальный 3:2
* `2:3` - Вертикальный 2:3
* `21:9` - Ультраширокий
* `9:21` - Ультравысокий

**n** `integer` (default: 1)

Количество генерируемых изображений

Диапазон: 1-10 (минимум 1, максимум 10)

По умолчанию: 1

**Примечание:**

* Суммарное количество референсных изображений + генерируемых изображений должно быть ≤ 15
* **Вводите только число (например `1`), не добавляйте кавычки, иначе возникнет ошибка**

Предварительное списание выполняется по количеству генерируемых и референсных изображений, при этом первое референсное изображение бесплатно

**layer\_decomposition** `boolean` (default: false)

Включить уникальную для Seedream 5.0 Pro возможность разделения на слои.

* `false`: возвращается обычное плоское изображение (по умолчанию)
* `true`: возвращается базовое изображение и несколько независимых PNG-слоёв с альфа-каналом

После включения каждый элемент `result.data[]` в результате запроса задачи дополнительно возвращает `z_index`; независимые слои дополнительно возвращают `bounding_box`, `name` и `description`. Параметр поддерживается только в Seedream 5.0 Pro.

**image\_urls** `string[]`

Список URL референсных изображений для изображения-в-изображение или редактирования изображений

**⚠️ Только формат URL (base64 больше не поддерживается)**

* Публично доступный URL изображения (http\:// или https\://)
* Можно использовать [API загрузки изображений](https://docs.toapis.com/docs/ru/api-reference/uploads/images.md) для загрузки локальных изображений и получения URL

**Ограничения:**

* Количество изображений: 1-10
* Форматы изображений: jpeg, png
* Диапазон соотношения сторон (ширина/высота): \[1/3, 3]
* Ширина и высота (px) > 14
* Размер: не более 10 МБ
* Общее количество пикселей: не более 6000×6000 px

**Оплата:**

* Первое референсное изображение бесплатно
* Со второго референсного изображения оплата начисляется по обычным правилам

**metadata** `object`

Специфичные параметры канала для передачи расширенной конфигурации модели Seedream 5.0 Pro

**Свойства metadata**

**metadata.resolution** `string` (default: 2K)

Разрешение изображения

Поддерживаемые разрешения:

* `1K` - Базовое разрешение
* `2K` - Стандартное разрешение (по умолчанию)

> **Примечание:** Seedream 5.0 Pro не поддерживает разрешения 3K и 4K; Seedream 5.0 без Pro поддерживает 2K и 3K

**metadata.sequential\_image\_generation** `string` (default: disabled)

Режим последовательной генерации изображений (специфическая функция Doubao)

Управляет генерацией нескольких изображений:

* `disabled`: последовательный режим отключён, даже при нескольких референсных изображениях генерируется только 1 изображение (по умолчанию)
* `auto`: последовательный режим включён, можно генерировать несколько изображений

**Примечания по использованию:**

* ✅ Установите `n: 3` или используйте `sequential_image_generation: "auto"` + `max_images: 3`
* ✅ Поддерживается генерация серии по тексту: только по текстовому промпту, до 10 изображений
* ✅ Поддерживается изображение-в-изображение и генерация серии по изображению: укажите `image_urls` и генерируйте несколько изображений на основе референсного
* ⚠️ При `n > 1` автоматически устанавливается `auto`

**Примечание:**

* Количество входных референсных изображений + итоговых сгенерированных изображений ≤ 15

**metadata.sequential\_image\_generation\_options** `object`

Параметры последовательной генерации изображений

Доступно, когда `sequential_image_generation` установлен в `auto`

**Свойства:**

* `max_images` (целое число): количество генерируемых изображений, диапазон: 1-10

**Пример:**

```json theme={null}
"sequential_image_generation_options": { "max_images": 3 }
```

**metadata.watermark** `boolean` (default: false)

Добавлять ли водяной знак к сгенерированному изображению

* `true`: с водяным знаком
* `false`: без водяного знака (по умолчанию)

## Ответ

**id** `string`

Уникальный идентификатор задачи для запроса статуса

**object** `string`

Тип объекта, всегда `generation.task`

**model** `string`

Используемое имя модели

**status** `string`

Статус задачи

* `queued` - В очереди на обработку
* `in_progress` - Обработка
* `completed` - Успешно завершено
* `failed` - Не удалось

**progress** `integer`

Процент выполнения задачи (0-100)

**created\_at** `integer`

Временная метка создания задачи (временная метка Unix)

**metadata** `object`

Метаданные задачи

**completed\_at** `integer`

Временная метка завершения задачи (временная метка Unix). Возвращается только после завершения задачи.

**expires\_at** `integer`

Временная метка истечения срока хранения файла результата (временная метка Unix). Скачайте или сохраните файл результата до истечения срока.

**result** `object`

Результат генерации после успешного завершения задачи. Возвращается только когда `status` равен `completed`.

**result.type** `string`

Тип результата, для задач изображений всегда `image`.

**result.data** `array`

Список результатов-изображений. При включённом разделении на слои первый элемент обычно является базовым изображением, остальные — независимыми PNG-слоями с альфа-каналом.

**result.data\[].url** `string`

Публично доступный адрес базового изображения или независимого слоя.

**result.data\[].z\_index** `integer`

Порядок наложения слоёв. При включённом `layer_decomposition` базовое изображение обычно `0`, а независимые слои идут по возрастанию.

**result.data\[].size** `string`

Размер текущего базового изображения или независимого слоя в пикселях, например `2048x2048`.

**result.data\[].output\_format** `string`

Формат файла текущего результата. Базовое изображение может быть в запрошенном формате, прозрачные независимые слои — в `png`.

**result.data\[].bounding\_box** `object`

Положение независимого слоя на базовом изображении: содержит `absolute` (абсолютные координаты) и `normalized` (нормализованные координаты).

**result.data\[].bounding\_box.absolute** `array`

Абсолютные пиксельные координаты слоя на базовом изображении в формате `[x1, y1, x2, y2]`, где указаны координаты левого верхнего и правого нижнего углов.

**result.data\[].bounding\_box.normalized** `array`

Нормализованные координаты слоя в формате `[x1, y1, x2, y2]`, диапазон координат `0-1000`.

**result.data\[].name** `string`

Название слоя.

**result.data\[].description** `string`

Описание содержимого слоя.

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedream-5-0-pro",
    "prompt": "Милая панда играет в бамбуковом лесу",
    "size": "1:1",
    "n": 1,
    "metadata": {
      "resolution": "2K"
    }
  }'
```

```bash cURL (Изображение-в-изображение) theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedream-5-0-pro",
    "prompt": "Милая панда играет в бамбуковом лесу",
    "size": "1:1",
    "n": 1,
    "image_urls": [
      "https://example.com/panda.jpg"
    ],
    "metadata": {
      "resolution": "1K"
    }
  }'
```

```bash cURL (Разделение на слои) theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedream-5-0-pro",
    "prompt": "Точно раздели изображение на слои: верни базовое изображение и несколько независимых прозрачных PNG-слоёв.",
    "image_urls": [
      "https://example.com/office-desk.png"
    ],
    "size": "2K",
    "n": 1,
    "layer_decomposition": true
  }'
```

> [!NOTE]
>
> При включённом `layer_decomposition` указывайте в `size` сразу пресет разрешения `1K` или `2K`, а не явный размер в пикселях. После успешной отправки запросите полный результат по слоям через `GET /v1/images/generations/{task_id}`.

```bash cURL (Серия изображений) theme={null}
curl --request POST \
  --url https://toapis.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedream-5-0-pro",
    "prompt": "Милая панда играет в бамбуковом лесу",
    "size": "1:1",
    "n": 4,
    "metadata": {
      "resolution": "2K",
      "sequential_image_generation": "auto",
      "sequential_image_generation_options": { "max_images": 4 },
      "watermark": false
    }
  }'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://toapis.com/v1/images/generations",
    headers={
        "Authorization": "Bearer your-ToAPIs-key",
        "Content-Type": "application/json"
    },
    json={
        "model": "doubao-seedream-5-0-pro",
        "prompt": "Милая панда играет в бамбуковом лесу",
        "size": "1:1",
        "n": 1,
        "metadata": {
            "resolution": "2K"
        }
    }
)

task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
```

```python Python (Изображение-в-изображение) theme={null}
import requests

response = requests.post(
    "https://toapis.com/v1/images/generations",
    headers={
        "Authorization": "Bearer your-ToAPIs-key",
        "Content-Type": "application/json"
    },
    json={
        "model": "doubao-seedream-5-0-pro",
        "prompt": "Милая панда играет в бамбуковом лесу",
        "size": "1:1",
        "n": 1,
        "image_urls": ["https://example.com/panda.jpg"],
        "metadata": {
            "resolution": "1K"
        }
    }
)

task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
```

```javascript JavaScript theme={null}
const response = await fetch('https://toapis.com/v1/images/generations', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer your-ToAPIs-key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'doubao-seedream-5-0-pro',
    prompt: 'Милая панда играет в бамбуковом лесу',
    size: '1:1',
    n: 1,
    metadata: {
      resolution: '2K'
    }
  })
});

const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
```

```javascript JavaScript (Изображение-в-изображение) theme={null}
const response = await fetch('https://toapis.com/v1/images/generations', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer your-ToAPIs-key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'doubao-seedream-5-0-pro',
    prompt: 'Милая панда играет в бамбуковом лесу',
    size: '1:1',
    n: 1,
    image_urls: ['https://example.com/panda.jpg'],
    metadata: {
      resolution: '1K'
    }
  })
});

const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
```

```json 200 theme={null}
{
  "id": "task_img_abc123def456",
  "object": "generation.task",
  "model": "doubao-seedream-5-0-pro",
  "status": "queued",
  "progress": 0,
  "created_at": 1703884800,
  "metadata": {}
}
```

```json 200 Разделение на слои завершено theme={null}
{
  "completed_at": 1787128810,
  "created_at": 1787128650,
  "expires_at": 1787215210,
  "id": "tsk_img_example_layer_decomposition",
  "model": "doubao-seedream-5-0-pro",
  "object": "generation.task",
  "progress": 100,
  "result": {
    "type": "image",
    "data": [
      {
        "url": "https://files.toapis.com/images/example/base.jpg",
        "size": "1600x2848",
        "output_format": "jpeg",
        "z_index": 0
      },
      {
        "url": "https://files.toapis.com/images/example/layer-1.png",
        "size": "3040x955",
        "output_format": "png",
        "z_index": 1,
        "bounding_box": {
          "absolute": [0, 0, 1600, 503],
          "normalized": [0, 0, 999, 176]
        },
        "name": "Группа офисного оборудования на фоне",
        "description": "Извлечены края монитора и органайзер для документов на фоне, без лишнего содержимого"
      },
      {
        "url": "https://files.toapis.com/images/example/layer-2.png",
        "size": "1982x1162",
        "output_format": "png",
        "z_index": 2,
        "bounding_box": {
          "absolute": [800, 589, 1599, 1058],
          "normalized": [500, 207, 999, 371]
        },
        "name": "Стопка белых листов",
        "description": "Извлечено несколько стопок белой офисной бумаги на столе, без лишнего содержимого"
      }
    ]
  },
  "status": "completed"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.