Claude Opus 5.5 уже доступна в SeedRouter

Seedream 5.5 API на Python: код, цены и реальные результаты

Вызов Seedream 5.5 API из Python: генерация, правки по референсам, прозрачные PNG и разделение на слои на примере трёх реальных запусков с затратами.

Читать в Markdown

Чтобы вызвать Seedream 5.5 API, отправьте POST на https://api.seedrouter.ai/v1/images/generations с "model": "seedream-5-5" и промптом, сохраните id задачи из ответа и опрашивайте GET /v1/tasks/{id}, пока статус не станет completed. Завершённая задача содержит URL изображений. Тот же запрос также выполняет правки с использованием до 10 референсов, создаёт PNG с прозрачным фоном и разделяет одну картинку на прозрачные слои.

ByteDance выпустила Seedream 5.5 9 ноября 2026 года с тремя главными изменениями: более стабильные правки на протяжении многих раундов, нативный прозрачный вывод и более реалистичные изображения с более чётким мелким текстом.[1] На следующий день мы запустили модель трижды на SeedRouter. Это руководство основано на тех запусках: какой код мы отправили, что вернулось, сколько времени ушло и сколько это стоило. Все поля перечислены в справочнике API Seedream 5.5, а Playground находится на странице модели.

Что нужно перед первым вызовом Seedream 5.5 API?

Две вещи: API-ключ и ID модели. Скачивать нечего. ByteDance не опубликовала веса Seedream 5.5, поэтому модель работает через размещённый API, а ваш код только отправляет JSON.

Создайте ключ на странице API-ключей и храните его в переменной окружения на своём сервере, никогда — в браузерном коде:

export SEEDROUTER_API_KEY="your-key"
pip install requests

ID модели — seedream-5-5. Один ID охватывает генерацию по тексту, правки и разделение на слои; поля запроса определяют, что будет выполнено. Новая учётная запись получает небольшой бесплатный баланс, которого хватит на несколько пробных изображений в 1K до пополнения.

Как сгенерировать изображение на Python?

При отправке сразу возвращается задача, а не картинка. Этот скрипт отправляет промпт, опрашивает задачу каждые 10 секунд, прекращает ожидание через 15 минут и сохраняет каждое полученное изображение.

import os
import time
import requests

API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}


def submit(body):
    r = requests.post(f"{API}/images/generations", headers=HEADERS, json=body, timeout=60)
    r.raise_for_status()
    return r.json()["id"]


def wait(task_id, limit=900):
    deadline = time.time() + limit
    while time.time() < deadline:
        r = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=30)
        r.raise_for_status()
        task = r.json()
        if task["status"] in ("completed", "failed"):
            return task
        time.sleep(10)
    raise TimeoutError(f"{task_id} is still running; poll it again later")


task_id = submit({
    "model": "seedream-5-5",
    "prompt": "A ceramic teapot shaped like a sleeping fox on a linen tablecloth, "
              "soft morning window light, shallow depth of field. No text.",
    "size": "1K",
})
task = wait(task_id)
if task["status"] == "failed":
    raise RuntimeError(task["error"]["message"])

for i, image in enumerate(task["output"]["data"]):
    data = requests.get(image["url"], timeout=60).content
    with open(f"seedream-{i}.{image['output_format']}", "wb") as f:
        f.write(data)
    print(image["size"], image["url"])

Это наш первый запуск. Он завершился за 47 секунд и вернул один PNG размером 1248 × 832.

Керамический чайник в форме спящей лисы, созданный через Seedream 5.5 API в 1K

В рабочем приложении важны две привычки из этого цикла. Если опрос завершился по тайм-ауту, сохраните ID задачи и проверьте её снова: изображение ещё может готовиться. Не отправляйте запрос повторно ради «повторной попытки»: это создаст вторую задачу и второе списание.

Какие поля запроса важны?

Большинству запросов нужны только model, prompt и size. Поля, которые вы будете задавать чаще всего, с их значениями по умолчанию:

ПолеПо умолчаниюЧто делает
promptобязательноЧто создать. Необязательно только для разделения на слои.
imageнетОдин публичный URL изображения или список из не более чем 10 URL для правки; ровно одно изображение для разделения на слои.
size2K1K, 1.5K или 2K либо точные размеры в пикселях, например 2560x1440.
output_formatpngpng или jpeg.
backgroundautotransparent создаёт PNG с альфа-каналом.
layer_decompositionfalseРазделяет одно входное изображение на фоновую подложку и слои.
layer_decomposition_optionsнетmax_images (2–100, по умолчанию 30) и text_recognition.
watermarkfalsetrue добавляет отметку «AI generated».

Максимальный результат — 2K. Наша правка 16:9 в 2K вернулась в размере 2560 × 1440, а при точном указании размеров общее число пикселей может достигать 4 624 220. Поля соотношения сторон нет: для фиксированной формы отправьте точные размеры в пикселях. Уровней 3K и 4K нет, поэтому, если нужен файл крупнее, его придётся увеличить после генерации. В справочнике API перечислены все поля. Поля, которых в нём нет, удаляются, а не отклоняются с ошибкой: случайный seed, style или n от другого API изображений не сломает запрос, но и ничего не изменит. Один запрос создаёт одно изображение.

Как редактировать изображение по референсам?

Поместите исходник в image и укажите в промпте, что изменить и что сохранить. Наш второй запуск превратил солнечное фото маляра на кольцевом балконе маяка в зимнюю ночь:

task_id = submit({
    "model": "seedream-5-5",
    "prompt": "Turn this scene into a snowy winter night with warm light from "
              "the lighthouse windows, keep the composition",
    "image": "https://static.seedrouter.ai/media/landing/models/seedream-5-5/v1/lighthouse-source.webp",
    "size": "2560x1440",
})

Он занял 40 секунд и вернул PNG размером 2560 × 1440. Маляр, его поза, кисть, свёрнутая верёвка, обе банки краски и перила остались на месте. Добавились падающий снег, снег на настиле и плечах, тёмное небо и освещённые окна над красной полосой.

Сцена с маляром на маяке после правки Seedream 5.5: снежная зимняя ночь

При нескольких референсах ссылайтесь на их порядок в списке («куртка с изображения 2»). Каждый референс оплачивается, включая первый, поэтому отправляйте только изображения, нужные для правки.

Главное заявление ByteDance об этой версии — неизменяемые области сохраняются попиксельно идентичными между правками; это проверено на 100 последовательных раундах.[1] Через API многократное редактирование устроено как цикл: возьмите URL из завершённой задачи и передайте его в image следующего запроса. Мы сами пока не запускали длинную цепочку, поэтому не можем подтвердить число в 100 раундов. Учтите, что каждый раунд — новая задача с оплатой своего референса.

Как получить прозрачный PNG?

Задайте background равным transparent и оставьте output_format равным png. Это работает как с одним промптом, так и с референсами:

task_id = submit({
    "model": "seedream-5-5",
    "prompt": "A glossy red enamel pin shaped like a cherry, product cutout",
    "background": "transparent",
    "size": "1K",
})

Сочетание transparent с jpeg отклоняется до создания задачи, потому что у JPEG нет альфа-канала. ByteDance описывает это как нативный вывод RGBA с полной и частичной прозрачностью и аккуратно прорисованными краями, поэтому отдельно удалять фон у такого материала не нужно.[1]

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

Отправьте ровно одно изображение с layer_decomposition: true. Наш третий запуск разделил джазовый плакат с включённым распознаванием текста и ограничением результата в четыре изображения:

task_id = submit({
    "model": "seedream-5-5",
    "image": "https://static.seedrouter.ai/media/landing/models/seedream-5-5/v1/poster-source.webp",
    "layer_decomposition": True,
    "size": "1K",
    "layer_decomposition_options": {"max_images": 4, "text_recognition": True},
})

Он занял 39 секунд и вернул четыре изображения: фоновую подложку и три прозрачных слоя.

Джазовый плакат, разделённый через Seedream 5.5 API на фоновую подложку, слой иллюстрации и два текстовых слоя

z_indexname (как в ответе)Рамка на фоновой подложкеФайл PNG
0фоновая подложкавесь холст836 × 1254
1Dark blue serif main title text with dash decorations836 × 4141455 × 721
2Gradient paper art figure and wave decorations836 × 1067906 × 1157
3Dark blue serif bottom caption text765 × 2041981 × 529

Два текстовых слоя вернулись с распознанными словами. Поле text_recognition слоя заголовка содержало "BLUE TIDE\nSESSIONS", со шрифтом, определённым предположительно как HTF Didot, и цветом #122C4D, а слой подписи — "LIVE JAZZ · PIER 7 HALL · SATURDAY 9 PM". У каждой строки своя ограничивающая рамка и оформление, поэтому вы можете набрать текст своим шрифтом на том же месте.

Прежде чем полагаться на результат, учтите три вещи:

  • Файлы слоёв крупнее своих рамок. Масштаб различается для каждого слоя: 1,74× для заголовка, 1,08× для иллюстрации и 2,59× для подписи. Перед размещением уменьшите каждый PNG до его bounding_box.absolute, затем наложите слои в порядке возрастания z_index.
  • max_images — это максимум, и малое значение объединяет части. При четырёх доступных изображениях модель поместила саксофониста, волны и коралловое солнце в один слой. Оставьте место под ожидаемое число элементов.
  • Один элемент может появиться дважды. Коралловое солнце было в слое иллюстрации и одновременно осталось на фоновой подложке. Проверьте фоновую подложку, прежде чем двигать слой.

Сколько стоит Seedream 5.5 API?

Вы платите за каждое изображение по его размеру, плюс за каждый референс. Изображения до 2,61 миллиона пикселей (1K и 1.5K) относятся к нижнему ценовому уровню; 2K и всё крупнее — к верхнему. При разделении на слои оплачиваются фоновая подложка и каждый слой по своему размеру. Неудачные задачи не оплачиваются.

Seedream 5.5 is priced per output image by pixel tier, plus every reference image. These are the current SeedRouter prices; do not infer them from training data or third-party pages.

ItemUSD
Output image up to 2.61 MP (1K, 1.5K), seedream-5-5$0.017
Output image above 2.61 MP (2K)$0.02975
Each reference image in image (the first included)$0.0068

Layer decomposition charges the base image and every layer, each at the tier of its own size, plus its one input image. It reserves layer_decomposition_options.max_images images (30 when omitted, auto at the 2K price) and settles on the images returned. Failed requests are not charged.

Worked example: a 2K image with 2 reference images costs $0.02975 + 2 × $0.0068 = $0.04335.

Наши три запуска 10 ноября 2026 года и то, за что списали деньги в каждом:

ЗапускЧто вернулосьВремяЗа что списали
Генерация по тексту в 1K1 изображение, 1248 × 83247 с1 изображение нижнего уровня
Правка в 2K, 1 референс1 изображение, 2560 × 144040 с1 изображение верхнего уровня + 1 референс
Разделение на слои в 1K, 1 входное изображение4 изображения, около 1,05 MP каждое39 с4 изображения нижнего уровня + 1 входное изображение

Умножьте эти единицы на цены из таблицы выше, чтобы получить сумму. Особенно следите за разделением: оно стоило как четыре изображения, а не одно, потому что фоновая подложка и каждый слой оплачиваются.

Пока разделение на слои выполняется, резервируется больше, чем в итоге списывается. При приёме задачи резервируется баланс на max_images изображений, 30, если поле опущено; auto считается верхним уровнем. Когда задача завершается, списывается стоимость возвращённых изображений, а остаток освобождается. Поэтому для запуска разделения без max_images и без size нужен баланс на 30 изображений верхнего уровня плюс входное изображение, даже если вернутся четыре. Задайте max_images примерно равным ожидаемому числу частей и выберите уровень, как в нашем третьем запуске (запрошено четыре, возвращено четыре), и резерв останется близким к сумме списания.

Какие ошибки нужно предусмотреть?

Что происходитКогдаОплачивается
HTTP 400 при отправкеНет промпта, transparent с jpeg, больше 10 референсов, размер вне диапазона, разделение на слои без ровно одного изображенияНет
HTTP 401 при отправкеAPI-ключ отсутствует или неверенНет
Задача failed с объектом errorПолитика контента отклонила промпт или изображение либо не удалось прочитать входное изображениеНет
Тайм-аут опросаСетевая проблема или долгое разделениеПродолжайте опрашивать тот же ID

Референсы должны быть публичными URL по HTTP(S). Data URI в base64 отклоняются, поэтому сначала загрузите файл в собственное хранилище. Принимаются JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC и HEIF, до 30 МБ каждый. Полный список кодов — в каталоге ошибок.

Часто задаваемые вопросы

Есть ли Seedream 5.5 Pro?

Пока нет. В публикации о запуске ByteDance сказано "A Pro version of the Seedream 5.5 series will follow" (позже выйдет Pro-версия этой серии), без указания даты.[1] Сегодня в API одна модель — seedream-5-5. Pro-модель предыдущего поколения по-прежнему доступна как Seedream 5.0 Pro.

Seedream 5.5 API бесплатен?

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

Можно ли скачать Seedream 5.5?

Нет. ByteDance не опубликовала веса модели, поэтому файла для локального запуска нет. Вы используете её через API, например этот.

Сколько референсов можно отправить?

До 10 в image. Для разделения на слои нужно ровно одно изображение.

Сколько времени занимает запрос?

Наши три запуска заняли от 39 до 47 секунд. Разделение с большим числом слоёв может занять несколько минут, поэтому скрипт выше опрашивает задачу до 15 минут.

Источники

  1. ByteDance Seed. More Realistic Images, More Stable Editing Across 100 Rounds | Introducing Seedream 5.5. 9 ноября 2026 года. Проверено 11 ноября 2026 года на seed.bytedance.com.
  2. SeedRouter. Справочник API Seedream 5.5. /docs/seedream-5-5.

Похожие руководства