
API фотографии товаров: одно фото — изображения для маркетплейса
API для фотографии товаров: сохраняет идентичность продукта, начинается с 1K, проверяет каждый результат, отслеживает стоимость одобренного изображения.
Одной обычной фотографии товара достаточно для ограниченного набора фото товаров спереди или в три четверти оборота, если API просят изменить набор, а не переизобретать сам товар. Практический рабочий процесс прост: распишите детали, которые не должны менять, сгенерируйте один дешёвый кандидат в 1K, отклоните его по чеклисту, и повышайте качество или меняйте модель только для названной ошибки.
Последний пункт важен. Вызов модели может завершиться успешно и при этом отдать вам крышку другой формы, размытый логотип или тень, из-за которой предмет парит. Число, которое стоит отслеживать, поэтому не объявленная цена генерации. Это стоимость за одобренное изображение, включая каждый завершённый кандидат, который вы отклонили.
Тарифы в этом руководстве проверены 3 сентября 2026 года. Они могут измениться, поэтому посмотрите актуальную страницу модели перед тем, как превратить их в смету клиента или жёсткий лимит бюджета.
TL;DR
- Начните с фотографии товара, которой вы владеете, показывающей один предмет без помех под углом, под которым вы хотите его продавать.
- Распишите контракт идентичности на форму, пропорции, материал, границы цвета, фурнитуру и существующие отметки ярлыков. Пусть сцена меняется; пусть эти детали не меняются.
- Самый дешёвый первый проход здесь — Nano Banana 2 Lite за 15 кредитов, или $0.015, за одно завершённое изображение 1K при проверке 3 сентября 2026 года.[1]
- Используйте один кандидат для проверки промпта. Не заказывайте батч перед тем, как товар пройдёт проверку.
- Прочитайте установленный
usage.creditsиз каждой завершённой задачи. Разделите общее количество списанных кредитов за завершённые попытки на количество одобренных изображений. - Держите точные цены, дозировку, ингредиенты, сертификационные отметки и юридический текст вне сгенерированных пикселей. Сохраняйте или компонуйте проверенные произведения.
Фотография товара не готова к маркетплейсу просто потому, что она выглядит отполированной
Могут ли пользователи загрузить простую фотографию товара и получить чистое изображение для e-commerce без изменения формы, повреждённого текста этикетки, искусственного освещения и непоследовательных результатов? Стоимость важна, потому что каждый отклонённый результат может потребовать ещё одной генерации.
Это лучшее определение проблемы, чем «сделайте эту фотографию профессиональной». Актив, готовый к маркетплейсу, должен пройти наблюдаемые проверки:
| Проверка | Условие прохождения | Отклонить, если |
|---|---|---|
| Количество товара | Ровно один запрошенный предмет | Появляется дубликат, крышка или незакреплённая часть |
| Геометрия | Силуэт и пропорции совпадают с источником | Меняется крышка, ручка, помпа, край или ширина упаковки |
| Материал | Отделка и текстура остаются узнаваемыми | Матовое становится глянцевым, прозрачное становится непрозрачным или исчезает зернистость |
| Цвет | Блоки цвета товара остаются на прежних местах | Баланс белого меняет товар, а не сцену |
| Ярлык | Существующие отметки остаются на месте и не появляются новые заявления | Слова мутируют, исчезают или выдуманы |
| Кадрирование | Весь предмет виден с полезным безопасным пространством | Обрезаны основание, крышка, ручка или тень |
| Привязка | Контактная тень согласует поверхность и свет | Предмет парит или отбрасывает невозможную тень |
| Доставка | Соотношение сторон, размер пикселей и формат файла подходят для места назначения | Файл нуждается в небезопасном обрезе или имеет неиспользуемые края |
Красивое изображение может не пройти эту таблицу. И наоборот, сдержанная белая развёртка, которая сохраняет каждый факт товара, может быть более ценным активом.
Выбирайте модель по ошибке, которую вы должны исправить
Нет универсальной «лучшей модели фотографии товаров». Начните с самого дешёвого маршрута, который может выразить правку, потом двигайтесь только когда обзор скажет вам, почему первый маршрут недостаточен.
| Этап | Модель и уровень запроса | Текущий тариф генерации | Используйте, если |
|---|---|---|---|
| Проход раскладки | nano-banana-2-lite, 1K | $0.015 / 15 кредитов | Один источник, одна простая смена фона и освещения |
| Гибкое редактирование | gpt-image-2, 1K | $0.030 / 30 кредитов | Вам нужны больше вариантов соотношения сторон или целевой рабочий процесс редактирования |
| Производственный кадр | doubao-seedream-5-0-pro, базовый 1K | $0.032 / 32 кредита | Материал, освещение, композиция или управление несколькими ссылками — это сложная часть |
| Комплексный или более крупный актив | gemini-3-pro-image-preview, 1K или 2K | $0.030 / 30 кредитов | Бриф плотный, ссылок много, или позже оправдан проход 4K |
Это текущие тарифы reAPI, не список цен поставщика. Nano Banana 2 Lite возвращает одно изображение 1K и принимает до десяти публичных ссылок на изображения. GPT Image 2 предлагает уровни 1K, 2K и 4K. Seedream 5.0 Pro предлагает базовый 1K и высокий выход 2K с до десятью ссылками. Nano Banana Pro также достигает 4K; его установленная цена 4K была $0.033, или 33 кредита, на ту же дату.[1][2][3][4]
Лейблы этапов — это рекомендации рабочего процесса, а не рейтинги поставщиков. ByteDance позиционирует Seedream 5.0 Pro вокруг структурной согласованности, контроля материала и освещения, слияния нескольких изображений и ориентированного на производство редактирования; исходная фотография и ваш тест приёмки по-прежнему решают, помогают ли эти способности этому конкретному товару.[8]
Разрешение — это не инструмент для исправления неправильной геометрии. Если черновой вариант 1K меняет крышку, повторный запуск 4K может дать вам более резкую неправильную крышку. Сначала исправьте инструкцию идентичности или добавьте полезную ссылку. Повышайте разрешение только после того, как композиция и товар пройдут.
Для более широкого сравнения способностей используйте полное сравнение GPT Image 2 versus Nano Banana Pro или сравнение Seedream 5.0 Pro versus GPT Image 2. Остаток этого руководства остаётся при задаче фотографии товара.
Подготовьте исходную фотографию перед тем, как потратить кредит
Подтвердите, что вы владеете источником или имеете разрешение на его преобразование перед отправкой. Не предполагайте, что листинг маркетплейса, другой каталог или загрузка клиента очищены для нового коммерческого актива; проверьте применимую лицензию, условия и согласие клиента.
Источнику не нужен студийный фон. Ему нужно сделать товар разборчивым:
- показать один полный предмет, включая его основание и верх;
- использовать тот же широкий угол, который вы хотите в результате;
- держать пальцы, ленту, блики и реквизит подальше от важных краёв;
- избегать сплющённых чёрных цветов и пересвеченных бликов, которые скрывают материал;
- сделать крышку, ручку, помпу, застёжку и границы цвета легко проверяемыми;
- поставить другой принадлежащий вам угол, когда запрошенный результат обнажает сторону, которую первая фотография не показывает.
Одна фотография — это не 3D модель. Она не может доказать, что напечатано на скрытой задней панели или как формируется неиспользуемый механизм. Когда доказательства отсутствуют, либо захватите другую ссылку, либо держите эту поверхность вне поля зрения.
API принимает медиа как публичные URL HTTP(S). Строки Base64 и URL data: отклоняются, поэтому сначала загрузите источник в своё хранилище R2, S3 или эквивалент.[1]
Напишите контракт идентичности товара
Перед написанием визуального промпта превратите источник в короткую запись проверки. Это не ещё проза для модели; это спецификация, которую будут использовать и промпт, и рецензент.
{
"product": "флакон по 250 мл для ухода за кожей",
"must_keep": [
"ровно один флакон",
"высокий скруглённо-прямоугольный силуэт",
"короткая матовая белая помпа",
"кобальтовая полоса в нижней четверти",
"тёплое белое тело с атласной отделкой",
"положение фронтального ярлыка и все существующие отметки",
"соотношение высоты и ширины"
],
"may_change": [
"фон",
"поверхность",
"направление освещения",
"контактная тень",
"пространство кадрирования"
],
"must_not_create": [
"новые слова или логотипы",
"ценник или значок скидки",
"ингредиенты или утверждение о сертификации",
"дополнительный флакон, крышку, помпу или упаковку"
]
}«Держите это согласованным» не даёт рецензенту ничего на что указать. «Кобальтовая полоса остаётся в нижней четверти» даёт.
Постройте первый промпт для фотографии товара
Поставьте на первое место непреодолимую идентичность, потом скажите, что может измениться, потом опишите снимок. Модели, как правило, следуют конкретной границе лучше, чем длинный список прилагательных фотографии.
Используйте Image 1 как точную идентичность товара.
Держите ровно один товар. Сохраняйте его силуэт, размеры, положение помпы,
тёпло-белый атласный материал, кобальтовую границу цвета, текстуру поверхности и каждую
существующую отметку ярлыка. Не переделывайте, не переэтикетируйте, не удаляйте и не добавляйте брендинг.
Меняйте только сцену: расположите товар по центру на тёплой белой бесшовной студийной развёртке. Используйте большой мягкий ключевой свет сверху слева, чётокие фронтальные детали
и естественную контактную тень прямо под флаконом. Держите весь товар видимым с минимум 10% пространством кадрирования со всех сторон.
Без рук, людей, реквизита, коробок, дополнительных товаров, добавленного текста, значков, драматичных отражений, обрезанных краёв или парящего предмета.Промпт не просит модель улучшать ярлык. Если типография ярлыка коммерчески важна, «улучшение» — это приглашение переделать его. Сохраняйте исходную пластину или добавляйте проверенное произведение после генерации.
Отправьте свою первую задачу API фотографии товара
Создайте ключ API для медиа, замените примерный URL на ваше публичное исходное изображение и отправьте одну задачу Nano Banana 2 Lite. Это платный запрос; это сознательно один кандидат, а не батч.
curl https://reapi.ai/api/v1/images/generations \
-H "Authorization: Bearer $REAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2-lite",
"prompt": "Use Image 1 as the exact product identity. Keep exactly one product. Preserve its silhouette, dimensions, pump position, material, color boundaries, surface texture, and every existing label mark. Do not redesign, relabel, remove, or add branding. Change only the setting: center it on a warm-white seamless studio sweep with a soft key light from upper left and a natural contact shadow. Keep the whole product visible with at least 10% crop room. No hands, people, props, extra products, added text, badges, clipped edges, or floating object.",
"image_urls": ["https://assets.example.com/my-product.jpg"],
"aspect_ratio": "1:1"
}'Ответ содержит id и status: "processing". Сохраните ID. Потом опрашивайте конечную точку задачи каждые две или три секунды, пока она не достигнет completed или failed:
TASK_ID="task_replace_me"
curl "https://reapi.ai/api/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $REAPI_API_KEY"Опрос не потребляет кредиты. Завершённая задача изображения возвращает файл в output.image_urls и установленный платёж в usage.credits.[5]
Не слепо повторяйте POST, если клиент теряет соединение перед чтением ответа. Первый запрос уже может создать платную задачу. Логируйте ответ и ID задачи, как только они поступают; повторно опрашивайте GET безопасно, но примите сознательное решение перед созданием другой генерации.
Полный runner Node.js с ограниченным опросом
Следующий скрипт работает в Node.js 20 или позже без SDK. Он поддерживает четыре формы запроса 1K, использованные в этом руководстве, отправляет ровно один раз, использует пятиминутный локальный дедлайн опроса, выводит установленные кредиты и копирует успешный файл в текущую директорию.
import { writeFile } from 'node:fs/promises';
const apiKey = process.env.REAPI_API_KEY;
const sourceUrl = process.env.SOURCE_IMAGE_URL;
const model = process.env.IMAGE_MODEL || 'nano-banana-2-lite';
if (!apiKey || !sourceUrl) {
throw new Error('Set REAPI_API_KEY and SOURCE_IMAGE_URL first.');
}
const prompt = `Use Image 1 as the exact product identity.
Keep exactly one product. Preserve its silhouette, proportions, hardware,
material, color boundaries, surface texture, and every existing label mark.
Do not redesign, relabel, remove, or add branding.
Change only the setting: center it on a warm-white seamless studio sweep with
a soft key light from upper left and a natural contact shadow. Keep the whole
product visible with at least 10% crop room. No hands, people, props, added
text, badges, extra products, clipped edges, or floating object.`;
function requestBody(selectedModel) {
const common = {
model: selectedModel,
prompt,
image_urls: [sourceUrl],
};
if (selectedModel === 'nano-banana-2-lite') {
return { ...common, aspect_ratio: '1:1' };
}
if (selectedModel === 'gpt-image-2') {
return { ...common, size: '1:1', resolution: '1k' };
}
if (selectedModel === 'doubao-seedream-5-0-pro') {
return { ...common, aspect_ratio: '1:1', quality: 'basic' };
}
if (selectedModel === 'gemini-3-pro-image-preview') {
return { ...common, size: '1:1', resolution: '1k' };
}
throw new Error(`Unsupported IMAGE_MODEL: ${selectedModel}`);
}
const headers = {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
};
async function readJson(response) {
const body = await response.json();
if (!response.ok) {
const message = body.error?.message || JSON.stringify(body);
throw new Error(`HTTP ${response.status}: ${message}`);
}
return body;
}
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function getTask(taskId) {
for (let attempt = 0; attempt < 4; attempt += 1) {
let response;
try {
response = await fetch(`https://reapi.ai/api/v1/tasks/${taskId}`, {
headers: { Authorization: `Bearer ${apiKey}` },
signal: AbortSignal.timeout(15_000),
});
} catch (error) {
if (attempt === 3) throw error;
await sleep(1000 * 2 ** attempt);
continue;
}
if (response.status === 429) {
const seconds = Number(response.headers.get('retry-after'));
await response.body?.cancel();
await sleep(Number.isFinite(seconds) ? seconds * 1000 : 5000);
continue;
}
if ([502, 503, 504].includes(response.status)) {
await response.body?.cancel();
await sleep(1000 * 2 ** attempt);
continue;
}
return readJson(response);
}
throw new Error(`Task ${taskId} could not be read after transient errors`);
}
// Submit once. If this connection fails ambiguously, reconcile before
// re-running the script: the server may already have accepted the task.
const submission = await readJson(
await fetch('https://reapi.ai/api/v1/images/generations', {
method: 'POST',
headers,
body: JSON.stringify(requestBody(model)),
signal: AbortSignal.timeout(30_000),
}),
);
console.log(`submitted ${submission.id}`);
const deadline = Date.now() + 5 * 60 * 1000;
let task;
while (Date.now() < deadline) {
await sleep(3000);
task = await getTask(submission.id);
if (task.status === 'completed' || task.status === 'failed') break;
}
if (!task || task.status === 'processing') {
throw new Error(
`Local polling deadline reached. Resume GET for ${submission.id}; do not POST again.`,
);
}
console.log(`status=${task.status} credits=${task.usage.credits}`);
if (task.status === 'failed') {
const credits = task.usage?.credits ?? 'unknown';
throw new Error(
`${task.error?.code || 'task_failed'}: ${task.error?.message || 'unknown error'}; task=${task.id}; settled_credits=${credits}`,
);
}
const outputUrl = task.output?.image_urls?.[0];
if (!outputUrl) throw new Error('Task completed without an image URL.');
const imageResponse = await fetch(outputUrl, {
signal: AbortSignal.timeout(30_000),
});
if (!imageResponse.ok) {
throw new Error(`Image download failed: HTTP ${imageResponse.status}`);
}
const contentType = (imageResponse.headers.get('content-type') || '')
.split(';')[0]
.trim()
.toLowerCase();
const extensionByType = {
'image/jpeg': 'jpg',
'image/png': 'png',
'image/webp': 'webp',
};
const extension = extensionByType[contentType];
if (!extension) throw new Error(`Unexpected output type: ${contentType}`);
const outputPath = `product-candidate.${extension}`;
await writeFile(outputPath, Buffer.from(await imageResponse.arrayBuffer()));
console.log(`saved ${outputPath} from ${outputUrl}`);Запустите это так:
export REAPI_API_KEY="rk_live_replace_me"
export SOURCE_IMAGE_URL="https://assets.example.com/my-product.jpg"
export IMAGE_MODEL="nano-banana-2-lite"
node product-photo.mjsЧтобы попробовать GPT Image 2, Seedream 5.0 Pro или Nano Banana Pro после обзора, измените только IMAGE_MODEL. Построитель запроса поставляет правильное поле размера для каждой модели.
Что вернул один живой 15-кредитный тест

3 сентября 2026 года мы отправили одно размещённое в reAPI исходное PNG размером 2,048 × 1,152 через точный запрос Nano Banana 2 Lite выше с квадратным соотношением выхода.
Задача task_01a065bb951c735fab44b38c778e069e завершилась, вернула одно JPEG размером 1,024 × 1,024 и установилась на 15 кредитов ($0.015). URL изображения был загружаемым без аутентификации при проверке.
Результат сделал то, что предназначен для первого прохода тестирования: он сохранил одну кружку, показал полный контур и отверстие ручки, удалил книги и растение, и поместил товар на нейтральную развёртку с контактной тенью. Он также изменил маленькие глазури крапинки и отражения. Это делает его полезным кандидатом раскладки, а не доказательством того, что уникальный изделие ручной работы осталось пиксель-идентичным. Один запуск проверяет форму запроса, форму выхода и платёж; он не устанавливает задержку, коэффициент приёмки или победителя модели.[1]
Проверьте первый результат на 100% размере
Не решайте по миниатюре. Откройте источник и кандидат рядом, приблизьте к 100% и заполните запись вроде этой:
{
"task_id": "task_replace_me",
"decision": "reject",
"passed": [
"один товар",
"полный кадр",
"фон",
"контактная тень"
],
"failed": [
"помпа стала выше",
"нижняя кобальтовая полоса сдвинулась вверх"
],
"usage_credits": 15,
"reviewer": "инициалы",
"prompt_revision": 1
}Проверьте контур в первую очередь. Потом сравните неподвижные ориентиры: высоту крышки, отверстие ручки, углы, швы, количество кнопок, границы цвета, положение ярлыка и отделку поверхности. Прочитайте каждое видимое слово. И наконец проверьте обрезку и тень.
Этот порядок сознательный. Вкусная настройка освещения не должна убеждать вас одобрить другой товар.
Повторите одно неудачное условие, не весь бриф
«Попробуйте ещё раз» ничему не учит. Нести переходящие части вперёд и меняйте одну инструкцию, связанную с ошибкой.
| Ошибка | Лучший следующий ход |
|---|---|
| Крышка или ручка меняются | Назовите её положение и пропорции; добавьте другой принадлежащий вам вид, если форма закрыта |
| Товар становится слишком глянцевым | Укажите наблюдаемую отделку и удалите слова типа «люкс блеск» |
| Буквы ярлыка мутируют | Отклоните пиксели ярлыка; сохраняйте или компонуйте проверенное произведение вместо повторного запроса новой копии |
| Предмет парит | Запросите контактную тень прямо под ним и плоскость поверхности у основания |
| Кадрирование обрезает товар | Требуйте полный предмет плюс числовой безопасный запас |
| Остатки фона остаются | Используйте вырезание и детерминированный шаблон вместо повторного запроса генератору |
| Сдвиг цвета | Опишите цвет товара как фиксированный и сделайте запрошенный свет нейтральным |
Дайте почти правильной модели одну целевую повторную попытку. Если то же самое условие идентичности не проходит снова, измените метод: предоставьте лучшую ссылку, используйте локализованное редактирование или сохраняйте исходные пиксели товара и перестраивайте только фон. Справочник background removal API pricing показывает, как оценить этот детерминированный маршрут.
Рассчитайте, что стоит одобренное изображение на самом деле
Один кредит — это $0.001. Полезная формула:
стоимость за одобренное изображение =
сумма установленных кредитов для завершённых творческих попыток × $0.001
-----------------------------------------------------------------
количество одобренных изображенийПредположим, три задачи Nano Banana 2 Lite завершены по 15 кредитов каждая. Вы отклоняете две за дрейф товара и одобряете одну:
(15 + 15 + 15) × $0.001 / 1 одобренное изображение = $0.045Цена единицы API по-прежнему $0.015. Стоимость за одобренное изображение $0.045. Оба числа верны; они отвечают на разные вопросы.
Отказы поставщика обычно устанавливаются на ноль кредитов после возврата резервирования. Завершённые изображения, которые вы отклоняете творчески, остаются оплачены. Проверка безопасности после генерации, специфичная для модели, также может удерживать платёж даже с status: "failed", поэтому используйте status вместе с usage.credits вместо предположения, что каждая неудачная задача стоит нуль.[5]
Если вы хотите небольшой кросс-модельный дымовой тест, одна попытка 1K каждая из Nano Banana 2 Lite, GPT Image 2 и Seedream 5.0 Pro в настоящее время бюджет:
15 + 30 + 32 = 77 кредитов = $0.077Это неиспользованный бюджет планирования, а не измеренный эталон, коэффициент приёмки или рейтинг модели. Один выход на модель не поддерживал бы любые из этих утверждений. Более дешёвый и более полезный первый ход — это всё ещё один 15-кредитный кандидат раскладки, за которым следует решение, конкретное для ошибки.
Поместите рабочий процесс в производство без потери контрольного пути
Для каждой генерации сохраняйте:
- хеш или устойчивый ID для исходного актива;
- точный ID модели, уровень выхода, промпт и переделку промпта;
- время отправки и возвращённый ID задачи;
- терминальный
status,usage.creditsи любой код ошибки; - возвращённый URL и расположение вашей архивной копии;
- статус одобрения, рецензент и короткую причину отклонения.
Держите отправку и опрос как отдельные работы. Рабочий может отправить один раз, сохранить ID задачи и позволить другому рабочему возобновить GET запросы после перезагрузки. Установите локальный дедлайн опроса, но не путайте этот дедлайн с отказом API: если ваш процесс перестаёт ждать, возобновите ту же задачу позже.
Архивируйте одобренные файлы в хранилище, которым вы управляете. Контракт Tasks не обещает, что жизненный цикл CDN развертывания совпадёт с жизнью вашего каталога, и страница товара не должна зависеть от временной записи генерации.[5]
Для батча без кода после прохождения первого промпта рабочий процесс n8n product-ad показывает ту же структуру отправки и опроса. Если позже вы хотите движение, несите одобренный кадр и контракт идентичности в рабочий процесс одно-товар-фото видео.
Когда генерация — неправильный инструмент
Сохраняйте исходные пиксели товара и меняйте только окружающий холст, когда:
- точный ярлык, серийный номер или нормативная отметка должны оставаться читаемыми;
- геометрия должна быть пиксель-идентичной по большому каталогу;
- товар прозрачен, отражающий или покрыт мелким повторяющимся текстом;
- место назначения использует один фиксированный шаблон с белым фоном;
- неправильный цвет или деталь упаковки может вызвать материальную жалобу клиента.
В этих случаях удалите фон, очистите маску, разместите вырезание на известной поверхности и создайте тень с детерминированным шаблоном дизайна. Генеративный API всё ещё может создать пластину фона, но ему не нужно переделывать товар.
FAQ
Какой самый дешёвый маршрут API попробовать в первую очередь?
Среди маршрутов в этом руководстве Nano Banana 2 Lite был $0.015, или 15 кредитов, за одно завершённое изображение 1K на 3 сентября 2026 года. Проверьте актуальную страницу модели перед бюджетированием, потому что тарифы могут меняться.
Может ли одна фотография сохранить спину и стороны товара?
Нет. Она может направлять видимую форму, материал и размещение ярлыка. Она не может надёжно восстановить факты, которые источник не показывает. Поставляйте другой принадлежащий вам угол или избегайте обнажения невидимой поверхности.
Должен ли я просить модель переписать размытый ярлык?
Не для производственной правды. Используйте проверенное произведение ярлыка или исходную пластину товара. Правдоподобный новый ингредиент, дозировка, сертификация или гарантия по-прежнему ложная информация.
Должен ли я сразу же генерировать при 2K или 4K?
Начните с 1K для проверки идентичности, композиции и обрезки. Двигайтесь вверх только после того, как изображение пройдёт эти проверки и канал доставки действительно нуждается в большем количестве пикселей. OpenAI и Google оба задокументировали несколько размеров выхода для своих текущих моделей изображений, а доступность и тарификация, специфичные для модели, различаются.[6][7]
Какое соотношение сторон мне использовать для листингов товаров?
Используйте соотношение, требуемое местом назначения. Для кросс-модельного пробного использования 1:1 является безопасной общей настройкой. Текущий публичный запрос Seedream 5.0 Pro принимает 1:1, 4:3, 3:4, 16:9, 9:16, 2:3 и 3:2, но не 4:5.[3]
Может ли API вернуть изображение товара с прозрачным фоном?
Это зависит от модели и поверхности запроса. Seedream 5.0 Pro обнажает опцию прозрачного фона только для одного эталонного изображения, которое уже имеет альфа-канал, и его нельзя комбинировать с разложением слоя. Если ваша начальная фотография имеет нормальный фон, выделенный рабочий процесс удаления — это более ясный первый шаг.[3]
Взимается ли плата за неудачные задачи?
Отказы поставщика и таймауты обычно возвращаются, но окончательный ответ — это терминальный usage.credits задачи. Некоторые решения безопасности после генерации могут удерживать платёж, специфичный для модели, даже с status: "failed".
Никогда не рассчитывайте счёт только по статусу.[5]
Могу ли я автоматизировать одобрение?
Вы можете автоматизировать механические проверки, такие как размеры, декодирование файла, альфа и количество товаров. Геометрия, точность мелкого ярлыка, цвет и безопасность утверждения по-прежнему нуждаются в человеческом шлюзе, если у вас нет проверенной системы сравнения, специфичной для товара. Автоматизация должна направлять неясные изображения на обзор, а не молча публиковать их.
Начните с 1K и повышайте уровень только для названной ошибки
Полезный рабочий процесс API фотографии товара консервативен. Он начинается с источника как доказательства, замораживает идентичность товара и остаётся при 1K, пока сам товар не будет правильным. Он записывает завершённые отклонения, потому что это часть реальной стоимости. И он знает, когда вырезание плюс шаблон безопаснее, чем ещё одна фантазийная генерация.
Вот как одна обычная фотография становится готовыми к маркетплейсу изображениями без рассмотрения красивого рендеринга как доказательства того, что товар выжил.
Ссылки
- reAPI. Nano Banana 2 Lite API: live pricing, request schema, and task lifecycle. Retrieved September 3, 2026 from the Nano Banana 2 Lite model page.
- reAPI. GPT Image 2 API: live pricing and request schema. Retrieved September 3, 2026 from the GPT Image 2 model page.
- reAPI. Seedream 5.0 Pro API reference. Retrieved September 3, 2026 from the Seedream 5.0 Pro documentation.
- reAPI. Gemini 3 Pro Image Preview API: live pricing and request schema. Retrieved September 3, 2026 from the Nano Banana Pro model page.
- reAPI. Tasks API: states, usage, polling, output, and refund semantics. Retrieved September 3, 2026 from the Tasks API reference.
- OpenAI. Image generation guide and GPT Image 2 model reference. Retrieved September 3, 2026 from the OpenAI developer documentation.
- Google. Gemini API image generation guide. Retrieved September 3, 2026 from the Google AI for Developers documentation.
- ByteDance Seed. Beyond Generation, It Understands Design: Introducing Seedream 5.0 Pro. Retrieved September 3, 2026 from the Seed product blog.
Дополнительное чтение
Автор

Категории
Ещё статьи

Seedance 2.5 запущена: подтверждены 30 секунд, 4K не проверены
Seedance 2.5 показывает 30-секундное видео, мультимодальные ссылки, управление временем и редактирование. Проверяем утверждения о 4K, API и ограничениях входа.


Как использовать Seedance 2.0 бесплатно: рабочие способы
Реальные бесплатные пути в 2026 году: ежедневные кредиты Dreamina, бесплатный тариф Krea, ограничения и момент, когда доллар на API становится выгоднее.


Dreamina Seedance 2.5: 30 секунд и длинные видео
Руководство по Dreamina Seedance 2.5 с примерами: 30 секунд, продление, длинные видео, тайминг, референсы, монтаж, звук и раскадровки.
