HiAPI
Блог

Руководство по использованию

FLUX 1.1 Pro для изображений товаров в электронной коммерции: руководство по API hiapi

Jul 3, 2026
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.

Прежде чем перейти к делу, запомните два эксплуатационных замечания:

Реальные диапазоны параметров (и ошибки 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 — и не успеет остыть кофе, как у вас будет готовое к публикации в карточке товара изображение.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API