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).
кр. — кредиты, покупаются за рубли.
работает
работает
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).
кр. — кредиты, покупаются за рубли.
работает
работает
Песочница
Ещё настройки
Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.
{ "model": "seedream/5-pro-text-to-image", "input": { "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет", "aspect_ratio": "1:1", "quality": "basic" } }
{
"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
}
}
Ещё настройки
Войдите и получите 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" } }
{
"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
}
}
Ещё настройки
Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.
{ "model": "seedream/5-lite-text-to-image", "input": { "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет", "aspect_ratio": "1:1", "quality": "basic" } }
{
"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
}
}
Ещё настройки
Войдите и получите 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" ] } }
{
"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
Генерация занимает десятки секунд, поэтому изображение не приходит в ответ на запрос. Первый вызов
ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда
она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком
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 | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
Пример вызова
# 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'
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.
Пример вызова
# 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'
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.
Генерация занимает десятки секунд, поэтому изображение не приходит в ответ на запрос. Первый вызов
ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда
она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком
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 | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
Пример вызова
# 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'
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.
Пример вызова
# 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'
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 Pro | Seedream 5 Lite |
|---|---|---|
| Форма кадра и ступень качества | подставляются сами, если их не назвать | называются в каждом запросе |
| Ступени качества | basic и high | basic, 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 Pro | 8 июля 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
Работает модель прямо здесь, устанавливать нечего. Порядок один и тот же для генерации с нуля и для правки присланного: меняется набор заполненных полей.
- Опишите картинку связным текстом. Назовите предмет, обстановку, свет и настроение законченными предложениями. ByteDance советует держать описание в пределах небольшого абзаца: на слишком длинном задании внимание модели расходится и часть подробностей теряется.
- Поставьте определение рядом со словом. Порядок слов модель читает буквально, и от него зависит, к чему относится признак. Разбор на живом примере показал это на панде: перестановка двух слов дала зелёного гиганта вместо гигантской зелёной зверюги.
- Выберите форму кадра. Форма задаётся отдельным полем и подбирается под то место, где картинка потом встанет: лента, обложка, широкий баннер.
- Выберите ступень качества. Ступень называется в запросе и влияет на цену: черновые варианты удобно гонять на младшей, а итог собирать на старшей, когда сюжет уже сошёлся.
- Добавьте свои картинки. Ссылки на изображения превращают тот же запрос в правку: модель берёт с них предмет, человека, фон, материал или манеру рисунка.
- Откройте результат в полную величину. Мелкие подписи, тонкие линии и дальний план разбираются на исходном размере файла, поэтому итог смотрят на нём, а не в уменьшенном виде.
Ставится задача и забирается результат двумя запросами: первый отвечает номером задачи, второй по этому номеру отдаёт ссылку на файл. Порядок вызова один для всех моделей каталога.
Что показали независимые проверки 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 из России?
Сколько стоит Seedream 5 Pro
Нужны ли VPN и иностранная карта для Seedream 5 Pro
Что Seedream 5 Pro принимает на вход
Как подключить Seedream 5 Pro API и сделать первый вызов
Чем 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.
- Поставьте предмет и действие в начало. Первым называют то, что должно оказаться в кадре, и что оно делает. Свет, стиль, время суток и настроение идут следом.
- Держите определение рядом со своим словом. Признак модель относит к ближайшему слову, поэтому от порядка слов зависит, что окажется в кадре. Проверяйте этот порядок всякий раз, когда признаков в описании несколько подряд.
- Назовите форму кадра. Поле обязательное, и значение подбирают под то место, где картинка встанет: квадрат под ленту, вертикаль под телефон, широкий кадр под обложку.
- Назовите ступень качества. Поле тоже обязательное. Ступень выбирают под задачу: на младшей удобно перебирать варианты, на старшей собирать итог.
- Скажите, что остаётся на месте. Запрет модель понимает узко: просьба убрать надписи с вывесок сняла буквы и оставила сами вывески. Что должно уйти и что сохраниться, надёжнее назвать по отдельности.
- Посмотрите готовый файл крупно. Буквы, тонкие линии и дальний план разбираются только на исходном размере картинки.
Надписи внутри кадра авторы разборов у этого поколения хвалят: на своих примерах они не находили опечаток, а шрифт на упаковке и подписи на графике выходили читаемыми. Наблюдения единичные, замера за ними нет.
Выпуски Seedream 5 Lite и даты по анонсам
У ByteDance это издание называется Seedream 5.0 Lite, а в документации облачной платформы за ним закреплены сразу два идентификатора. Ниже собрано, когда издание вышло, что при этом появилось и каким именем оно вызывается через GEN202.
| Имя у ByteDance | Дата по анонсу | Что появилось | Имя для поля model |
|---|---|---|---|
| Seedream 5.0 Lite | 13 февраля 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 стоит между вами и поставщиком: расчёты с ним наши, вы платите российскому продавцу.