Руководство по использованию
Создание изображений продуктов для электронной коммерции с помощью seedream-4.5/image-to-image через API hiapi
Каталог товаров — это не одна фотография, а один и тот же SKU в десятках ситуаций: товар на белом фоне, лайфстайл-сцены, доработки после замены компонентов поставщиком и версии, соответствующие сезонному фирменному стилю. Повторная съёмка или генерация с нуля каждый раз разрушает согласованность, поскольку совершенно новые промпты рисуют немного другой продукт.
seedream-4.5/image-to-image создан именно для этого. Он принимает вашу реальную фотографию продукта — или сразу несколько референсных изображений — плюс одну инструкцию редактирования на естественном языке и возвращает отредактированное изображение, сохраняя фактическую геометрию, материалы и фирменные обозначения продукта неизменными и изменяя только то, что вы указали: фон, детали износа или цветокоррекцию, необходимую для единой визуальной идентичности. В hiapi он, как и все остальные модели, работает через тот же асинхронный эндпоинт /v1/tasks, $0.045 за изображение.
Оба примера ниже — реальные вызовы API, демонстрирующие точные промпты и сгенерированные изображения.

Почему редактирование, а не повторная генерация
Text-to-image и image-to-image решают разные задачи:
- Text-to-image создаёт продукт с нуля по описанию. Подходит для концепт-дизайна, но не для каталога — спросите дважды и получите две разные кружки.
- Image-to-image редактирование берёт за отправную точку вашу реальную фотографию продукта. Модель воспринимает референсное изображение как эталон формы, пропорций и фирменных обозначений и меняет только то, что указано в промпте. Именно поэтому это безопасно для реальных карточек товаров: продукт на выходе остаётся вашим продуктом.
Практический рабочий процесс: храните по одной чистой базовой фотографии для каждого SKU (подойдёт обычный студийный снимок), а затем запускайте seedream-4.5/image-to-image отдельно для каждой нужной ситуации — лайфстайл-сцена, замена фона, фон в фирменном стиле, доработка деталей — вместо повторной съёмки или генерации с нуля каждый раз.
Пример 1: замена фона на лайфстайл-сцену
База-референс: обычный студийный снимок керамической воронки для пуровера на белом фоне.
Инструкция редактирования, отправляемая модели:
Keep the ceramic pour-over dripper's exact shape, glaze color, and proportions
unchanged. Place it on a warm wood kitchen counter next to a steaming ceramic
mug and an open burlap coffee bag. Warm golden-hour side lighting, shallow
depth of field, soft shadows. Do not alter the dripper itself in any way —
only change the surrounding scene.
Результат сохраняет контур и цвет глазури воронки с попиксельной узнаваемостью, помещая её в живую сцену, которую обычная продуктовая фотография не могла бы создать сама по себе — без пересъёмки и без отдельного этапа композитинга.
Пример 2: унификация продукта на фирменном фоне
База-референс: обычный студийный снимок белых парусиновых кроссовок.
Инструкция редактирования, отправляемая модели:
Keep the sneaker's stitching, eyelets, laces, and canvas texture exactly as
shown. Replace the background with a solid terracotta studio backdrop and
place the sneaker on a matching terracotta pedestal. Even, soft studio
lighting from the upper left, subtle contact shadow. Do not change the
sneaker's shape, color, or any printed details.

Это и есть схема визуальной унификации каталога: выберите один вариант обработки фона и прогоните базовую фотографию каждого SKU через одинаковую инструкцию редактирования. Продукты различаются; фон, направление света и тональная палитра остаются согласованными, потому что ими управляет промпт, а не сам продукт.
Прямой вызов API
seedream-4.5/image-to-image работает через асинхронный эндпоинт задач hiapi. Отправьте задачу, опрашивайте до завершения, затем скачайте результат.
curl:
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-4.5/image-to-image",
"input": {
"prompt": "Keep the product exactly as shown. Replace the background with a solid terracotta studio backdrop and matching pedestal. Even soft studio lighting from the upper left.",
"image_urls": ["https://your-storage.example.com/base-product-photo.jpg"],
"aspect_ratio": "1:1",
"resolution": "2K"
}
}'
Ответ возвращает task_id. Опрашивайте GET /v1/tasks/{task_id}, пока status не станет succeeded, затем прочитайте URL изображения из output[0].url. Этот URL имеет ограниченный срок действия — скачайте изображение сразу.
Python (отправка задачи + опрос + скачивание):
import os
import time
import requests
API_BASE = "https://api.hiapi.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
def edit_product_image(prompt: str, image_urls: list[str],
aspect_ratio: str = "1:1", resolution: str = "2K") -> bytes:
resp = requests.post(
f"{API_BASE}/tasks",
headers=HEADERS,
json={
"model": "seedream-4.5/image-to-image",
"input": {
"prompt": prompt,
"image_urls": image_urls,
"aspect_ratio": aspect_ratio,
"resolution": resolution,
},
},
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["task_id"]
while True:
poll = requests.get(f"{API_BASE}/tasks/{task_id}", headers=HEADERS, timeout=30)
poll.raise_for_status()
data = poll.json()
if data["status"] == "succeeded":
image_url = data["output"][0]["url"]
return requests.get(image_url, timeout=30).content
if data["status"] == "failed":
raise RuntimeError(f"task {task_id} failed: {data.get('error')}")
time.sleep(3)
Пакетное редактирование каталога продуктов
Приведённая выше схема легко обобщается на каталог: ведите список (sku, base_photo_url), применяйте к каждому элементу одинаковую инструкцию редактирования — или вариант, специфичный для каждого SKU — и сохраняйте результаты с ключом по SKU.
CATALOG = [
{"sku": "dripper-ceramic-01", "base_url": "https://your-storage.example.com/dripper-01.jpg"},
{"sku": "sneaker-canvas-white", "base_url": "https://your-storage.example.com/sneaker-white.jpg"},
{"sku": "mug-stoneware-02", "base_url": "https://your-storage.example.com/mug-02.jpg"},
]
BACKDROP_PROMPT = (
"Keep the product's exact shape, materials, and any printed branding "
"unchanged. Replace the background with a solid terracotta studio "
"backdrop and matching pedestal. Even soft studio lighting from the "
"upper left, subtle contact shadow. Do not alter the product itself."
)
for item in CATALOG:
image_bytes = edit_product_image(
prompt=BACKDROP_PROMPT,
image_urls=[item["base_url"]],
aspect_ratio="1:1",
resolution="2K",
)
with open(f"{item['sku']}-branded.jpg", "wb") as f:
f.write(image_bytes)
print(f"{item['sku']}: done")
При цене $0.045 за изображение одна обработка фона для каталога из 50 SKU обойдётся примерно в $2.25 — и поскольку каждая задача выполняется независимо, её можно распараллелить через пул потоков или очередь задач, а не выполнять последовательно.
image_urls принимает до 14 референсных изображений за один вызов, поэтому для более сложных вариантов можно передать модели несколько ракурсов одного продукта (спереди, сбоку, детали) сразу, когда одного референса недостаточно для сложного редактирования.
Частые вопросы
seedream-4.5/image-to-image изменяет сам продукт или только сцену? Он строго следует инструкции редактирования. Если промпт описывает только изменение фона, освещения или контекста и явно требует сохранить продукт, то форма, цвет и печатные детали продукта остаются неизменными при многократном редактировании — именно поэтому он подходит для реальных каталогов продуктов, а не для одноразовых концепт-изображений.
Сколько референсных изображений можно отправить за один вызов?
До 14 публичных URL изображений в image_urls. Для большинства правок одного продукта достаточно одного (базовой фотографии); несколько референсов помогают, когда вы хотите, чтобы модель согласовала детали одного предмета с разных ракурсов.
Какие разрешения поддерживаются?
resolution принимает 2K или 4K. У этой модели нет варианта 1K.
Сколько стоит пакетное редактирование всего каталога? $0.045 за изображение независимо от разрешения. Одна обработка каталога из 100 SKU обойдётся примерно в $4.50.
Можно ли запускать редактирование параллельно, чтобы ускорить пакетную обработку?
Да — каждая задача независима, поэтому одновременная отправка нескольких вызовов /v1/tasks (с соблюдением лимитов вашего аккаунта) и их параллельный опрос — самый быстрый способ обработать большой каталог.
Попробуйте сами
Полный справочник параметров и актуальные цены см. на странице модели и странице цен. Точный формат запросов и ответов эндпоинта задач описан в документации по созданию задач. Если вы настраиваете похожий рабочий процесс с другим уровнем моделей, руководство по электронной коммерции для seedream-5.0-lite подробнее описывает схему привязки к одному SKU с последующим редактированием.
Получите API-ключ и запустите своё первое редактирование на реальной фотографии продукта — приведённый выше код можно скопировать и запустить уже сегодня в API hiapi.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков