Руководство по использованию
FLUX 1.1 Pro для изображений товаров в электронной коммерции: руководство по API hiapi
Если вы продаёте что-то в интернете, вам давно знакома эта арифметика: для карточки товара нужна фотография на белом фоне, лайфстайл-снимок, а в идеале ещё и набор ракурсов — для каждого SKU и каждого цвета. Студийная съёмка за день охватывает десять товаров, а API для генерации изображений — тысячу.
flux-1.1-pro (FLUX.1.1 [pro] от Black Forest Labs) — флагманская реалистичная модель на hiapi: она убедительно передаёт материалы — брашированный металл, стекло, ткань, мягкое боке — по единой цене $0.05 за изображение. Это руководство — готовый к применению рецепт для электронной коммерции: каждое изображение ниже сгенерировано указанным прямо над ним промптом с помощью того же вызова /v1/tasks, который вы можете скопировать и вставить, а мы зафиксировали реальные диапазоны параметров — включая те, что кажутся допустимыми, но при отправке возвращают 400.

API за 60 секунд
На hiapi flux-1.1-pro работает через асинхронную конечную точку задач. Вы создаёте задачу, опрашиваете её, затем скачиваете результат:
# 1. Create the task
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-1.1-pro",
"input": {
"prompt": "Studio packshot of an unbranded stainless steel wristwatch...",
"aspect_ratio": "1:1",
"output_format": "jpg",
"seed": 6607
}
}'
# => {"code":200,"data":{"taskId":"tk-hiapi-01KWK3JG..."},"message":"success"}
# 2. Poll until status is "success" (typically 10–40s for flux-1.1-pro)
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-01KWK3JG... \
-H "Authorization: Bearer $HIAPI_API_KEY"
# 3. Download output[0].url — it carries an expireAt timestamp,
# so save the file to your own storage immediately.
Прежде чем перейти к делу, запомните два эксплуатационных замечания:
- Выходные URL временные. Скачивайте и пересохраняйте результат сразу после успешного завершения задачи — см. что происходит после истечения срока действия выходного URL hiapi.
- Если задача дольше ожидаемого остаётся в статусе
processing, не отправляйте её вслепую повторно; вот руководство по диагностике зависших и превысивших тайм-аут задач.
Реальные диапазоны параметров (и ошибки 400, которые ждут тех, кто угадывает)
Если вы работали с моделями FLUX на других платформах, мышечная память подскажет вам настроить steps и guidance. Но в схеме задачи hiapi для flux-1.1-pro эти поля отсутствуют — API строго проверяет входные данные и отклоняет неизвестные свойства:
{
"code": 400,
"error_code": "INVALID_REQUEST",
"message": "invalid input: <root>: additional properties 'steps', 'guidance' not allowed"
}
Это не баг; FLUX 1.1 [pro] предоставляется как управляемая конечная точка, и внутренние механизмы сэмплирования фиксированы провайдером. Вот что вы можете отправлять — проверено по производственной схеме:
| Поле | Тип | Допустимые значения / диапазон |
|---|---|---|
prompt |
string | обязательно |
aspect_ratio |
string | 1:1, 16:9, 9:16, 3:2, 2:3, 4:3, 3:4, 4:5, 5:4, custom |
width, height |
integer | 256–1440 px (используется вместо соотношения сторон или вместе с соотношением custom) |
seed |
integer | любое целое число — фиксирует композицию для воспроизводимости |
output_format |
string | jpg, png, webp |
prompt_upsampling |
boolean | позволяет бэкенду переписать/расширить ваш промпт |
safety_tolerance |
integer | 0–6 |
Практические значения по умолчанию для товарных изображений: output_format: "jpg", явный aspect_ratio под каждое размещение (1:1 для карточек в каталоге, 4:5 для лент и лайфстайл-сцен, 3:2 или 1440×960 для баннеров), фиксированный seed для каждой линейки SKU и отключённый prompt_upsampling — в электронной коммерции вы хотите, чтобы модель строго следовала вашим формулировкам, а не добавляла что-то от себя.
Рецепт 1 — чистое изображение на белом фоне
Базовая картинка: один товар, бесшовный фон, мягкий основной свет. Явно укажите цвет фона, попросите отражение на поверхности и — что важно для любой реалистичной модели — обязательно напишите «без бренда, без логотипа, без текста». Циферблаты и этикетки — как раз те места, где FLUX может сам придумать каракули, похожие на товарный знак, и вам придётся удалять их на постобработке.
Studio packshot of an unbranded stainless steel wristwatch with a plain deep green dial and brushed metal bracelet, the dial completely clean with simple baton hour markers and no logo, no brand name, no text or numerals anywhere, standing upright on a seamless light grey background, centered composition, soft diffused key light from the upper left, subtle reflection beneath the watch, photorealistic e-commerce product photography

Отправляйте с aspect_ratio: "1:1", seed: 6607. Текстура брашированного металла и мягкое отражение на поверхности — именно за эти детали вы платите $0.05 профессионального уровня; дешёвые модели как раз сглаживают такие детали.
Рецепт 2 — лайфстайл-снимок
Каталогу нужны изображения на белом фоне; карточки товаров и соцсети конвертируют за счёт сцен. Поместите товар в сцену, оставьте этикетку пустой, а малую глубину резкости используйте для передачи «премиальности». 4:5 соответствует обрезке в ленте.
A lit soy candle in a clear glass jar with a plain blank kraft-paper label, on a rustic oak nightstand next to a stack of two linen-bound books, warm evening window light, softly blurred bedroom background, cozy lifestyle product photography for an online store, photorealistic

Отправляйте с aspect_ratio: "4:5", seed: 7301. Обратите внимание, что пустая этикетка сохранилась — это холст, на который вы позже наложите реальный фирменный дизайн.
Рецепт 3 — цветовые варианты с фиксированным seed
Это самый экономный приём в производстве каталога. seed фиксирует инициализацию шума, поэтому если вы сохраните seed и структуру промпта абсолютно одинаковыми и измените только слово, обозначающее цвет, вы получите ту же композицию в новом цвете — без пересъёмки и без пайплайна img2img.
Оба изображения ниже используют seed: 5150, aspect_ratio: "1:1", а промпты отличаются ровно двумя словами (navy blue → coral pink):
A single insulated stainless steel water bottle in matte navy blue, standing on a round travertine stone slab against a soft warm beige studio background, centered, soft diffused lighting, minimalist e-commerce product photo, photorealistic


Тот же силуэт бутылки, та же плита, та же композиция, но другой SKU. Именно так промпт с фиксированным seed заменяет день съёмки вариантов.
Пакетная обработка: рендер всего каталога по SKU
Вот схема, которую мы реально запускали: отправка, опрос, скачивание, повтор. Производственный запуск выявил момент, который нужно заранее учесть: задачи flux-1.1-pro иногда завершаются общей ошибкой {"code": "TASK_FAILED"} — она временная, и те же входные данные обычно успешно проходят при повторной отправке. Заложите до 3 попыток на изображение (вы платите только за успешно отрендеренные изображения).
import json, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer YOUR_HIAPI_KEY",
"Content-Type": "application/json"}
CATALOG = [
{"sku": "bottle-navy", "colour": "matte navy blue"},
{"sku": "bottle-coral", "colour": "matte coral pink"},
{"sku": "bottle-sage", "colour": "matte sage green"},
]
TEMPLATE = ("A single insulated stainless steel water bottle in {colour}, "
"standing on a round travertine stone slab against a soft warm "
"beige studio background, centered, soft diffused lighting, "
"minimalist e-commerce product photo, photorealistic")
def render(prompt, seed, retries=3):
for attempt in range(retries):
task = requests.post(API, headers=HEADERS, json={
"model": "flux-1.1-pro",
"input": {"prompt": prompt, "aspect_ratio": "1:1",
"output_format": "jpg", "seed": seed},
}).json()
task_id = task["data"]["taskId"]
while True:
state = requests.get(f"{API}/{task_id}", headers=HEADERS).json()["data"]
if state["status"] == "success":
return requests.get(state["output"][0]["url"]).content
if state["status"] == "fail": # transient TASK_FAILED happens;
break # resubmit with the same input
time.sleep(5)
raise RuntimeError(f"gave up after {retries} attempts")
for item in CATALOG:
img = render(TEMPLATE.format(colour=item["colour"]), seed=5150)
with open(f"{item['sku']}.jpg", "wb") as f:
f.write(img) # re-host immediately; task URLs expire
print(item["sku"], "done")
Если вы загружаете сотни SKU, регулируйте частоту отправки — подробное руководство по ограничениям частоты API генерации изображений описывает поведение при ограничении частоты и разумный уровень параллелизма.
Цены и когда выбирать flux-1.1-pro
Проверено по странице цен hiapi:
| Модель | Цена за изображение | Сценарии использования |
|---|---|---|
flux-schnell/text-to-image |
$0.005 | Черновики, компоновка макетов, эскизы большими партиями |
flux-1.1-pro |
единая цена $0.05 | Реалистичные изображения на белом фоне и лайфстайл-снимки, любое разрешение до 1440px |
flux-2/text-to-image |
$0.0375–$0.125 (за MP) | Максимальное следование промпту, читаемый текст на изображении |
Единая цена — скрытое преимущество: главный баннер 1440×960 и эскиз 512×512 стоят одинаково — $0.05, тогда как flux-2 тарифицируется по мегапикселям. Если ваша нагрузка — это «реалистичные товарные изображения разных размеров», flux-1.1-pro станет выбором по умолчанию с предсказуемой стоимостью; если вам нужно точное количество объектов или читаемый печатный текст на изображении, переходите на flux-2 — мы прогнали через него тот же рецепт для электронной коммерции.
Набор из пяти изображений для карточки товара (главное, на белом фоне, лайфстайл, два цветовых варианта) обходится в $0.25 на товар. Обновить каталог из 200 SKU: $50, один день и один скрипт.
Итог
flux-1.1-pro на hiapi даёт вам реалистичные товарные изображения через асинхронный рабочий процесс из двух вызовов: строгий, но простой набор параметров (соотношение сторон, размеры, seed, формат — без возни со steps/guidance), цветовые варианты с фиксированным seed и единая цена $0.05, которая делает бюджет каталога очень предсказуемым. Получите свой API-ключ, начните со страницы модели flux-1.1-pro, отрендерите первое изображение на белом фоне с помощью приведённого выше вызова curl — и не успеет остыть кофе, как у вас будет готовое к публикации в карточке товара изображение.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков