Руководство по использованию
Flux-2-Klein-9b 图生图:обработка фотографий товаров для электронной коммерции
Практический рабочий процесс редактирования существующих фотографий товаров с помощью flux-2-klein-9b/image-to-image в API hiapi — с реальными промптами, реальными результатами и кодом для пакетной обработки.
Почему стоит редактировать фотографии товаров, а не генерировать новые
Большинство каталогов товаров для электронной коммерции сталкиваются с проблемой не «сгенерировать с нуля», а «одна фотография — пять применений». Продавец делает одно главное фото, обычно на захламлённой столешнице или при посредственном освещении, а затем ему нужна чистая версия на сплошном белом фоне для сетки магазина, по одному цветовому варианту на каждый SKU, а также сценические снимки для рекламы и социальных сетей. Переснимать каждую вариацию долго; генерировать каждую с нуля в режиме текст-в-изображение тоже не гарантирует, что результат будет полностью совпадать с продуктом, который вы на самом деле продаёте.
flux-2-klein-9b/image-to-image создан именно для решения второй проблемы: он принимает существующую фотографию товара плюс инструкцию по редактированию и возвращает новое изображение, в котором всё, что вы не просили изменить, — форма, пропорции, крышка, логотип — остаётся неизменным. Это более крупный и более точный уровень серии FLUX.2 [klein] на hiapi, выше по качеству и цене, чем flux-2-klein-4b/image-to-image.
Ниже представлен полный трёхэтапный рабочий процесс на основе одной исходной фотографии: сначала очистите небрежную фотографию «до» до главного изображения, пригодного для каталога, затем разверните это главное изображение в цветовые и сценические вариации — три реальных редактирования, три реальных промпта, один пакетный скрипт для повторного использования той же схемы во всём каталоге.
Исходная фотография

Именно такую фотографию «до» продавец реально загрузил бы: термос из шлифованной нержавеющей стали с матовой чёрной винтовой крышкой, снятый на захламлённой кухонной столешнице рядом с керамической кофейной кружкой и сложенным кухонным полотенцем, при смешанном неравномерном освещении, с композицией со смещённым центром. Она годится как референс, но не подходит для изображения в карточке товара.
Промпт, использованный для генерации этой исходной фотографии (через flux-2-klein-9b/text-to-image):
A slightly imperfect phone photo of a brushed stainless steel insulated water bottle with a matte black plastic screw cap, standing on a cluttered kitchen counter next to a ceramic coffee mug and a folded blue dish towel, mixed warm ceiling light and cool window daylight creating an uneven color cast, faint reflections and fingerprint smudges on the counter, off-center composition, casual amateur snapshot quality, not professional photography
Шаг 1: студийная очистка — от захламлённой столешницы к изображению, пригодному для каталога

Использованный промпт:
Keep the water bottle exactly as it is: same brushed stainless steel body, same matte black screw cap, same proportions and shape. Remove the cluttered counter, coffee mug, and towel completely. Replace the background with a seamless pure white studio background. Correct the lighting to even, shadowless studio lighting from the front, center the bottle in the frame, sharp focus, no reflections, no smudges, clean e-commerce catalog product photography.
Это самое важное редактирование в реальном рабочем процессе: один вызов превращает снимок с телефона в изображение с белым фоном, пригодное для магазина, при этом форма бутылки и крышка остаются абсолютно неизменными. Этот чистый результат станет главным изображением — все последующие вариации в этом руководстве генерируются из этого изображения, а не из исходной захламлённой фотографии, поэтому отклонения не накапливаются при многократном редактировании.
Шаг 2: цветовые вариации из чистого главного изображения

Использованный промпт:
Keep the bottle's shape, screw cap, proportions, and pure white studio background exactly as they are. Change only the body color and finish from brushed stainless steel to a matte sage green, keep the black cap unchanged, keep the same lighting and shadow, e-commerce catalog product photography.
Это сценарий с множеством SKU: у одной линейки продуктов пять цветов, и никаких пяти отдельных съёмок не требуется. Начиная с чистого главного изображения и ограничивая промпт только изменением цвета, вы полностью фиксируете крышку, пропорции, освещение и фон — меняется только цвет материала корпуса.
Шаг 3: сценические вариации из того же главного изображения

Использованный промпт:
Keep the water bottle exactly as it is: brushed stainless steel body, matte black cap, proportions unchanged. Replace the plain white studio background with an outdoor lifestyle scene: the bottle resting on a moss-covered granite rock beside a hiking trail, soft early-morning sunlight filtering through pine trees, shallow depth of field, warm natural color grade, outdoor lifestyle product photography.
То же главное изображение, другое назначение: это изображение для рекламы, постов в социальных сетях или ключевого визуала лендинга — окружение на открытом воздухе вместо фон каталога, при этом идентичность продукта жёстко закреплена той же якорной фразой «сохранить как есть» в каждом из приведённых выше промптов.
Почему эти редактирования надёжны
- Сначала закрепите неизменяемое, затем описывайте изменение. Каждый из приведённых промптов начинается с указания того, что нельзя менять — форму, крышку, пропорции — и только потом упоминает новый фон или цвет. Именно такой порядок удерживает идентичность продукта на месте на протяжении трёх последовательных редактирований, вместо того чтобы дрейфовать с каждым разом.
- Редактируйте цепочкой от чистого главного изображения, а не от исходной фотографии. Шаги 2 и 3 начинаются с результата шага 1, а не с исходной захламлённой фотографии. Редактирование от чистой и правильной основы надёжнее, чем попытка исправить захламлённость и заменить фон в одном промпте.
- Один промпт — одно изменение. Цветовая вариация меняет только цвет; сценическая вариация меняет только фон. Ни один промпт не требует двух несвязанных изменений одновременно.
- flux-2-klein-9b/image-to-image принимает только одно референсное изображение за вызов.
В отличие от некоторых моделей редактирования, принимающих несколько референсных изображений,
схема этой модели намеренно минималистична: строка
promptи массивimage_urlsмаксимум с одним изображением. В интерфейсе изображение-в-изображение нет параметровresolutionилиaspect_ratio— выход следует размерам входной фотографии, поэтому настраивать ничего, кроме промпта и исходного изображения, не нужно.
Пакетное редактирование каталога товаров
Все три редактирования выше имеют одинаковую форму запроса: URL референсного изображения
плюс промпт редактирования, отправляемые на асинхронную конечную точку задач hiapi. Фрагмент кода ниже
зацикливает эту схему по списку кортежей (base_image_url, prompt, output_name) —
именно такую структуру вы использовали бы, чтобы за один раз прогнать весь каталог
товаров через очистку, цветовые и сценические вариации.
import os
import time
import requests
API_BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
MODEL = "flux-2-klein-9b/image-to-image"
def submit_edit(base_image_url: str, prompt: str) -> str:
resp = requests.post(
API_BASE,
headers={"Authorization": f"Bearer {TOKEN}"},
json={
"model": MODEL,
"input": {
"prompt": prompt,
"image_urls": [base_image_url],
},
},
timeout=60,
)
resp.raise_for_status()
return resp.json()["data"]["taskId"]
def wait_and_download(task_id: str, out_path: str, poll_s: int = 5, timeout_s: int = 300) -> None:
deadline = time.time() + timeout_s
while time.time() < deadline:
r = requests.get(
f"{API_BASE}/{task_id}",
headers={"Authorization": f"Bearer {TOKEN}"},
timeout=30,
)
task = r.json().get("data", {})
if task.get("status") == "success":
url = task["output"][0]["url"]
img = requests.get(url, timeout=120)
with open(out_path, "wb") as f:
f.write(img.content)
return
if task.get("status") == "fail":
raise RuntimeError(task.get("error"))
time.sleep(poll_s)
raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")
# One entry per product / variant. Chain color and lifestyle edits from a
# clean master, not the raw source photo, for best consistency.
batch = [
("https://cdn.example.com/products/bottle-raw.jpg",
"Keep the bottle exactly as it is: same body, same cap, same "
"proportions. Remove the cluttered background completely. Replace it "
"with a seamless pure white studio background and even, shadowless "
"lighting, clean e-commerce catalog product photography.",
"bottle-clean-master.jpg"),
("https://cdn.example.com/products/bottle-clean-master.jpg",
"Keep the bottle's shape, cap, proportions, and white studio "
"background exactly as they are. Change only the body color to matte "
"sage green, keep the cap unchanged.",
"bottle-sage-green.jpg"),
("https://cdn.example.com/products/bottle-clean-master.jpg",
"Keep the bottle exactly as it is: body, cap, proportions unchanged. "
"Replace the white studio background with an outdoor lifestyle scene "
"on a mossy rock beside a hiking trail, soft morning sunlight.",
"bottle-lifestyle-hiking.jpg"),
]
for base_url, prompt, out_name in batch:
task_id = submit_edit(base_url, prompt)
wait_and_download(task_id, out_name)
print(f"saved {out_name}")
Каждый вызов задачи независим, поэтому для полного каталога вы обычно
запускаете небольшой пул одновременно, а не строго по одному в цикле
— время обработки на стороне API задач является узким местом, а не ваш клиент. Обратите внимание:
шаги 2 и 3 оба указывают на bottle-clean-master.jpg, то есть результат шага 1:
цепочка от очищенного результата, а не от исходного загруженного изображения,
— это и есть ключ к согласованности цветовых и сценических вариаций друг с другом.
Цены
flux-2-klein-9b/image-to-image оплачивается за изображение независимо от размера вывода — цена единая. По состоянию на 2026-08 каждое редактирование изображение-в-изображение стоит $0.03143 за изображение; сопутствующая конечная точка текст-в-изображение (используемая в этом руководстве для генерации исходной фотографии) стоит $0.00858 за изображение. Оба варианта заметно дороже меньшего уровня flux-2-klein-4b/image-to-image с ценой $0.00715 за редактирование — 9B обменивает эту ценовую надбавку на более высокую точность вывода, особенно при редактированиях с насыщенными деталями, таких как изменения материала и цвета. Смотрите страницу цен, чтобы узнать текущие тарифы для всех моделей, так как цены могут меняться.
Часто задаваемые вопросы
Поддерживает ли flux-2-klein-9b/image-to-image несколько референсных изображений за вызов?
Нет. Схема принимает только одно изображение в image_urls (maxItems: 1).
Для редактирований, требующих объединения двух независимых исходных изображений, это не подходящая модель
— она создана для редактирования с одним референсом, например замены фона,
изменения цвета и очистки.
Можно ли контролировать разрешение вывода?
Нет — у конечной точки изображение-в-изображение нет параметров resolution или aspect_ratio.
Вывод следует размерам входной фотографии. Если вам нужен
определённый размер вывода, измените размер исходного изображения перед отправкой или
измените размер результата после.
Чем это отличается от flux-2-klein-4b/image-to-image? Та же форма запроса, та же схема с одним референсом, но 9B стоит дороже за каждое редактирование ($0.03143 против $0.00715) в обмен на более высокую точность — это лучший выбор, когда редактирование каталога включает мелкие детали (текстуру материала, точность цвета), а не простую замену фона.
Почему редактировать цепочкой от «чистого главного изображения», а не от исходной фотографии каждый раз? Редактирование от захламлённого оригинала требует от модели исправить захламлённость и применить новое изменение в одной обработке, что увеличивает вероятность нежелательных отклонений. Очистите один раз, а затем создавайте каждую вариацию от этого единственного чистого результата — так каждое последующее изображение будет согласовано друг с другом.
Можно ли прогнать весь каталог за один раз?
Да — пакетный скрипт выше и есть эта схема: цикл по кортежам (image, prompt, output name), отправка каждого как отдельной задачи и одновременный запуск небольшого числа
запросов вместо длинного последовательного цикла.
Попробуйте сами
Каждое редактирование в этом руководстве — очистка, цветовая вариация, сценическая вариация — это один вызов 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 для генерации видео из изображений для разработчиков