Руководство по использованию
flux-2/image-to-image для фотографий товаров в электронной коммерции: руководство по API hiapi
Редактирование с несколькими референсными изображениями, проверенное на практике поведение соотношения сторон и готовый Python-скрипт для пакетной обработки каталога товаров
Если у вас уже есть неплохие фотографии товаров — пусть даже беспорядочные, с неправильным фоном или неудачной обрезкой — flux-2/image-to-image превратит их в готовые к публикации изображения для электронной коммерции без пересъёмки. Это модель редактирования, а не текст-в-изображение: на входе от 1 до 8 референсных изображений плюс инструкция, на выходе — новое изображение, в котором при замене всего окружающего — фона, освещения, композиции и даже сцены, в которой находится товар, — точно сохраняются форма, цвет, материал и пропорции товара.
Мы прогнали через конечную точку /v1/tasks API hiapi два типичных сценария электронной коммерции — замену фона на студийный и合成 в lifestyle-сцене — и перед написанием этого текста сверили входную схему, поведение соотношения сторон и реальную цену за одно изображение со страницей цен hiapi.
- flux-2/image-to-image принимает до 8 референсных изображений за один вызов, поэтому замена фона (1 изображение) и合成 сцены (2 и более) используют одну и ту же конечную точку.
aspect_ratio: "auto"действительно следует собственному соотношению сторон входного изображения — вертикальная фотография кроссовок 9:16 останется 9:16, если вы не переопределите это. Явные значения вроде"1:1"принудительно задают эту форму независимо от того, что вы подаёте на вход.- Цена зависит от разрешения: 1K — $0.035/изображение, 2K — $0.05/изображение — фиксированная цена, без оплаты за мегапиксели.
- Это настоящее редактирование, а не перерисовка: логотип, швы и текстура материала самого товара сохраняются после смены фона/сцены.
- Одного скрипта пакетной обработки (см. ниже) достаточно, чтобы прогнать весь каталог товаров с одной и той же подсказкой для очистки фона.
Что на самом деле делает flux-2/image-to-image
В основе это одна модель на едином интерфейсе задач hiapi — вы не выбираете между инструментом «удаления фона» и инструментом «合成», а пишете инструкцию и передаёте правильные референсные изображения для задачи:
curl -s https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2/image-to-image",
"input": {
"prompt": "Remove the background and place the product on a seamless white studio background with a soft contact shadow. Keep the product'"'"'s shape, color and proportions unchanged.",
"image_urls": ["https://your-cdn.example.com/raw-product-photo.jpg"],
"aspect_ratio": "auto",
"resolution": "1K"
}
}'
Обязательные поля — prompt (строка), image_urls (массив, до 8 изображений), aspect_ratio (auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2 или 2:3) и resolution (1K или 2K). Ответ возвращает taskId — опрашивайте GET /v1/tasks/{taskId}, пока status не станет success, затем сразу скачайте изображение из output[0].url (ссылка истекает, поэтому не считайте её постоянным хранилищем).
Для замены фона достаточно одного референсного изображения. Чтобы合成 товар в lifestyle-сцену, передайте два: сначала изображение товара, затем целевая сцена, и опишите в подсказке, какой объект куда поместить.
Что на самом деле делает соотношение сторон «auto»
Это та часть, которую стоит протестировать до того, как вы построите вокруг неё конвейер, потому что легко ошибочно предположить, что модель всегда выдаёт фиксированный квадрат или какую-то фиксированную форму по умолчанию. Это не так.

Это вертикальная фотография кроссовок, запущенная с aspect_ratio: "auto" — выход 720×1280, точно совпадающий с 9:16 входного референсного изображения, без обрезки или добавления полей под другую форму. auto означает «следовать входу», а не «выбрать значение по умолчанию».

То же исходное изображение, та же подсказка — единственное изменение — явно заданный aspect_ratio: "1:1". Выход — точный квадрат 1024×1024, модель перекомпоновала кадр под него, а не просто обрезала. Если вашему каталогу нужна единая квадратная сетка для страниц списков, принудительно задайте это соотношение; если хотите, чтобы каждое изображение сохраняло свою исходную композицию, оставьте auto.
Два примера合成 сцены
Замена фона — простой случай. Более полезный приём для контента электронной коммерции —合成 чистое изображение товара в lifestyle-сцену — для главных изображений, постов в соцсетях или вторичных фото «в образе», без реальной съёмки.

Здесь поданы два референсных изображения: чистое товарное фото наушников и отдельная сцена с залитым солнцем дубовым столом. Подсказка указывает, какой объект и куда поместить («естественно прислонить рядом с растением»), и просит модель согласовать с существующим направлением света в сцене и отбросить правдоподобную тень — именно эта деталь делает合成 реалистичным, а не наклеенным сверху.

Та же целевая сцена, другой товар, тоже с aspect_ratio: "auto" (он наследует квадратную композицию референсного изображения сцены). Форма пуровера и керамический материал сохранены как на его собственном референсном фото — изменилось только окружение.
Пакетная обработка каталога товаров
При $0.035/изображение (разрешение 1K) — дешевле, чем пересъёмка с перестановкой для одного товара — прогнать весь каталог товаров через flux-2/image-to-image легко оправдать. Если вы хотите сначала недорого протестировать подсказку, то перед масштабным использованием полной модели стоит взглянуть на более лёгкий уровень flux-2-klein-4b/image-to-image; актуальные цены на оба — на странице цен hiapi.
Как только подсказка настроена для одного товара, её прогон по всему каталогу — это просто цикл по одному и тому же запросу. Этот пример перебирает набор исходных фотографий товаров, запускает для каждой одну и ту же инструкцию по очистке фона и выводит URL размещённого результата:
import os
import time
import requests
API_BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
HEADERS = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json",
}
BACKGROUND_PROMPT = (
"Remove the existing background and place the product on a seamless pure white "
"studio background with a soft, realistic contact shadow and even diffused catalog "
"lighting. Keep the product's exact shape, color, material and proportions unchanged."
)
def edit_product_image(prompt, image_urls, aspect_ratio="auto", resolution="1K"):
payload = {
"model": "flux-2/image-to-image",
"input": {
"prompt": prompt,
"image_urls": image_urls,
"aspect_ratio": aspect_ratio,
"resolution": resolution,
},
}
resp = requests.post(API_BASE, headers=HEADERS, json=payload, timeout=60)
resp.raise_for_status()
task_id = resp.json()["data"]["taskId"]
while True:
time.sleep(3)
status = requests.get(f"{API_BASE}/{task_id}", headers=HEADERS, timeout=30).json()
state = status["data"]["status"]
if state == "success":
return status["data"]["output"][0]["url"]
if state == "fail":
raise RuntimeError(f"task {task_id} failed: {status}")
CATALOG = [
{"sku": "SNK-001", "image_url": "https://cdn.example.com/raw/snk-001.jpg"},
{"sku": "HDP-014", "image_url": "https://cdn.example.com/raw/hdp-014.jpg"},
{"sku": "DRP-022", "image_url": "https://cdn.example.com/raw/drp-022.jpg"},
]
for item in CATALOG:
out_url = edit_product_image(BACKGROUND_PROMPT, [item["image_url"]])
print(item["sku"], "->", out_url)
Каждый output[0].url — это временная ссылка — скачивайте и переразмещайте её в цикле (в своём хранилище, CDN или любом сервисе, поддерживающем бэкенд вашего магазина), а не сохраняйте исходную ссылку. Полный разбор цикла задача/опрос/скачивание (с обработкой ошибок) см. в статье «Как использовать flux-2/image-to-image через API hiapi».
Часто задаваемые вопросы
flux-2/image-to-image меняет сам товар или только фон? При правильной подсказке он должен менять только то, что вы указали — фон, сцену, освещение — сохраняя форму, цвет и материал товара с референсного изображения неизменными. Не каждая попытка идеальна; перед публикацией сверяйте результат с исходным изображением, особенно мелкий текст или логотипы на упаковке.
Сколько референсных изображений можно использовать за один вызов? До 8. Для замены фона достаточно 1. Для合成 сцены обычно нужно 2 (товар + целевая сцена) — больше референсных изображений полезно, когда вы хотите, чтобы модель согласовала конкретного существующего персонажа, реквизит или брендовый элемент на наборе фотографий.
Какое разрешение выбрать — 1K или 2K? 1K ($0.035/изображение) достаточно для большинства каталогов товаров и веб-листингов — приведённые выше合成 наушников и пуровера были сгенерированы в 1K. Для главных баннеров или чего-либо, что потом будет обрезано и увеличено, выбирайте 2K ($0.05/изображение).
В чём разница между flux-2/image-to-image и уровнем Klein? Klein (9b и 4b) обменивает часть точности редактирования на более низкую цену — подходит для недорогого тестирования подсказок перед прогоном полной модели по каталогу. Актуальные цены см. в таблице цен выше.
Могу ли я принудительно задать размер вывода, а не оставлять решение модели?
Да — задайте aspect_ratio явным значением (1:1, 4:3, 16:9 и т. д.) вместо auto. Модель перекомпонует кадр под эту форму, а не просто обрежет вывод с автоматическим соотношением.
Ключевые выводы
- flux-2/image-to-image редактирует существующие фотографии товаров, а не генерирует с нуля — на входе референсные изображения, на выходе отредактированное изображение с сохранённой идентичностью товара.
aspect_ratio: "auto"следует собственной форме входного изображения; явно задавайте его, когда нужно, чтобы вся сетка каталога имела одинаковые пропорции вывода.- Разрешение 1K ($0.035/изображение) покрывает большинство случаев электронной коммерции; 2K ($0.05/изображение) — для главных размеров или сильно обрезанного вывода.
- Одна конечная точка обрабатывает и замену фона по одному изображению, и合成 сцены по нескольким — разница лишь в том, сколько
image_urlsвы передаёте. - Пакетная обработка — это просто обычный цикл вокруг цикла задача/опрос/скачивание, без отдельной пакетной конечной точки.
Если вы готовы применить это к своему каталогу товаров, на странице модели flux-2/image-to-image есть актуальная схема и быстрый стартовый запрос, а рецепты подсказок для flux-2/image-to-image собрали больше протестированных шаблонов подсказок помимо замены фона и合成 сцены.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков