Руководство по использованию
Руководство разработчика по генерации изображений товаров для электронной коммерции с помощью grok-imagine/text-to-image на HiAPI
Шаблоны промптов, сверхширокие соотношения сторон и примеры API-запросов, готовых к использованию для визуальных материалов уровня каталога
Почему стоит использовать модель текст-в-изображение в конвейере изображений для электронной коммерции
В каждом товарном каталоге есть множество мест для изображений, с которыми студийная съёмка справляется с трудом. Продукт, выпускаемый в сорока цветовых вариантах, комплект, который меняется каждый квартал, тематический баннер, для которого нужно сделать пять региональных версий до обеда, — всё это прежде всего вопрос графика, а не творчества. Генерация изображений по тексту не заменяет фотографа, снимающего флагманские ключевые визуалы. Она берёт на себя массу повторяющейся работы вокруг этих ключевых визуалов.
Полезно чётко разграничить обязанности. grok-imagine/text-to-image подходит для таких задач, где субъект можно описать текстом, а композицию можно повторить:
- Расширение вариантов. Одна базовая композиция, из которой выводятся разные цветовые схемы, материалы или состояния упаковки.
- Заглушки и черновые позиции. Вывод достаточно приличных изображений уровня каталога, чтобы верстка и обзор товарного планирования продвигались до появления финальных материалов.
- Исследование концепций. Быстрое перебирание фонов, атмосферы и кадрирования до заказа платной съёмки.
- Региональные и форматные варианты. Один и тот же продукт, перекомпонованный в широкий ключевой баннер или квадратную плитку сетки.
Он не подходит для сценариев с контрактными требованиями к точности воспроизведения. Регулируемые рекламные заявления, точная типографика этикеток, точная передача поверхности материалов и всё, что требует юридически проверяемого изображения реального объекта, следует отдавать фотографии или контролируемому конвейеру рендеринга. Модели текст-в-изображение генеративны — они приблизительно рисуют логотип, а не точно его воспроизводят.
Практичный способ разделения — рассматривать работу как очередь. Дорогую высокодетализированную работу отдавать людям. Повторяемую, описываемую и массовую работу отдавать модели, а между генерацией и публикацией ставить этап человеческой проверки. Как только такое разделение принято, инженерные вопросы становятся обычными: как обеспечить согласованность вывода, как планировать соотношения сторон, которые реально использует магазин, и как запускать задачи пакетами, не следя за ними вручную?
Остальная часть руководства отвечает на эти вопросы применительно к платформе HiAPI и в конце приводит структуру запроса, которую можно адаптировать для собственного товарного каталога.

Что предлагает grok-imagine/text-to-image на HiAPI
На HiAPI grok-imagine/text-to-image — это идентификатор модели, доступный через единый унифицированный API-интерфейс. Вы отправляете текстовый промпт с описанием нужного изображения и получаете сгенерированный графический ресурс. На концептуальном уровне это весь контракт — и об этом стоит сказать прямо, поскольку многие проблемы интеграции возникают из-за лишних предположений.
Для планирования важно несколько уточнений о границах:
Он управляется промптом, а не референсным изображением. Композиция, которую вы получите, происходит из предоставленного текста. Если позиция требует точного воспроизведения реального объекта, эта модель не подходящий инструмент; используйте её там, где допустимо достоверное изображение по описанию.
Всё проходит через один и тот же интерфейс. Аутентификация, структура запроса и обработка ответа следуют соглашениям платформы HiAPI, а не диалекту, специфичному для модели. Это означает, что код, написанный вами для этой модели, имеет тот же скелет, что и для любой другой модели изображений на платформе, что позволяет держать клиентский слой компактным.
Промпт — ваша главная плоскость управления. Поскольку вы не направляете модель структурированными полями или референсными изображениями, большая часть ответственности ложится на спецификацию промпта. Следующий раздел превращает её в шаблон.
Биллинг следует модели учёта платформы, актуальные тарифы смотрите на панели цен. Планируйте ёмкость по количеству изображений, генерируемых за один прогон каталога, а затем смотрите актуальные цифры на панели, не вписывайте никакие значения жёстко в плановые документы.
Не предполагайте наличия недокументированных настраиваемых параметров. Если параметра нет в схеме запроса, на которую вы опираетесь, не стройте конвейер, зависящий от него. Считайте документированную поверхность запроса контрактом, а поведение, специфичное для модели, держите вне бизнес-логики.
Полезная мысленная модель: HiAPI предоставляет стабильную, унифицированную точку входа, а grok-imagine/text-to-image — то, что находится за дверью. Пусть ваша интеграция всегда указывает на эту точку входа.
Разработка шаблонов промптов для согласованных визуалов продукта
Согласованность всего каталога — не свойство самой модели, а свойство архитектуры промптов. Если каждый промпт пишется наспех, каждое изображение выглядит как отдельная съёмка. Решение — разложить промпт на фиксированные модули и менять только тот модуль, который описывает продукт.
Четырёхмодульный шаблон
[SUBJECT] что это за продукт и его ключевые свойства материала/цвета
[STAGING] как он размещён в кадре: ракурс, кадрирование, опорная поверхность, масштаб
[LIGHTING] положение света, мягкость, цветовая температура, характер теней
[BACKGROUND] поверхность, глубина резкости, окружение, свободное пространство
[CONSTRAINTS] чего не должно быть: текста, водяных знаков, лишних предметов, людей
В рамках одной партии каталога держите STAGING, LIGHTING, BACKGROUND и CONSTRAINTS побайтово идентичными. Меняться должен только SUBJECT в зависимости от продукта. Одна эта дисциплина уже заставляет сетку выглядеть в основном согласованной.
Практический шаблон для электронной коммерции
Studio product photograph of {product_name}, {material}, {color}, {finish}.
Centered three-quarter view, product fills roughly 60% of frame height,
resting on a matte neutral surface. Soft large-source key light from
upper left, gentle fill from right, subtle contact shadow directly
beneath. Seamless light-grey background with clean negative space
above the product. No text, no logos, no watermarks, no props, no people.
Заполните {product_name}, {material}, {color} и {finish} из вашей базы данных продуктов. Всё остальное — константы в кодовой базе, лучше всего в версионируемом файле шаблона, а строку template_version записывайте в журнал генерации, чтобы при дрейфе визуального стиля можно было определить, изменился шаблон или модель.
Практические правила
- Порядок важен меньше, чем стабильность. Выберите один порядок модулей и никогда не меняйте его в пределах каталога.
- Описывайте материал, а не бренд. «Шлифованный алюминий» поддаётся управлению; товарный знак — нет.
- Выносите субъект вперёд. Ставьте конкретную именную группу в начало, чтобы она закрепляла композицию.
- Явно прописывайте отрицания. Для работы с продуктами модуль
CONSTRAINTSне опционален — случайный текст и предметы реквизита — самая частая причина непригодности изображения. - Сначала сгенерируйте три продукта, потом триста. Дефекты шаблона масштабируются линейно вместе с размером каталога.
Относитесь к промпту как к коду: версионируйте его, проверяйте изменения и всегда связывайте сгенерированные ресурсы с версией шаблона, которая их создала.

Планирование сверхшироких соотношений сторон для витрины магазина
Соотношение сторон — проектное решение, которое часто откладывают напоследок. Обычный порядок таков: сгенерировать красивую квадратную картинку, затем обнаружить, что ключевой визуал главной страницы требует гораздо более широкого кадра, обрезать его и потерять верхнюю треть продукта. Планируйте пропорции заранее.
Сначала проведите инвентаризацию позиций
Пройдите по своей витрине и перечислите все различные формы рамок, которые будут нести изображения продукта: плитки сетки, галерею страницы товара, баннеры категорий, ключевой визуал главной страницы, шапку письма и любые платные медийные размещения. У каждой позиции есть форма, и формы кластеризуются. Группируйте их и генерируйте по группам, а не по отдельным изображениям.
Что меняется со сверхшироким кадром
Широкий холст — не растянутый квадрат. Когда ширина увеличивается относительно высоты:
- Горизонтальная безопасная зона растёт, вертикальная — уменьшается. Всё, что находится близко к верхнему или нижнему краю, может быть обрезано при адаптивном кадрировании на маленьких экранах.
- Масштаб субъекта требует решения. Центрированный продукт, разумный по размеру в квадратном кадре, в сверхшироком кадре превращается в маленький островок. Либо намеренно увеличьте его, либо примите композицию, где продукт занимает одну сторону.
- Свободное пространство становится критичным. Широкие рамки часто несут наложенный текст, ценовые бейджи или CTA. Явно зарезервируйте эту область в промпте — например, «правую треть оставить как чистый незахламлённый фон для текста заголовка».
- Градиенты освещения растягиваются. Мягкое виньетирование, хорошо выглядящее на квадрате, на широком кадре может выглядеть как пятно. Делайте описание освещения простым и направленным.
Композиционные схемы, выдерживающие широкое кадрирование
- Продукт слева, свободное пространство справа. Самая надёжная схема для ключевого баннера.
- Продукт по центру, достаточные поля по обеим сторонам. Подходит, когда тот же материал нужно также обрезать в квадрат.
- Продукт справа, окружение слева. Подходит для лайфстайл-баннеров, где левую часть несёт поверхность или текстура.
Генерируйте по самому широкому целевому формату из нужных
Если один материал должен обслуживать и широкий ключевой визуал, и квадратную плитку, сгенерируйте один вариант в композиции широкого кадра и запланируйте квадратную обрезку в вёрстке — либо сгенерируйте два варианта из одного шаблона с разными модулями постановки. Чего следует избегать — так это компоновки в узком кадре и надежды, что широкий вариант тоже подойдёт.
Записывайте предполагаемое соотношение в те же метаданные шаблона вместе с ID продукта, чтобы каждый материал в хранилище знал, для какой позиции он создан.

Создание работающего запроса к HiAPI
Скелет интеграции намеренно сделан скучным, и это именно то, что нужно. Соберите промпт, отправьте его с учётными данными и идентификатором модели на endpoint HiAPI, обработайте возвращённый материал.
Схема процесса
import os, requests
HIAPI_BASE = "https://api.hiapi.ai" # confirm exact base in platform docs
HEADERS = {
"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}",
"Content-Type": "application/json",
}
def build_prompt(product, template):
return template.format(
product_name=product["name"],
material=product["material"],
color=product["color"],
finish=product["finish"],
)
def generate_image(prompt, aspect_ratio="1:1"):
payload = {
"model": "grok-imagine/text-to-image",
"prompt": prompt,
"aspect_ratio": aspect_ratio,
}
resp = requests.post(
f"{HIAPI_BASE}/v1/images/generations",
headers=HEADERS, json=payload, timeout=120,
)
resp.raise_for_status()
return resp.json()
Перед публикацией считайте путь endpoint и точные имена параметров тем, что нужно сверить с текущей документацией платформы — этот код показывает структуру, а не замороженную схему. Важные свойства:
- Идентификатор модели — это данные, а не код. Храните
"grok-imagine/text-to-image"в конфигурации, чтобы смена модели была лишь изменением конфигурации. - Промпт собирается, а не вводится вручную. Одна функция
build_prompt, один источник шаблона. - Соотношение — параметр вызова. Оно часть запроса и должно выбираться по инвентаризации позиций, а не применяться как постобработка обрезкой.
- Ключи берутся из переменных окружения. В репозитории не должно быть никаких учётных данных.
Записывайте информацию, которая понадобится позже
Для каждого запроса сохраняйте: ID запроса, ID продукта, версию шаблона, соотношение сторон, полную строку промпта, идентификатор модели, метку времени и ссылку на возвращённый материал. Когда товарный оператор спросит, почему какая-то плитка выглядит неправильно, этот журнал даст ответ за секунды, а не за полдня.
Держите клиент компактным
Оберните вызов в небольшую функцию, возвращающую ссылку на материал или типизированную ошибку. Ваша задача по каталогу не должна знать про HTTP, а ваш HTTP-слой не должен знать про продукты. Именно это разделение делает логику повторных попыток из следующего раздела короткой.
Обработка вывода, повторные попытки и пакетные задачи
Генерация — простая часть. Всё, что действительно делает конвейер изображений надёжным, происходит после возврата ответа.
Проверяйте перед публикацией
Каждый возвращённый материал должен пройти автоматические ворота, прежде чем попасть в позицию каталога:
- Существует ли он и декодируется ли? Файл, который скачивается, но не разбирается, — это тихий сбой, ждущий дня запуска.
- Совпадает ли форма с позицией? Сверяйте размеры с запрошенным соотношением, а не с ожидаемым.
- Соблюдены ли ограничения? Если ваш шаблон запрещает текст на изображении, помечайте материалы с обнаруженным текстом — лёгкого классификатора или даже выборочной ручной проверки для малых партий достаточно.
- Проходит ли он человеческую проверку? Для любого клиентского контента настройте этап проверки. Статус одобрения — это поле на записи материала, а не сообщение в Slack.
Повторяйте с учётом различий
Не все сбои одинаковы, и одинаковое к ним отношение тратит ёмкость впустую.
- Ошибки транспорта и ограничения частоты: повторяйте с экспоненциальной задержкой и джиттером, ограничивая небольшим числом попыток.
- Сбои сервера: повторите несколько раз с задержкой, затем помечайте элемент как неудачный и продолжайте.
- Ошибки схемы или валидации: никогда не повторяйте — они будут падать так же. Логируйте и оповещайте.
- Отказ по качеству: не повторяйте вслепую. Повторный запуск точно того же промпта часто даёт похожий результат. Меняйте одну переменную — обычно описание субъекта — и фиксируйте, что эта повторная попытка использовала изменённый промпт.
Ключуйте задачи по (product_id, template_version, aspect_ratio), чтобы каждая попытка была идемпотентной. Упавший рабочий процесс должен восстанавливаться без повторной траты.
Запускайте партии через очередь, а не через цикл
Для любой задачи более чем с несколькими изображениями организуйте работу как очередь:
- Перечислите целевые выходы из базы данных продуктов и инвентаризации позиций, создавая записи задач со статусом
pending. - Обрабатывайте задачи с ограничением параллелизма — начинайте консервативно и повышайте только после наблюдения стабильной задержки.
- Сохраняйте каждый результат в объектное хранилище под детерминированным ключом и записывайте запись материала с метаданными генерации.
- Отчитывайтесь о партии: число попыток, успехов, сбоев, отказов по проверке и общее число повторов. Публикуйте эту сводку, а не только счётчик успехов.
Добавьте режим dry-run, который собирает и записывает каждый промпт без вызова API. Это самый дешёвый способ поймать дефекты шаблона на тысячах SKU.
Чек-лист перед выпуском изображений продукта в продакшен
Пройдите этот чек-лист перед запуском первой партии каталога.
Качество промптов
- Шаблон разложен на модули субъекта, постановки, освещения, фона и ограничений.
- В рамках одного прогона каталога меняется только модуль субъекта.
- Отрицательные ограничения явны и включают текст, водяные знаки и случайные предметы реквизита.
- Шаблон находится под контролем версий, и строка версии записывается в каждую запись материала.
- Выборочно проверены как минимум три продукта, представляющих крайние случаи материалов и цветов.
Покрытие соотношений
- Каждая позиция витрины имеет задокументированное соотношение и соответствующую схему постановки.
- Сверхширокие материалы компонуются в широком кадре с зарезервированным свободным пространством для наложенного текста.
- Адаптивное кадрирование проверено на самом маленьком поддерживаемом экране.
Надёжность конвейера
- API-ключи загружаются из окружения и никогда не коммитятся в репозиторий.
- Идентификатор модели и endpoint находятся в конфигурации и сверены с текущей документацией платформы.
- Стратегия повторных попыток различает транспортные, серверные сбои, ошибки валидации и отказы по качеству.
- Задачи идемпотентны по продукту, версии шаблона и соотношению.
- Для каждого запроса записываются промпт, соотношение, модель, метка времени и ссылка на возвращённый материал.
Проверка и эксплуатация
- Для клиентских материалов настроены ворота человеческого одобрения.
- Сводка партии сообщает о сбоях и отказах по проверке, а не только об успехах.
- Режим dry-run доступен и реально использовался перед крупными прогонами.
- Текущие тарифы подтверждены на панели цен платформы, а ёмкость спланирована по количеству изображений.
Когда каждый пункт отмечен, а образец партии выглядит как одна согласованная съёмка, а не собрание незнакомцев, можно выпускать.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков