Перейти к основному содержанию
Seedream 5.0 Flash — самая новая и самая дешёвая модель Seedream, а Seedream 5.0 Pro даёт наивысшее качество изображений. Один JSON-эндпоинт выполняет и генерацию, и редактирование с объединением до десяти референсов; оплата идёт за каждое изображение на выходе. Референсные изображения не оплачиваются, кроме 5.0 Pro: там каждый референс после первого стоит $0.003. Публичные цены на 25 сентября 2026 года (см. Цены на API моделей ИИ): Все запросы Seedream используют один эндпоинт и одно тело JSON:
  • Эндпоинт: POST https://api.laozhang.ai/v1/images/generations
  • Для генерации передайте промпт.
  • Для редактирования или объединения изображений добавьте image с одним–десятью референсами.
  • Параллельные запросы: платформа их не ограничивает и не замедляет; 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. Обе модели отвечают на эти поля ошибкой HTTP 400, а примеры редактирования ниже передают "sequential_image_generation": "disabled", так что сначала удалите эту строку.

Подготовка

1

Создайте ключ для моделей с оплатой за вызов

Seedream — модель с оплатой за вызов (按次). В разделе Управление токенами создайте ключ (или измените существующий) и выберите Режим оплаты (计费模式) — «сначала по использованию» (按量优先, рекомендуется) или «оплата за вызов» (按次计费). Ключ с режимом «сначала по использованию» вызывает также модели с оплатой по использованию; ключ с оплатой за вызов — только модели с оплатой за вызов.Храните ключ в переменной окружения на сервере.Диалог создания токена в консоли: режим оплаты «оплата за вызов» (按次计费), затем кнопка «Создать».
2

Настройте окружение

Экспортируйте ключ и установите requests, который нужен примерам на Python:

Генерация изображения

Этот запрос создаёт изображение 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 URL вида data:image/png;base64,.... Изображения нумеруются в порядке массива, поэтому в промпте можно ссылаться на image 1, image 2 и так далее. Этот пример отправляет три локальных файла как data URL:

Объединение референсов на Python

Функция принимает от одного до десяти референсов: локальные файлы превращает в data URL, а публичные URL передаёт без изменений.

Разбиение изображения на прозрачные слои

Seedream 5.0 Flash (seedream-5-0-flash-260915) и 5.0 Pro (seedream-5-0-pro-260628) умеют разложить готовое изображение на фон и отдельные прозрачные PNG-слои, по одному элементу на слой. Это удобно, чтобы заменить фон, перестроить макет или повторно использовать элементы. Обе модели берут плату за каждое возвращённое изображение, причём изображение на Pro стоит примерно в 6.7 раза дороже, чем на Flash, поэтому начинайте с Flash. Просьба о прозрачном фоне в обычном промпте альфа-канал не создаёт — его даёт только разбиение на слои. Запрос на разбиение отличается от обычного редактирования:
  • Передайте layer_decomposition со значением true.
  • Передайте в image ровно одно изображение — строкой или массивом из одного элемента.
  • prompt необязателен. Если его не передать или передать пустую строку, модель сама найдёт основные элементы.
  • Укажите size равным 1K. Точные размеры в пикселях не принимаются.
  • Для разбиения допустимы только уровни 1K, 1.5K, 2K и auto.
  • Поддерживают только 5.0 Flash и 5.0 Pro. На seedream-5-0-260128 и seedream-4-5-251128 этот параметр возвращает HTTP 400 с кодом ошибки InvalidParameter.

Отправка запроса на разбиение

Замените URL в image на своё изображение, доступное для публичного скачивания, или передайте data URL. Чтобы использовать 5.0 Pro, поменяйте только model.
Разбиение на слои оплачивается за каждое возвращённое изображение: $0.018 на Flash и $0.12 на Pro.
  • Сколько слоёв вернуть, решает модель, и для одного и того же изображения число может меняться от запуска к запуску. Киноафиша, разбитая на 6 изображений (фон и 5 слоёв), стоит $0.108 на Flash и $0.72 на Pro. Насыщенные изображения могут дать дюжину слоёв и больше; 16 изображений на Flash стоят $0.288.
  • При 1K результат из 6 изображений готов меньше чем за минуту на Flash и примерно за 70 секунд на Pro; чем больше слоёв, тем дольше. Ставьте таймаут клиента не меньше 300 секунд. Запрос 2K может выполняться долго и оплачивается, даже если клиент отключился.
  • Если изображение не удаётся разбить, запрос возвращает HTTP 400 и не оплачивается. Его можно повторить.
  • Модель дорисовывает области за удалёнными элементами, поэтому перед коммерческим использованием проверьте фон.

Ответ с разбиением на слои

Первый элемент data[] — фон, каждый следующий — отдельный слой. Ответ ниже сокращён до фона и одного слоя:
В usage есть также output_tokens, но списание зависит только от числа изображений. Размер файла слоя не обязательно совпадает с его рамкой. В примере PNG 916×529 должен лечь в рамку 359×208, поэтому при обратной сборке масштабируйте каждый слой под его рамку absolute.

Сохранение слоёв и обратная сборка

Скрипт читает seedream-layers.json, сохраняет каждое изображение с z_index и названием в имени файла и с помощью Pillow вставляет каждый слой на фон в его рамку bounding_box.absolute. Сначала установите Pillow: python3 -m pip install pillow.
save_layers.py
Получатся файлы вроде layer-00-base.jpg и layer-04-spaceship.png, а также recomposited.png. Чтобы заменить фон или убрать элемент, перед сборкой подмените файл фона или пропустите нужный слой.

Параметры

5.0 Flash и 5.0 Pro возвращают HTTP 400, если в запросе есть sequential_image_generation (даже "disabled") или stream. Кроме того, они игнорируют n, так что без разбиения на слои каждый запрос возвращает одно изображение. Последовательная генерация и разбиение на слои могут вернуть несколько изображений в одном ответе, поэтому сохраняйте каждый элемент data[], как это делают save_images.py, save_all_images и save_layers.py.

Частые вопросы

Какую версию Seedream выбрать?

Выбирайте по задаче:
  • Низкая цена, скорость или большие объёмы: Seedream 5.0 Flash (seedream-5-0-flash-260915), $0.018 за изображение. BytePlus позиционирует её для рекламных креативов, изображений товаров, постеров и другого дизайна с текстом.
  • Наивысшее качество: Seedream 5.0 Pro (seedream-5-0-pro-260628) — для реалистичных портретов, тонкой фактуры материалов и сложных инструкций. При цене $0.12 за изображение она примерно в 3.4 раза дороже 5.0 и работает медленнее, поэтому для повседневных задач берите 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). В остальных случаях оставляйте эти две версии, только если от их результата зависит существующий процесс.
  • Прозрачные слои из готового изображения: разбиение на слои на 5.0 Flash. 5.0 Pro тоже его поддерживает, но изображение стоит примерно в 6.7 раза дороже.
Актуальные цены всех версий — на странице Цены на API моделей ИИ.

Какие значения принимает size? Можно ли получить 4K?

Используйте одну из двух форм, не обе сразу. Либо передайте уровень разрешения и опишите соотношение сторон в промпте (например, «горизонтальный кадр 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
Точные размеры должны укладываться и в диапазон общего числа пикселей, и в диапазон соотношения сторон:
  • Минимум: 2560×1440 (3 686 400 пикселей) для 5.0 и 4.5, 1280×720 (921 600 пикселей) для 4.0.
  • Максимум: 4096×4096 для 4.5 и 4.0, уровень 3K для 5.0.
  • 5.0 Flash: от 921 600 до 4 624 220 пикселей всего.
  • 5.0 Pro: до примерно 4.19 млн пикселей, например 2048x2048 или 2720x1530 для 16:9.
  • Соотношение сторон: от 1/16 до 16 на 5.0 Flash, 5.0, 4.5 и 4.0.
Поэтому маленький размер вроде 1024x1024 на 5.0 и 4.5 вызывает ошибку. С уровнем разрешения 5.0 Flash выбирает соотношение сторон по содержанию, так что для фиксированного соотношения передавайте точные пиксели, например 2560x1440. На 5.0 Flash значения 3K и 4K возвращают HTTP 400. Цена за изображение от размера не зависит. Разбиение на слои принимает только 1K, 1.5K, 2K или auto, точные пиксели не поддерживаются.

Как работает последовательная генерация и как она оплачивается?

Передайте sequential_image_generation со значением auto, и модель сама решит по промпту, сколько связанных изображений вернуть, — например, «три изображения одного персонажа утром, днём и ночью». Чтобы ограничить их число, BytePlus описывает параметр sequential_image_generation_options.max_images (1–15). Референсы вместе с созданными изображениями не могут превышать 15. В ответе тогда будет несколько изображений в data[], поэтому сохраняйте каждый элемент. Оплачивается каждое возвращённое изображение: четыре изображения от seedream-5-0-260128 стоят $0.14, а референсы бесплатны. Фактическое списание смотрите в журнале вызовов. 5.0 Flash и 5.0 Pro последовательную генерацию не поддерживают: любое значение sequential_image_generation, включая "disabled", возвращает HTTP 400. Для последовательной генерации используйте 5.0 или отправляйте в Flash или Pro по одному запросу на изображение.

Как передать локальное изображение и какие есть ограничения?

Превратите файл в data URL вида data:image/png;base64,<данные Base64>, указав формат строчными буквами, например png или jpeg. Это делает вспомогательная функция из раздела «Объединение референсов на Python». BytePlus устанавливает для каждого референса такие ограничения:
  • Формат: jpeg, png, webp, bmp, tiff, gif, heic или heif.
  • Размер файла: до 30 МБ.
  • Размеры: ширина и высота больше 14 пикселей, всего не больше 6000×6000 пикселей.
  • Соотношение сторон: от 1/16 до 16.
Публичный URL должен скачиваться напрямую. Для больших изображений лучше использовать публичный URL: кодирование в Base64 увеличивает тело запроса примерно на треть.

Как убрать водяной знак?

Передайте "watermark": false, как во всех примерах на этой странице. У BytePlus watermark по умолчанию равен true и добавляет в правый нижний угол метку «AI generated», поэтому для чистого изображения явно задавайте false.

Сколько живут ссылки на результат? Можно ли получить Base64?

По данным BytePlus, ссылки на изображения действуют 24 часа после генерации. Скачивайте изображение сразу после ответа и храните у себя; не сохраняйте полученный URL как постоянный адрес. Чтобы получить изображение прямо в ответе, передайте response_format со значением b64_json. Скрипт save_images.py и примеры на Python поддерживают оба формата.

Списываются ли деньги за неудачные запросы?

Нет. Ответ с кодом не 200, например ошибка параметров или блокировка модерацией, не оплачивается; платите вы только за возвращённые изображения. Таймаут на стороне клиента — не то же самое, что ошибка. Сервер мог уже создать изображение и списать оплату, поэтому перед повторной отправкой проверьте журнал вызовов. Окончательная запись о списаниях — именно журнал вызовов. Чтобы не обрывать ещё выполняющиеся запросы, задавайте таймаут клиента по модели:
  • 5.0 Flash: не меньше 60 секунд. По данным BytePlus, модель укладывается в 20 секунд; с десятью референсами рассчитывайте примерно на 30 секунд.
  • 5.0 Pro: не меньше 240 секунд, потому что запрос обычно занимает около 2 минут.
  • Разбиение на слои на 5.0 Flash или 5.0 Pro: не меньше 300 секунд при 1K.

Связанные материалы

Источники