Seedream 5 Pro API

Принимает текстовое описание и возвращает изображение. 8 соотношений сторон, от 1:1 до 21:9, описание до 5 000 символов. Модель ByteDance.

Принимает изображение и текстовое указание и возвращает изменённое изображение. 8 соотношений сторон, от 1:1 до 21:9, на вход до 10 изображений, описание до 5 000 символов. Модель ByteDance.

Seedream 5 Pro API работает в России без VPN: один API ключ GEN202, оплата рублями с российской карты, цена до 10,8% ниже официальной.

Цены: 1K — 8.1 кр. (4,05 ₽ · $0.0405), 2K — 16.2 кр. (8,1 ₽ · $0.081).

кр. — кредиты, покупаются за рубли.

Model

Статус

работает

Статус

работает

Seedream 5 Lite API

Принимает текстовое описание и возвращает изображение. 8 соотношений сторон, от 1:1 до 21:9, описание до 3 000 символов. Модель ByteDance.

Принимает изображение и текстовое указание и возвращает изменённое изображение. 8 соотношений сторон, от 1:1 до 21:9, на вход до 10 изображений, описание до 3 000 символов. Модель ByteDance.

Seedream 5 Lite API работает в России без VPN: один API ключ GEN202, оплата рублями с российской карты, цена до 10% ниже официальной.

Цена: 6.3 кр. (3,15 ₽ · $0.0315).

кр. — кредиты, покупаются за рубли.

Model

Статус

работает

Статус

работает

Издание

Песочница

Input

Ещё настройки

Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.

{
  "model": "seedream/5-pro-text-to-image",
  "input": {
    "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
    "aspect_ratio": "1:1",
    "quality": "basic"
  }
}
Output
пример генерации модели seedream/5-pro-text-to-image
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cm8r4t0vk0001s60p2xq7f9ab",
    "model": "seedream/5-pro-text-to-image",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://gen202.com/assets/sample-seedream-5-pro.jpg\"]}",
    "failCode": "",
    "failMsg": "",
    "creditsConsumed": 8.1
  }
}
Input

Ещё настройки

Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.

{
  "model": "seedream/5-pro-image-to-image",
  "input": {
    "prompt": "Сделай фон тёмно-синим, кота не меняй",
    "image_urls": [
      "https://gen202.com/assets/sample-nano-banana-2.jpg"
    ],
    "aspect_ratio": "1:1",
    "quality": "basic"
  }
}
Output
пример генерации модели seedream/5-pro-image-to-image
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cm8r4t0vk0001s60p2xq7f9ab",
    "model": "seedream/5-pro-image-to-image",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://gen202.com/assets/sample-seedream-5-pro-edit.jpg\"]}",
    "failCode": "",
    "failMsg": "",
    "creditsConsumed": 8.1
  }
}
Input

Ещё настройки

Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.

{
  "model": "seedream/5-lite-text-to-image",
  "input": {
    "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
    "aspect_ratio": "1:1",
    "quality": "basic"
  }
}
Output
пример генерации модели seedream/5-lite-text-to-image
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cm8r4t0vk0001s60p2xq7f9ab",
    "model": "seedream/5-lite-text-to-image",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://gen202.com/assets/sample-seedream-5-lite.jpg\"]}",
    "failCode": "",
    "failMsg": "",
    "creditsConsumed": 6.3
  }
}
Input

Ещё настройки

Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.

{
  "model": "seedream/5-lite-image-to-image",
  "input": {
    "prompt": "Сделай фон тёмно-синим, кота не меняй",
    "aspect_ratio": "1:1",
    "quality": "basic",
    "image_urls": [
      "https://gen202.com/assets/sample-nano-banana-2.jpg"
    ]
  }
}
Output
пример генерации модели seedream/5-lite-image-to-image
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cm8r4t0vk0001s60p2xq7f9ab",
    "model": "seedream/5-lite-image-to-image",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://gen202.com/assets/sample-seedream-5-lite-edit.jpg\"]}",
    "failCode": "",
    "failMsg": "",
    "creditsConsumed": 6.3
  }
}

Цена Seedream 5

Генерация из текста. Цена за генерацию. Списывается фактический расход, о котором сообщил поставщик.

Вариант Скидка от официальной цены Наша цена
1K $0.045 −10% 8.1 кр. $0.04054,05 ₽
2K $0.09 −10% 16.2 кр. $0.0818,1 ₽

В среднем на 10% ниже официальной цены поставщика. кр. — кредиты, покупаются за рубли.

Правка изображения. Цена за генерацию. Списывается фактический расход, о котором сообщил поставщик.

Вариант Скидка от официальной цены Наша цена
1K $0.045 −10% 8.1 кр. $0.04054,05 ₽
1K $0.048 −10,4% 8.6 кр. $0.0434,3 ₽
1K $0.051 −10,8% 9.1 кр. $0.04554,55 ₽
1K $0.054 −10,2% 9.7 кр. $0.04854,85 ₽
1K $0.057 −10,5% 10.2 кр. $0.0515,1 ₽
1K $0.06 −10% 10.8 кр. $0.0545,4 ₽
1K $0.063 −10,3% 11.3 кр. $0.05655,65 ₽
1K $0.066 −10,6% 11.8 кр. $0.0595,9 ₽
1K $0.069 −10,1% 12.4 кр. $0.0626,2 ₽
1K $0.072 −10,4% 12.9 кр. $0.06456,45 ₽
2K $0.09 −10% 16.2 кр. $0.0818,1 ₽
2K $0.093 −10,2% 16.7 кр. $0.08358,35 ₽
2K $0.096 −10,4% 17.2 кр. $0.0868,6 ₽
2K $0.099 −10,1% 17.8 кр. $0.0898,9 ₽
2K $0.102 −10,3% 18.3 кр. $0.09159,15 ₽
2K $0.105 −10% 18.9 кр. $0.09459,45 ₽
2K $0.108 −10,2% 19.4 кр. $0.0979,7 ₽
2K $0.111 −10,4% 19.9 кр. $0.09959,95 ₽
2K $0.114 −10,1% 20.5 кр. $0.102510,25 ₽
2K $0.117 −10,3% 21 кр. $0.10510,5 ₽

В среднем на 10,3% ниже официальной цены поставщика. кр. — кредиты, покупаются за рубли.

Цена за генерацию. Списывается фактический расход, о котором сообщил поставщик.

Вариант Скидка от официальной цены Наша цена
1 $0.035 −10% 6.3 кр. $0.03153,15 ₽

В среднем на 10% ниже официальной цены поставщика. кр. — кредиты, покупаются за рубли.

Вызов через API

POST https://api.gen202.com/api/v1/jobs/createTask
GET https://api.gen202.com/api/v1/jobs/recordInfo?taskId=…

Генерация занимает десятки секунд, поэтому изображение не приходит в ответ на запрос. Первый вызов ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком Authorization: Bearer sk-… и выпускается в кабинете. На один ключ шлюз пропускает 30 постановок задачи и 300 запросов состояния в минуту.

Поля запроса

Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне перечисления возвращают 422 и кредитов не тратят.

ПолеТипОбяз.Допустимые значения
model текст обязательное seedream/5-pro-text-to-image
input объект обязательное Параметры генерации — поля из таблицы ниже

Поля input

ПолеТипОбяз.Допустимые значения
prompt текст обязательное от 3 до 5 000 символов
aspect_ratio значение из списка опц. 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9 · без него шлюз подставит 1:1
quality значение из списка опц. basic · high · без него шлюз подставит basic
output_format значение из списка опц. png · jpeg · без него шлюз подставит png
nsfw_checker да или нет опц. true или false

Поля запроса

Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне перечисления возвращают 422 и кредитов не тратят.

ПолеТипОбяз.Допустимые значения
model текст обязательное seedream/5-pro-image-to-image
input объект обязательное Параметры генерации — поля из таблицы ниже

Поля input

ПолеТипОбяз.Допустимые значения
prompt текст обязательное от 3 до 5 000 символов
image_urls список ссылок обязательное от 1 до 10 ссылок на изображение
aspect_ratio значение из списка опц. 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9 · без него шлюз подставит 1:1
quality значение из списка опц. basic · high · без него шлюз подставит basic
output_format значение из списка опц. png · jpeg · без него шлюз подставит png
nsfw_checker да или нет опц. true или false

Ссылка на изображение принимается только полным адресом на http или https: не длиннее 2048 символов, на общедоступном сайте, без имени и пароля перед адресом и без порта, кроме 80 и 443. Относительный путь, а также адреса внутри сети — localhost, 127.0.0.1, 10.0.0.5, 192.168.1.2 — и имена без точки шлюз отклоняет ответом 422, к поставщику не обращаясь.

Ответ

Оба запроса отвечают одним конвертом: {"code":…,"msg":…,"data":…}, где code повторяет HTTP-статус, а полезное лежит в data. Тот же конверт приходит и при отказе — разбирать две формы ответа не нужно.

/api/v1/jobs/createTask

ПолеТипЧто в нём
data.taskId строка Номер задачи. Больше в ответе ничего нет и быть не может — работа только началась.

/api/v1/jobs/recordInfo

ПолеТипЧто в нём
data.taskId строка Номер задачи — тот же, что вернул createTask.
data.model строка Имя модели в том виде, в каком его прислал клиент.
data.state строка Состояние задачи: waiting, queuing, generating, success или fail.
data.param строка Параметры, с которыми задача создана, — строкой JSON внутри JSON.
data.resultJson строка Результат строкой JSON внутри JSON: {"resultUrls":["https://…"]} — разбирается вторым разбором. До завершения задачи — пустая строка.
data.failCode строка Код неудачи из таблицы ниже. У остальных задач — пустая строка.
data.failMsg строка Причина неудачи словами. Иначе пустая строка.
data.costTime число Сколько задача заняла, миллисекунды. Пока не завершилась — null.
data.completeTime число Когда завершилась, миллисекунды эпохи Unix. Пока не завершилась — null.
data.createTime число Когда создана, миллисекунды эпохи Unix.
data.updateTime число Когда состояние менялось в последний раз, миллисекунды эпохи Unix.
data.creditsConsumed число Сколько кредитов списано. Ноль, пока задача не завершилась, и ноль у неудачной.

Состояния задачи

Состояние лежит в поле state ответа /api/v1/jobs/recordInfo. Первые три означают, что работа идёт: запрос надо повторить примерно через 3 секунды — чаще спрашивать нечего, столько же ждёт между опросами сам шлюз. Два последних состояния окончательные: после них задача не меняется.

stateЧто происходит
waiting Задача принята и стоит в очереди шлюза; поставщику она ещё не отправлена.
queuing Поставщик задачу принял и поставил в свою очередь.
generating Генерация идёт.
success Готово: ссылки на результат лежат в resultJson, в creditsConsumed — сколько списано.
fail Задача не удалась: причина в failCode и failMsg, удержанные кредиты возвращены целиком.

Опрос не бывает бесконечным: задача на изображение живёт не дольше 15 минут, после чего шлюз закрывает её сам состоянием fail и возвращает удержанные кредиты целиком. Причина неудачи приходит двумя полями: failCode из таблицы ниже и failMsg словами.

failCodeЧто произошло
501 Поставщик вернул отказ: генерация не удалась.
408 Результата нет дольше крайнего срока задачи (15 минут для картинки).
404 Поставщик не знает такой задачи.
429 Поставщик отбил создание задачи по своему лимиту.
500 Поломка на нашей стороне; подробности остаются в журнале шлюза.

Ссылка на готовый файл живёт 14 дней — столько его хранит поставщик. Файл, который нужен дольше, скачивайте к себе сразу после того, как задача пришла в состояние success.

Отказы

Тело отказа одно на все случаи: {"code":…,"msg":…,"data":null}. Задача, не дошедшая до результата, не тарифицируется — удержанные кредиты возвращаются целиком.

КодАдресКогда
400 /api/v1/jobs/createTask Тело запроса — не разбираемый JSON.
401 /api/v1/jobs/createTask Ключа нет в заголовке Authorization, либо он неверный или отключён.
402 /api/v1/jobs/createTask Свободных кредитов меньше, чем удерживается под задачу.
403 /api/v1/jobs/createTask Аккаунт заблокирован: вызовы модели, пополнение и загрузка файлов ему закрыты. Ключи при этом не отключены — запрет лежит на аккаунте.
413 /api/v1/jobs/createTask Тело запроса больше 512 КиБ.
415 /api/v1/jobs/createTask Тело отправлено не как application/json или заголовок Content-Type не передан.
422 /api/v1/jobs/createTask Поле model пустое или его имени нет в каталоге, input — не объект, поле не из списка модели либо значение вне её перечисления. В сообщении перечислено, что принимается.
429 /api/v1/jobs/createTask Больше 30 запросов в минуту на один ключ либо больше 50 незавершённых задач на аккаунте.
500 /api/v1/jobs/createTask Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят.
401 /api/v1/jobs/recordInfo Ключа нет в заголовке Authorization, либо он неверный или отключён.
404 /api/v1/jobs/recordInfo Задачи с таким номером нет или она создана другим аккаунтом.
422 /api/v1/jobs/recordInfo Параметр taskId не передан.
429 /api/v1/jobs/recordInfo Больше 300 запросов в минуту на один ключ.
500 /api/v1/jobs/recordInfo Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят.

Пример вызова

task.sh
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream/5-pro-text-to-image",
    "input": {
      "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
      "aspect_ratio": "1:1",
      "quality": "basic"
    }
  }' | jq -r '.data.taskId')

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while true; do
  RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
    -H "Authorization: Bearer sk-ваш-ключ")
  STATE=$(echo "$RECORD" | jq -r '.data.state')
  case "$STATE" in success|fail) break;; esac
  sleep 3
done

# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
#    внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
  if .state == "fail"
  then "отказ \(.failCode): \(.failMsg)"
  else .resultJson | fromjson | .resultUrls[0]
  end'
task.py
import json
import time

import requests

headers = {"Authorization": "Bearer sk-ваш-ключ"}

# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
    "https://api.gen202.com/api/v1/jobs/createTask",
    headers=headers,
    json={
      "model": "seedream/5-pro-text-to-image",
      "input": {
        "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
        "aspect_ratio": "1:1",
        "quality": "basic"
      }
    },
).json()
task_id = created["data"]["taskId"]

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while True:
    task = requests.get(
        "https://api.gen202.com/api/v1/jobs/recordInfo",
        headers=headers,
        params={"taskId": task_id},
    ).json()["data"]
    if task["state"] in ("success", "fail"):
        break
    time.sleep(3)

# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
    raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])

# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])

Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в 3 секунды, пока задача не закончится, и разбирает ответ до ссылки на файл. Разборов два, потому что поле resultJson — строка JSON внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её перечислений, поэтому он проходит проверку шлюза как есть. Подставить остаётся только свой ключ. Пример на оболочке разбирает ответ через jq; на Python своего ничего не нужно, кроме requests.

Пример вызова

task.sh
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream/5-pro-image-to-image",
    "input": {
      "prompt": "Сделай фон тёмно-синим, кота не меняй",
      "image_urls": [
        "https://gen202.com/assets/sample-nano-banana-2.jpg"
      ],
      "aspect_ratio": "1:1",
      "quality": "basic"
    }
  }' | jq -r '.data.taskId')

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while true; do
  RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
    -H "Authorization: Bearer sk-ваш-ключ")
  STATE=$(echo "$RECORD" | jq -r '.data.state')
  case "$STATE" in success|fail) break;; esac
  sleep 3
done

# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
#    внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
  if .state == "fail"
  then "отказ \(.failCode): \(.failMsg)"
  else .resultJson | fromjson | .resultUrls[0]
  end'
task.py
import json
import time

import requests

headers = {"Authorization": "Bearer sk-ваш-ключ"}

# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
    "https://api.gen202.com/api/v1/jobs/createTask",
    headers=headers,
    json={
      "model": "seedream/5-pro-image-to-image",
      "input": {
        "prompt": "Сделай фон тёмно-синим, кота не меняй",
        "image_urls": [
          "https://gen202.com/assets/sample-nano-banana-2.jpg"
        ],
        "aspect_ratio": "1:1",
        "quality": "basic"
      }
    },
).json()
task_id = created["data"]["taskId"]

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while True:
    task = requests.get(
        "https://api.gen202.com/api/v1/jobs/recordInfo",
        headers=headers,
        params={"taskId": task_id},
    ).json()["data"]
    if task["state"] in ("success", "fail"):
        break
    time.sleep(3)

# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
    raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])

# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])

Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в 3 секунды, пока задача не закончится, и разбирает ответ до ссылки на файл. Разборов два, потому что поле resultJson — строка JSON внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её перечислений, поэтому он проходит проверку шлюза как есть. Заменить в нём нужно два значения: свой ключ и ссылку на изображение — в примере стоит образец с нашего сайта. Пример на оболочке разбирает ответ через jq; на Python своего ничего не нужно, кроме requests.

POST https://api.gen202.com/api/v1/jobs/createTask
GET https://api.gen202.com/api/v1/jobs/recordInfo?taskId=…

Генерация занимает десятки секунд, поэтому изображение не приходит в ответ на запрос. Первый вызов ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком Authorization: Bearer sk-… и выпускается в кабинете. На один ключ шлюз пропускает 30 постановок задачи и 300 запросов состояния в минуту.

Поля запроса

Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне перечисления возвращают 422 и кредитов не тратят.

ПолеТипОбяз.Допустимые значения
model текст обязательное seedream/5-lite-text-to-image
input объект обязательное Параметры генерации — поля из таблицы ниже

Поля input

ПолеТипОбяз.Допустимые значения
prompt текст обязательное от 3 до 3 000 символов
aspect_ratio значение из списка обязательное 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9
quality значение из списка обязательное basic · high · ultra
output_format значение из списка опц. png · jpeg
nsfw_checker да или нет опц. true или false

Поля запроса

Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне перечисления возвращают 422 и кредитов не тратят.

ПолеТипОбяз.Допустимые значения
model текст обязательное seedream/5-lite-image-to-image
input объект обязательное Параметры генерации — поля из таблицы ниже

Поля input

ПолеТипОбяз.Допустимые значения
prompt текст обязательное от 3 до 3 000 символов
aspect_ratio значение из списка обязательное 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9
quality значение из списка обязательное basic · high · ultra
image_urls список ссылок обязательное от 1 до 10 ссылок на изображение
output_format значение из списка опц. png · jpeg
nsfw_checker да или нет опц. true или false

Ссылка на изображение принимается только полным адресом на http или https: не длиннее 2048 символов, на общедоступном сайте, без имени и пароля перед адресом и без порта, кроме 80 и 443. Относительный путь, а также адреса внутри сети — localhost, 127.0.0.1, 10.0.0.5, 192.168.1.2 — и имена без точки шлюз отклоняет ответом 422, к поставщику не обращаясь.

Ответ

Оба запроса отвечают одним конвертом: {"code":…,"msg":…,"data":…}, где code повторяет HTTP-статус, а полезное лежит в data. Тот же конверт приходит и при отказе — разбирать две формы ответа не нужно.

/api/v1/jobs/createTask

ПолеТипЧто в нём
data.taskId строка Номер задачи. Больше в ответе ничего нет и быть не может — работа только началась.

/api/v1/jobs/recordInfo

ПолеТипЧто в нём
data.taskId строка Номер задачи — тот же, что вернул createTask.
data.model строка Имя модели в том виде, в каком его прислал клиент.
data.state строка Состояние задачи: waiting, queuing, generating, success или fail.
data.param строка Параметры, с которыми задача создана, — строкой JSON внутри JSON.
data.resultJson строка Результат строкой JSON внутри JSON: {"resultUrls":["https://…"]} — разбирается вторым разбором. До завершения задачи — пустая строка.
data.failCode строка Код неудачи из таблицы ниже. У остальных задач — пустая строка.
data.failMsg строка Причина неудачи словами. Иначе пустая строка.
data.costTime число Сколько задача заняла, миллисекунды. Пока не завершилась — null.
data.completeTime число Когда завершилась, миллисекунды эпохи Unix. Пока не завершилась — null.
data.createTime число Когда создана, миллисекунды эпохи Unix.
data.updateTime число Когда состояние менялось в последний раз, миллисекунды эпохи Unix.
data.creditsConsumed число Сколько кредитов списано. Ноль, пока задача не завершилась, и ноль у неудачной.

Состояния задачи

Состояние лежит в поле state ответа /api/v1/jobs/recordInfo. Первые три означают, что работа идёт: запрос надо повторить примерно через 3 секунды — чаще спрашивать нечего, столько же ждёт между опросами сам шлюз. Два последних состояния окончательные: после них задача не меняется.

stateЧто происходит
waiting Задача принята и стоит в очереди шлюза; поставщику она ещё не отправлена.
queuing Поставщик задачу принял и поставил в свою очередь.
generating Генерация идёт.
success Готово: ссылки на результат лежат в resultJson, в creditsConsumed — сколько списано.
fail Задача не удалась: причина в failCode и failMsg, удержанные кредиты возвращены целиком.

Опрос не бывает бесконечным: задача на изображение живёт не дольше 15 минут, после чего шлюз закрывает её сам состоянием fail и возвращает удержанные кредиты целиком. Причина неудачи приходит двумя полями: failCode из таблицы ниже и failMsg словами.

failCodeЧто произошло
501 Поставщик вернул отказ: генерация не удалась.
408 Результата нет дольше крайнего срока задачи (15 минут для картинки).
404 Поставщик не знает такой задачи.
429 Поставщик отбил создание задачи по своему лимиту.
500 Поломка на нашей стороне; подробности остаются в журнале шлюза.

Ссылка на готовый файл живёт 14 дней — столько его хранит поставщик. Файл, который нужен дольше, скачивайте к себе сразу после того, как задача пришла в состояние success.

Отказы

Тело отказа одно на все случаи: {"code":…,"msg":…,"data":null}. Задача, не дошедшая до результата, не тарифицируется — удержанные кредиты возвращаются целиком.

КодАдресКогда
400 /api/v1/jobs/createTask Тело запроса — не разбираемый JSON.
401 /api/v1/jobs/createTask Ключа нет в заголовке Authorization, либо он неверный или отключён.
402 /api/v1/jobs/createTask Свободных кредитов меньше, чем удерживается под задачу.
403 /api/v1/jobs/createTask Аккаунт заблокирован: вызовы модели, пополнение и загрузка файлов ему закрыты. Ключи при этом не отключены — запрет лежит на аккаунте.
413 /api/v1/jobs/createTask Тело запроса больше 512 КиБ.
415 /api/v1/jobs/createTask Тело отправлено не как application/json или заголовок Content-Type не передан.
422 /api/v1/jobs/createTask Поле model пустое или его имени нет в каталоге, input — не объект, поле не из списка модели либо значение вне её перечисления. В сообщении перечислено, что принимается.
429 /api/v1/jobs/createTask Больше 30 запросов в минуту на один ключ либо больше 50 незавершённых задач на аккаунте.
500 /api/v1/jobs/createTask Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят.
401 /api/v1/jobs/recordInfo Ключа нет в заголовке Authorization, либо он неверный или отключён.
404 /api/v1/jobs/recordInfo Задачи с таким номером нет или она создана другим аккаунтом.
422 /api/v1/jobs/recordInfo Параметр taskId не передан.
429 /api/v1/jobs/recordInfo Больше 300 запросов в минуту на один ключ.
500 /api/v1/jobs/recordInfo Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят.

Пример вызова

task.sh
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream/5-lite-text-to-image",
    "input": {
      "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
      "aspect_ratio": "1:1",
      "quality": "basic"
    }
  }' | jq -r '.data.taskId')

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while true; do
  RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
    -H "Authorization: Bearer sk-ваш-ключ")
  STATE=$(echo "$RECORD" | jq -r '.data.state')
  case "$STATE" in success|fail) break;; esac
  sleep 3
done

# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
#    внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
  if .state == "fail"
  then "отказ \(.failCode): \(.failMsg)"
  else .resultJson | fromjson | .resultUrls[0]
  end'
task.py
import json
import time

import requests

headers = {"Authorization": "Bearer sk-ваш-ключ"}

# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
    "https://api.gen202.com/api/v1/jobs/createTask",
    headers=headers,
    json={
      "model": "seedream/5-lite-text-to-image",
      "input": {
        "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
        "aspect_ratio": "1:1",
        "quality": "basic"
      }
    },
).json()
task_id = created["data"]["taskId"]

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while True:
    task = requests.get(
        "https://api.gen202.com/api/v1/jobs/recordInfo",
        headers=headers,
        params={"taskId": task_id},
    ).json()["data"]
    if task["state"] in ("success", "fail"):
        break
    time.sleep(3)

# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
    raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])

# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])

Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в 3 секунды, пока задача не закончится, и разбирает ответ до ссылки на файл. Разборов два, потому что поле resultJson — строка JSON внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её перечислений, поэтому он проходит проверку шлюза как есть. Подставить остаётся только свой ключ. Пример на оболочке разбирает ответ через jq; на Python своего ничего не нужно, кроме requests.

Пример вызова

task.sh
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream/5-lite-image-to-image",
    "input": {
      "prompt": "Сделай фон тёмно-синим, кота не меняй",
      "aspect_ratio": "1:1",
      "quality": "basic",
      "image_urls": [
        "https://gen202.com/assets/sample-nano-banana-2.jpg"
      ]
    }
  }' | jq -r '.data.taskId')

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while true; do
  RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
    -H "Authorization: Bearer sk-ваш-ключ")
  STATE=$(echo "$RECORD" | jq -r '.data.state')
  case "$STATE" in success|fail) break;; esac
  sleep 3
done

# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
#    внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
  if .state == "fail"
  then "отказ \(.failCode): \(.failMsg)"
  else .resultJson | fromjson | .resultUrls[0]
  end'
task.py
import json
import time

import requests

headers = {"Authorization": "Bearer sk-ваш-ключ"}

# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
    "https://api.gen202.com/api/v1/jobs/createTask",
    headers=headers,
    json={
      "model": "seedream/5-lite-image-to-image",
      "input": {
        "prompt": "Сделай фон тёмно-синим, кота не меняй",
        "aspect_ratio": "1:1",
        "quality": "basic",
        "image_urls": [
          "https://gen202.com/assets/sample-nano-banana-2.jpg"
        ]
      }
    },
).json()
task_id = created["data"]["taskId"]

# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
#    generating означают «работа идёт», success и fail — окончательные
while True:
    task = requests.get(
        "https://api.gen202.com/api/v1/jobs/recordInfo",
        headers=headers,
        params={"taskId": task_id},
    ).json()["data"]
    if task["state"] in ("success", "fail"):
        break
    time.sleep(3)

# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
    raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])

# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])

Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в 3 секунды, пока задача не закончится, и разбирает ответ до ссылки на файл. Разборов два, потому что поле resultJson — строка JSON внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её перечислений, поэтому он проходит проверку шлюза как есть. Заменить в нём нужно два значения: свой ключ и ссылку на изображение — в примере стоит образец с нашего сайта. Пример на оболочке разбирает ответ через jq; на Python своего ничего не нужно, кроме requests.

Чем Seedream 5 Pro отличается от других моделей каталога

Модель Цена от Разрешение Изображений на вход Описание, символов Выпущена
Nano Banana 2 $0.0727,2 ₽ 1K · 2K · 4K 14 20 000 26 февраля 2026
Nano Banana Pro $0.12712,7 ₽ 1K · 2K · 4K 8 10 000 20 ноября 2025
GPT Image 2 $0.077 ₽ 1K · 2K · 4K 16 20 000 21 апреля 2026
GPT Image 2.5 Flare $0.0474,7 ₽ 1K · 2K · 4K 16 20 000 8 сентября 2026
GPT Image 2.5 Sunburst $0.0474,7 ₽ 1K · 2K · 4K 16 20 000 8 сентября 2026
Grok Imagine Image 2.0 $0.0363,6 ₽ 5 000
Seedream 5 Pro $0.04054,05 ₽ 10 5 000
Seedream 5 Lite $0.03153,15 ₽ 10 3 000

Генерацию и правку у Nano Banana 2, Nano Banana Pro и Grok Imagine Image 2.0 делает один идентификатор, а у GPT Image 2, GPT Image 2.5 Flare, GPT Image 2.5 Sunburst, Seedream 5 Pro и Seedream 5 Lite для каждой задачи свой.

Формы кадра 1:4, 1:8, 4:1, 8:1 есть только у Nano Banana 2. Формы кадра 2:1, 1:2, 3:1, 1:3, 9:21 есть только у GPT Image 2.

Отдельная страница сравнения — Nano Banana 2 или GPT Image 2.

Seedream 5 Pro — старшее издание пятого поколения Seedream у ByteDance, объявленное 8 июля 2026 года. Оно рисует по описанию, правит присланное и собирает кадр сразу из нескольких образцов. Одна картинка стоит у GEN202 от 4,05 ₽ до 8,1 ₽ за генерацию, и цену задаёт выбранная ступень качества.

Что ByteDance говорит про Seedream 5 Pro

Разработчик представляет издание одной фразой: «Seedream 5.0 Pro is a multimodal image generation model that features advanced reasoning, efficient content creation, and professional production capabilities.». Перевод наш: «Seedream 5.0 Pro — мультимодальная модель генерации изображений с развитым рассуждением, быстрым созданием содержимого и возможностями для профессионального производства». Страница — страница Seedream 5.0 Pro у команды ByteDance Seed.

В руководстве облачной платформы то же сказано через перечень работ: «Dola Seedream 5.0 pro (hereafter referred to as Seedream 5.0 pro) is designed for high-precision image generation and provides precise control over positions and elements. It supports text-to-image generation, image-to-image generation with one or multiple reference images, interactive editing through coordinates and free-form markings, and decomposing one image into a base image and multiple layers.». Перевод наш: «Dola Seedream 5.0 pro (далее Seedream 5.0 pro) создана для высокоточной генерации изображений и даёт точное управление положением и элементами. Она поддерживает генерацию по тексту, генерацию по одному или нескольким образцам, интерактивную правку по координатам и произвольным пометкам и разбор одного изображения на базовое изображение и несколько слоёв». Страница — руководство BytePlus по Seedream 5.0 pro.

В анонсе выпуска разработчик перечисляет, что подтянуто против прошлых версий: «Compared to previous versions, Seedream 5.0 Pro delivers across-the-board improvements in foundational capabilities such as image-text alignment, structural coherence, text rendering, and visual aesthetics.». Перевод наш: «По сравнению с прошлыми версиями Seedream 5.0 Pro улучшена по всем базовым возможностям: соответствие текста и картинки, согласованность структуры, отрисовка текста, эстетика». Страница — анонс Seedream 5.0 Pro в блоге ByteDance Seed.

Там же он называет и то, что сделано не до конца: «Currently, Seedream 5.0 Pro has made breakthroughs in complex infographic generation and interactive precision editing, but there is still room to improve in finer-grained text rendering and pixel-level editing consistency.». Перевод наш: «Сейчас Seedream 5.0 Pro сделала прорыв в сложной инфографике и интерактивной точной правке, но ещё есть что улучшать в отрисовке мелкого текста и в согласованности правки на уровне пикселей».

Свою цену за картинку ByteDance печатает ступенями: «Single image generation: ≤ 2.61 million pixels (1.5K or lower): 0.045; > 2.61 million pixels (higher than 1.5K): 0.09». Перевод наш: одна картинка до 2,61 миллиона пикселей стоит $0,045, выше этой границы — $0,09. Страница — цены облачной платформы ModelArk.

Слова ByteDance о Seedream 5 Pro приведены по страницам ByteDance и BytePlus на 14 сентября 2026 года.

Для чего ByteDance предлагает Seedream 5 Pro

Задания, на которых разработчик показывает модель, видно по его же примерам описаний. Это учебный плакат с диаграммой, чертёж предмета в нескольких проекциях, раскадровка сцены по кадрам, главный экран интернет-магазина, афиша с текстом и семейная съёмка в интерьере.

Отдельной строкой у него идёт работа с готовой картинкой: перевод надписей на плакате с перестроением вёрстки справа налево, замена материала на одежде, уборка мелких дефектов на лице при сохранении естественной кожи.

Рядом с этими примерами полезно держать соседние модели каталога: правку по присланному файлу делают и Nano Banana 2, и GPT Image 2, а собрана каждая из них вокруг своих задач.

Русские надписи внутри картинки

Русский язык у старшего издания назван разработчиком поимённо. В руководстве BytePlus по Seedream 5.0 pro ByteDance перечисляет языки, на которых Seedream 5 Pro выводит надписи прямо внутри кадра, и русский стоит в этом перечне рядом с испанским, французским, немецким, японским и корейским.

Тем же перечнем описан и язык самого запроса: описание старшему изданию разрешено писать по-русски. Китайский и английский разработчик обещает всем моделям семейства, а остальные языки перечислены именно у Seedream 5 Pro.

Готовую надпись стоит смотреть на полном размере файла. Буквы разбираются при увеличении, а на уменьшенной картинке мелкая подпись сливается — это отмечают и авторы разборов, и сам разработчик в списке ограничений своих моделей.

Что подтянуто против прошлого поколения Seedream

Против прошлых версий у пятого поколения появились возможности, которых в таблице сравнения у Seedream 4.5 и 4.0 стоит прочерк. Модель читает пометки, нарисованные поверх присланной картинки. Она выводит надписи на языках сверх китайского и английского. Она раскладывает одну картинку на отдельные слои — эту работу ByteDance держит самостоятельной задачей, а через GEN202 идут генерация и правка.

Выбор формата готового файла у поколения тоже стал шире: у пятого в таблице разработчика стоят png и jpeg, тогда как у прошлых версий назван один jpeg. В GEN202 оба формата доступны обоим изданиям.

Само поколение ByteDance подписывает в своём списке моделей коротко: выросшая верность образцу и поднявшееся качество генерации под профессиональные задачи. Это его собственная формулировка, замера за ней не стоит.

Seedream 5 Pro или Lite: чем издания различаются

Оба издания пятого поколения рисуют по описанию и правят присланное. Собраны они при этом под разное, и дальше у каждого своё.

Что различаетсяSeedream 5 ProSeedream 5 Lite
Форма кадра и ступень качестваподставляются сами, если их не назватьназываются в каждом запросе
Ступени качестваbasic и highbasic, high и ultra
Уровни разрешения в таблице ByteDanceназваны более мелкиминазваны более крупными
Пометки поверх присланной картинкимодель их читаетместо правки описывают словами
Языки надписей в кадрерусский назван разработчиком в перечнекитайский и английский названы всему семейству

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

Младшее издание — Seedream 5 Lite — берут, когда картинок нужно много и важна цена одной штуки: цена Lite стоит отдельной строкой и от ступени качества не зависит.

Официальное имя Seedream 5 и официальный сайт

Имя семейства встречается в разных написаниях: Seedream 5, Seedream 5.0, ByteDance Seedream, нейросеть Seedream. За всеми ними стоит одна и та же модель, а разработчик зовёт старшее издание Seedream 5.0 Pro и в списке моделей подписывает его карточку как Dola Seedream.

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

GEN202 продаёт доступ к этой модели за рубли. С ByteDance рассчитываемся мы сами, вы платите российскому продавцу, а рисует ту же картинку модель ByteDance. Порядок покупки один на весь каталог и подробно разобран на странице Seedream API.

Работает Seedream на серверах, и обращаются к ней по сети. Обе страницы ByteDance ведут к облачной платформе и к вызову запросом, файла модели для установки на свою машину там не лежит.

Выпуски Seedream 5 Pro и даты по анонсам

У ByteDance старшее издание зовётся Seedream 5.0 Pro, а в документации облачной платформы к имени добавлено слово Dola. Ниже собрано, когда оно вышло, что при этом появилось и под каким именем издание вызывается через GEN202.

Имя у ByteDanceДата по анонсуЧто появилосьИмя для поля model
Seedream 5.0 Pro8 июля 2026Выпуск издания: плотная инфографика, достоверный свет и кожа, надписи на распространённых языкахseedream/5-pro-text-to-image
Dola Seedream 5.0 pro, правка8 июля 2026Точная правка по координатам и произвольным пометкам на присланной картинкеseedream/5-pro-image-to-image

Дата стоит на самом анонсе строкой «Date 2026-07-08», а открывается он так: «Today, we are officially launching our multimodal image creation model, Seedream 5.0 Pro.». Перевод наш: «Сегодня мы официально выпускаем мультимодальную модель создания изображений Seedream 5.0 Pro». Та же дата повторена в списке блога ByteDance Seed подписью «Jul 8, 2026».

Доступность модели для вызова облачная платформа объявила отдельной строкой: «dola-seedream-5-0-pro (Model ID: dola-seedream-5-0-pro-260628) is now available. It is designed for high-precision image editing scenarios and provides more precise control over positions and elements.». Перевод наш: «dola-seedream-5-0-pro (идентификатор dola-seedream-5-0-pro-260628) доступна. Она создана для сценариев высокоточной правки и даёт более точное управление положением и элементами». Страница — руководство ModelArk по генерации изображений. Даты выпуска Seedream 5 Pro приведены по обеим страницам на 14 сентября 2026 года.

Как сделать первый вызов Seedream 5 Pro

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

  1. Опишите картинку связным текстом. Назовите предмет, обстановку, свет и настроение законченными предложениями. ByteDance советует держать описание в пределах небольшого абзаца: на слишком длинном задании внимание модели расходится и часть подробностей теряется.
  2. Поставьте определение рядом со словом. Порядок слов модель читает буквально, и от него зависит, к чему относится признак. Разбор на живом примере показал это на панде: перестановка двух слов дала зелёного гиганта вместо гигантской зелёной зверюги.
  3. Выберите форму кадра. Форма задаётся отдельным полем и подбирается под то место, где картинка потом встанет: лента, обложка, широкий баннер.
  4. Выберите ступень качества. Ступень называется в запросе и влияет на цену: черновые варианты удобно гонять на младшей, а итог собирать на старшей, когда сюжет уже сошёлся.
  5. Добавьте свои картинки. Ссылки на изображения превращают тот же запрос в правку: модель берёт с них предмет, человека, фон, материал или манеру рисунка.
  6. Откройте результат в полную величину. Мелкие подписи, тонкие линии и дальний план разбираются на исходном размере файла, поэтому итог смотрят на нём, а не в уменьшенном виде.

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

Что показали независимые проверки Seedream 5 Pro

Первую проверку не от разработчика выложил 21 июля 2026 года автор канала Joseph Martin. Слабое место он называет так: «the main problem that I'm seeing here are the hands of the welder. Even for like thick gloved hands, these look weird and warpy, which is a common issue that I've seen with SeaDream, and it looks like it's still a thing.». Перевод наш: «Главная проблема, которую я тут вижу, — руки сварщика. Даже для толстых перчаток они выглядят странно и искажённо; это частая беда Seedream, и, похоже, она никуда не делась». Имя модели автоматические субтитры ролика передают с искажением. Ролик — «I Tested Seedream 5.0 Pro so You Don't Have to...».

По освещению тот же автор подвёл итог числом: «on lighting, I wasn't expecting this, but SeaArt Dream actually took three out of four tests.». Перевод наш: «По свету — не ожидал, но Seedream взяла три теста из четырёх». Про мелкую деталь у него вывод обратный: «if you zoom in on the faces of the soldiers, again, these are really crappy. They're total mush. So, overall, Sea Dream seems to really struggle with small details» — перевод наш: «Если приблизить лица солдат — они опять никуда не годятся, сплошная каша. В целом Seedream явно плохо даётся мелкая деталь».

Вторая проверка — архитектурная визуализация, ролик канала VizAcademy UK от 7 августа 2026 года. Автор показывает, что кадр приходится перезапускать: «The building facade is altered, but with a few more attempts, I think it would surely reach the desired effect.» и «In the next generation, C-Dream completely changed the shot, but the light, shadows, and textures look far better than in Nano Banana 2.». Перевод наш: «Фасад здания изменён, но ещё за несколько попыток, думаю, нужный результат точно получился бы»; «В следующей генерации Seedream полностью поменяла кадр, зато свет, тени и текстуры заметно лучше, чем у Nano Banana 2». Ролик — «The New Best AI Engine for Archviz? Seedream v5 vs Nano Banana».

Своё время ответа GEN202 замерил живым вызовом 13 сентября 2026 года: генерация заняла 100 секунд, правка — 161 секунду, параметры брались минимальные — низшее разрешение, короткое описание и один исходник.

Что произошлоЧто помогает
Правка легла не в то местоНарисовать на образце стрелку или обводку и попросить выполнить пометки с картинки
Описание понято не такПереставить слова: определение ставится вплотную к тому слову, к которому относится
Вместе с лишним ушло нужноеНазвать в описании и то, что меняется, и то, что остаётся на месте
После правки сдвинулся ракурсДобавить просьбу сохранить композицию исходного кадра
Предмет вышел похожим, но другимДать его отдельной ссылкой-образцом вместо описания словами

Каждое наблюдение выше — единичная проверка: у авторов свои снимки, свои описания и своя площадка, и замером по общей методике это не является. Работают они как список мест, на которые стоит посмотреть самому.

Сколько стоит генерация Seedream 5 Pro и можно ли попробовать бесплатно

Пополнения на 500 ₽ хватает на 123 генерации Seedream 5 Pro по самой низкой цене модели и на 61 по самой высокой. Приветственных кредитов, которые начисляются при первом входе, хватает на 6 генераций Seedream 5 Pro по низкой цене и на 3 по высокой. Цена одной генерации Seedream 5 Pro зависит от выбранного разрешения.

Начать выходит и до пополнения: первый вход начисляет на счёт 50 приветственных кредитов, и Seedream 5 Pro среди моделей, на которые их разрешено потратить.

Деньги списываются за каждую готовую картинку, и помесячного платежа за модель не возникает. Задача, закончившаяся отказом, остаётся неоплаченной.

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

Правка Seedream 5 Pro по пометкам на картинке

Место правки удобно показать прямо на картинке. Разработчик перечисляет способы: рамка, точка, стрелка, подпись в выноске и координаты — модель находит помеченный участок и делает в нём то, что сказано.

Собственный пример ByteDance устроен ровно так. На снимке комнаты помечены места будущей правки, а описание просит положить в левое стопку журналов, поставить в правое чашку кофе с блюдцем, убрать линии разметки и оставить композицию прежней.

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

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

Правка Seedream 5 Pro по пометкам показана в разборе: Pouya Eti, 20 июля 2026.

Из чего собирается кадр при правке

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

Просьбу сохранить неизменным что-то конкретное стоит писать прямо. Авторы разборов отмечают, что после правки модель иногда берёт другой ракурс, и сохранение композиции лучше назвать словами, а не подразумевать.

Формат готового файла выбирается тем же запросом. Png держит резкими края букв и тонких линий, jpeg выходит легче по весу.

Смена ракурса после правки в Seedream 5 Pro разобрана на живом примере: VizAcademy UK, 7 августа 2026.

Как купить доступ к Seedream 5 Pro API в России, чем платить и как выпустить ключ, подробно написано на странице Seedream API — порядок один для всех моделей каталога.

Seedream 5 Pro API из России

Работать из России можно без VPN, а платить — рублями с карты российского банка. Прямой доступ идёт через биллинг поставщика, и счёт он выставляет в долларах. GEN202 стоит между вами и поставщиком: расчёты с ним наши, вы платите российскому продавцу.

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

Как вызвать Seedream 5 Pro через API из России?
Обычным запросом на api.gen202.com. Это адрес GEN202, а не адрес ByteDance, и VPN для обращения к нему не нужен. Поле model принимает идентификатор режима: генерация из текста (seedream/5-pro-text-to-image), правка изображения (seedream/5-pro-image-to-image). Порядок из двух запросов с примерами кода разобран в документации.
Сколько стоит Seedream 5 Pro
Цена за генерацию Seedream 5 Pro — генерация из текста — от 8.1 кр. (4,05 ₽ · $0.0405) в 1K до 16.2 кр. (8,1 ₽ · $0.081) в 2K; правка изображения — от 8.1 кр. (4,05 ₽ · $0.0405) в 1K до 21 кр. (10,5 ₽ · $0.105) в 2K. Счёт идёт по фактическому расходу, а задача, завершившаяся ошибкой, не тарифицируется.
Нужны ли VPN и иностранная карта для Seedream 5 Pro
Нет, не нужны ни то, ни другое: запрос к Seedream 5 Pro уходит на наш адрес, а не на адрес ByteDance, и договариваться с ByteDance клиенту не о чем. Оплата рублями с карты российского банка.
Что Seedream 5 Pro принимает на вход
Обязательные поля запроса. Генерация из текста: prompt — от 3 до 5 000 символов. Правка изображения: prompt — от 3 до 5 000 символов; image_urls — от 1 до 10 ссылок на изображение. Остальные поля необязательны.
Как подключить Seedream 5 Pro API и сделать первый вызов
Войти на сайт и выпустить ключ в кабинете: при первом входе начисляется 50 кредитов, а сам ключ открывает и Seedream 5 Pro, и остальной каталог. Ни договора с ByteDance, ни его собственного ключа клиенту не нужно. Дальше идут два запроса: первый ставит задачу с идентификатором seedream/5-pro-text-to-image в поле model и отвечает её номером, второй по этому номеру отдаёт состояние задачи и ссылку на результат.

Чем Seedream 5 Lite отличается от других моделей каталога

Модель Цена от Разрешение Изображений на вход Описание, символов Выпущена
Nano Banana 2 $0.0727,2 ₽ 1K · 2K · 4K 14 20 000 26 февраля 2026
Nano Banana Pro $0.12712,7 ₽ 1K · 2K · 4K 8 10 000 20 ноября 2025
GPT Image 2 $0.077 ₽ 1K · 2K · 4K 16 20 000 21 апреля 2026
GPT Image 2.5 Flare $0.0474,7 ₽ 1K · 2K · 4K 16 20 000 8 сентября 2026
GPT Image 2.5 Sunburst $0.0474,7 ₽ 1K · 2K · 4K 16 20 000 8 сентября 2026
Grok Imagine Image 2.0 $0.0363,6 ₽ 5 000
Seedream 5 Pro $0.04054,05 ₽ 10 5 000
Seedream 5 Lite $0.03153,15 ₽ 10 3 000

Генерацию и правку у Nano Banana 2, Nano Banana Pro и Grok Imagine Image 2.0 делает один идентификатор, а у GPT Image 2, GPT Image 2.5 Flare, GPT Image 2.5 Sunburst, Seedream 5 Pro и Seedream 5 Lite для каждой задачи свой.

Формы кадра 1:4, 1:8, 4:1, 8:1 есть только у Nano Banana 2. Формы кадра 2:1, 1:2, 3:1, 1:3, 9:21 есть только у GPT Image 2.

Отдельная страница сравнения — Nano Banana 2 или GPT Image 2.

Seedream 5 Lite — младшее издание того же пятого поколения ByteDance, объявленное 13 февраля 2026 года. Через GEN202 ему заказывают ту же работу: рисование по описанию и переделку присланного кадра. Цена у него одна на все ступени качества — 3,15 ₽ за генерацию.

Что ByteDance говорит про Seedream 5 Lite

Младшее издание разработчик представляет так: «Seedream 5.0 Lite is a unified multimodal image generation model endowed with deep thinking and online search capabilities, featuring an all-round upgrade in its understanding, reasoning and generation capabilities.». Перевод наш: «Seedream 5.0 Lite — единая мультимодальная модель генерации изображений с глубоким рассуждением и поиском по сети, у которой улучшены сразу понимание, рассуждение и генерация». Страница — страница Seedream 5.0 Lite у команды ByteDance Seed.

Главную перемену он отделяет от привычных мерок прямо в анонсе: «The main improvement brought by Seedream 5.0 Lite is not higher resolution or faster speed, but the deep thinking behind "reading", "seeing", "drawing", and "writing".». Перевод наш: «Главное улучшение Seedream 5.0 Lite — не более высокое разрешение и не скорость, а глубокое рассуждение за чтением, зрением, рисованием и письмом». Про сравнение с прошлой версией там же сказано: «In comprehensive evaluations, Seedream 5.0 Lite's Elo score exceeds Seedream 4.5, with significant improvements in knowledge reasoning, editing response, and consistency.» — перевод наш: «В сводных оценках рейтинг Elo у Seedream 5.0 Lite выше, чем у Seedream 4.5, заметно улучшены рассуждение на знаниях, отклик на правку и согласованность». Страница — анонс Seedream 5.0 Lite в блоге ByteDance Seed.

Чего изданию не хватает, разработчик называет сам, в том же анонсе: «Seedream 5.0 Lite is a relatively small model, and there is still room for improvement in structural stability, realism, and aesthetics.». Перевод наш: «Seedream 5.0 Lite — сравнительно небольшая модель, и ей есть куда расти в устойчивости структуры, реализме и эстетике». Чисел рядом с этой оценкой у него нет.

Свою цену за картинку облачная платформа печатает одной строкой таблицы: «seedream-5-0-lite-260128 | Free | 0.035», то есть входные картинки не тарифицируются, а готовая стоит $0,035. Страница — страница цен облачной платформы ModelArk.

Слова ByteDance о Seedream 5 Lite приведены по его страницам на 14 сентября 2026 года.

Что показали независимые проверки Seedream 5 Lite

Разбор именно младшего издания выложил 25 февраля 2026 года автор канала Joseph Martin. Порядок слов в описании он проверил на живом примере и назвал результат дословно: «It gave me a green giant panda and not a giant green panda.». Перевод наш: «Она дала мне зелёную большую панду, а не гигантскую зелёную панду». Ролик — «I Tested SeeDream 5.0 Lite so You Don't Have To...».

У младшего издания наша проверка 13 сентября 2026 года дала 55 секунд на генерацию и 52 секунды на правку — тем же живым вызовом и с теми же минимальными параметрами.

Что Seedream 5 Lite делает по-своему

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

Набор ступеней качества у Lite шире, чем у Seedream 5 Pro: к basic и high добавлена ultra. Цена картинки от выбранной ступени не зависит и стоит в таблице одной строкой.

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

Как написать описание для Seedream 5 Lite

Описание модель читает целиком и буквально, поэтому собирают его по порядку — от главного к подробностям.

Примеры описаний для Seedream 5 Lite взяты из разборов: Joseph Martin, 25 февраля 2026, Pouya Eti, 20 июля 2026.

  1. Поставьте предмет и действие в начало. Первым называют то, что должно оказаться в кадре, и что оно делает. Свет, стиль, время суток и настроение идут следом.
  2. Держите определение рядом со своим словом. Признак модель относит к ближайшему слову, поэтому от порядка слов зависит, что окажется в кадре. Проверяйте этот порядок всякий раз, когда признаков в описании несколько подряд.
  3. Назовите форму кадра. Поле обязательное, и значение подбирают под то место, где картинка встанет: квадрат под ленту, вертикаль под телефон, широкий кадр под обложку.
  4. Назовите ступень качества. Поле тоже обязательное. Ступень выбирают под задачу: на младшей удобно перебирать варианты, на старшей собирать итог.
  5. Скажите, что остаётся на месте. Запрет модель понимает узко: просьба убрать надписи с вывесок сняла буквы и оставила сами вывески. Что должно уйти и что сохраниться, надёжнее назвать по отдельности.
  6. Посмотрите готовый файл крупно. Буквы, тонкие линии и дальний план разбираются только на исходном размере картинки.

Надписи внутри кадра авторы разборов у этого поколения хвалят: на своих примерах они не находили опечаток, а шрифт на упаковке и подписи на графике выходили читаемыми. Наблюдения единичные, замера за ними нет.

Выпуски Seedream 5 Lite и даты по анонсам

У ByteDance это издание называется Seedream 5.0 Lite, а в документации облачной платформы за ним закреплены сразу два идентификатора. Ниже собрано, когда издание вышло, что при этом появилось и каким именем оно вызывается через GEN202.

Имя у ByteDanceДата по анонсуЧто появилосьИмя для поля model
Seedream 5.0 Lite13 февраля 2026Выпуск издания: глубокое рассуждение над заданием и поиск по сетиseedream/5-lite-text-to-image
seedream-5-0-lite-260128, правка13 февраля 2026Переделка присланного кадра по описанию и по образцамseedream/5-lite-image-to-image

Дата стоит на анонсе строкой «Date 2026-02-13», а сам анонс начинается словами: «Today, we introduce the latest intelligent image creation model, Seedream 5.0 Lite.». Перевод наш: «Сегодня мы представляем новейшую умную модель создания изображений Seedream 5.0 Lite». Там же названо и прошлое поколение: «In September last year, we launched Seedream 4.0, a unified image creation model that combined some common sense and reasoning capabilities, which received positive feedback from many users.» — перевод наш: «В сентябре прошлого года мы выпустили Seedream 4.0 — единую модель создания изображений с зачатками здравого смысла и рассуждения, которую многие пользователи приняли хорошо». Обе строки о Seedream 5 Lite приведены по этой странице на 14 сентября 2026 года.

Правка присланного в Seedream 5 Lite

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

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

Точная подстановка предмета удаётся лучше, когда он дан отдельной картинкой. Описание словами модель толкует сама, а по образцу переносит то, что на нём видно.

С чего начать работу с Seedream 5 Lite

Попробовать модель выходит до первого пополнения: вход начисляет на счёт 50 приветственных кредитов, и младшее издание входит в число моделей, на которые их тратят.

Оплата идёт по факту: деньги списываются за каждую готовую картинку. Цена одной генерации у правки считается так же, как у генерации с нуля.

Тем же ключом открывается и старшее издание, так что сравнить оба на своей задаче выходит без отдельной регистрации.

Как купить доступ к Seedream 5 Lite API в России, чем платить и как выпустить ключ, подробно написано на странице Seedream API — порядок один для всех моделей каталога.

Seedream 5 Lite API из России

Работать из России можно без VPN, а платить — рублями с карты российского банка. Прямой доступ идёт через биллинг поставщика, и счёт он выставляет в долларах. GEN202 стоит между вами и поставщиком: расчёты с ним наши, вы платите российскому продавцу.

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

Как вызвать Seedream 5 Lite через API из России?
Обычным запросом на api.gen202.com. Это адрес GEN202, а не адрес ByteDance, и VPN для обращения к нему не нужен. Поле model принимает идентификатор режима: генерация из текста (seedream/5-lite-text-to-image), правка изображения (seedream/5-lite-image-to-image). Порядок из двух запросов с примерами кода разобран в документации.
Сколько стоит Seedream 5 Lite
Цена за генерацию Seedream 5 Lite — 6.3 кр. (3,15 ₽ · $0.0315). Счёт идёт по фактическому расходу, а задача, завершившаяся ошибкой, не тарифицируется.
Нужны ли VPN и иностранная карта для Seedream 5 Lite
Нет, не нужны ни то, ни другое: запрос к Seedream 5 Lite уходит на наш адрес, а не на адрес ByteDance, и договариваться с ByteDance клиенту не о чем. Оплата рублями с карты российского банка.
Что Seedream 5 Lite принимает на вход
Обязательные поля запроса. Генерация из текста: prompt — от 3 до 3 000 символов; aspect_ratio — 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9; quality — basic · high · ultra. Правка изображения: prompt — от 3 до 3 000 символов; aspect_ratio — 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 2:3 · 3:2 · 21:9; quality — basic · high · ultra; image_urls — от 1 до 10 ссылок на изображение. Остальные поля необязательны.
Как подключить Seedream 5 Lite API и сделать первый вызов
Войти на сайт и выпустить ключ в кабинете: при первом входе начисляется 50 кредитов, а сам ключ открывает и Seedream 5 Lite, и остальной каталог. Ни договора с ByteDance, ни его собственного ключа клиенту не нужно. Дальше идут два запроса: первый ставит задачу с идентификатором seedream/5-lite-text-to-image в поле model и отвечает её номером, второй по этому номеру отдаёт состояние задачи и ссылку на результат.