HiAPI
Блог

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

Рецепты промптов для imagen4-fast: готовые к копированию промпты для разработчиков

Практическое руководство по промптам для быстрого режима: структура, соотношения сторон и стилевые подсказки

Oct 31, 2026
Cover art: stacked thin cream paper layers with graphite tops and one terracotta sheet, receding in shallow depth.

Почему рецепты промптов лучше разовых промптов

Большинство проблем с генерацией изображений — это не проблемы модели, а проблемы промпта, и их трудно исправить, потому что промпт часто существует только в чьей-то переписке или в устаревшем документе. Разовый промпт, который дал отличный результат во вторник, в пятницу уже не воспроизводится, потому что вы не можете точно сказать, что именно в нём было написано.

Рецепт промпта решает эту проблему так же, как функция решает проблему скопированного и вставленного кода. У него фиксированная структура, именованные слоты и стабильный идентификатор, чтобы вы могли ссылаться на него позже. Когда результат меняется, у вас есть с чем сравнить.

Практическая выгода проявляется быстро:

  • Согласованность между вызовами. Один рецепт с теми же входными данными даёт сопоставимую композицию и стиль; это критично, когда страница отрисовывает двенадцать карточек в сетке.
  • Дешёвые итерации. Вы меняете один слот за раз, а не переписываете свободную прозу, теряя то, что уже работало.
  • Прослеживаемость. У рецептов есть версии. Когда бренд-команда спрашивает, почему миниатюра выглядит площе, чем в прошлом месяце, вы можете провести бисекцию.
  • Возможность ревью. Рецепты можно проверять в пул-реквестах, как любой другой ресурс, и ревьюеру не нужно зарабатывать на жизнь написанием промптов.

Остальная часть статьи — это руководство. Каждый рецепт следует одному и тому же каркасу, поэтому вы можете прочитать один, адаптировать его и положить в свою кодовую базу без рефакторинга. Относитесь к модели как к компоненту, а к рецепту — как к интерфейсу, который вы строите поверх него.

Одна мысль, которую стоит запомнить: рецепт — это не магическое заклинание. Это контракт между слотом в UI ниже по потоку и вызовом генерации. Слот в UI определяет кадр; рецепт определяет, чем его заполнить.

Фиксированный бумажный каркас, множество согласованных вариантов — вот обоснование многоразовых рецептов промптов.

Базовый каркас промпта

Каждый рецепт в этом руководстве строится из одного и того же каркаса из четырёх частей. Скопируйте этот фрагмент и заполните слоты:

[subject] — [composition] — [style] — [constraints]

Вот и вся основная идея. Ниже — заполненная версия, которую можно сразу вставить в работу:

A lone ceramic coffee cup on a pale oak desk, three-quarter view, shallow depth of field,
soft morning light from the left, minimal editorial product photography, muted warm palette,
no text, no logos, no hands, centered subject with breathing room on all sides

Роль каждого слота

Субъект (Subject) — это одна вещь, о которой изображение. Называйте конкретно: «керамическая кофейная чашка», а не «кофейная атмосфера». Если у субъекта есть действие или состояние, это тоже здесь: «разработчик в середине набора на клавиатуре за тусклым столом». Сопротивляйтесь соблазну добавить второго субъекта; это самая частая причина загромождённых результатов.

Композиция (Composition) управляет кадром. Ракурс (три четверти, сверху, на уровне глаз), положение субъекта (по центру, по левой трети), кадрирование (полный кадр, плотное кадрирование) и глубина резкости — всё это здесь. В этом слоте вы кодируете намерение по соотношению сторон словами, даже если фактическое соотношение — отдельный параметр.

Стиль (Style) — это небольшой визуальный словарь: медиум (фото, плоский вектор, акварель), освещение (мягкий утренний свет, жёсткий контровой свет), цветовая палитра (приглушённые тёплые тона, высококонтрастный монохром) и текстура (матовая, глянцевая, зернистая). Ограничьтесь одним-тремя короткими предложениями. Более длинные стилевые блоки часто конфликтуют друг с другом.

Ограничения (Constraints) — это негативное пространство. Чего быть не должно: текста, логотипов, водяных знаков, лишних конечностей, загромождённого фона, жёстких теней. Ограничения — дешёвая страховка и первое, что стоит расширять, когда рецепт даёт сбои.

Два варианта, которые стоит держать под рукой

Минималистичный предметный снимок:

[object] on a seamless [color] backdrop, centered, straight-on view, soft even studio light,
clean commercial product photography, no shadows on background, no text, no props

Редакционный снимок сцены:

[scene subject] in [environment], wide establishing view, natural light, subtle film grain,
documentary photography, muted palette, no text, no logos, no visible brand marks

Оба намеренно короткие. Если ваш промпт — это нагромождение прилагательных, вы, скорее всего, уже потеряли где-то внутри слот композиции.

Выберите соотношение сторон до написания промпта

Пишите промпт после того, как узнали форму отверстия, которое нужно заполнить. Соотношение сторон — это продуктовое решение, а не решение промпта; выбранное слишком поздно, оно заставит вас переписывать уже настроенную фразу композиции.

Простое сопоставление, покрывающее большинство интерфейсов:

  • Главные визуальные баннеры и заголовки страниц — широкий кадр. Формулировки композиции: «wide establishing view», «horizon placed in the lower third», «negative space on the left for headline overlay».
  • Карточки и плитки сетки — квадратный или почти квадратный кадр. Формулировки композиции: «centered subject», «even margins», «no important detail near the edges».
  • Аватары и маленькие изображения профиля — квадратный кадр, плотное кадрирование, один субъект. Формулировки композиции: «head and shoulders», «centered face», «plain background».
  • Миниатюры и строки списка — маленький широкий или квадратный кадр, субъект должен оставаться различимым в уменьшенном виде. Формулировки композиции: «single dominant subject», «high contrast against background», «no fine detail».
  • Иллюстрации к редакционным материалам или длинным статьям — вертикальный кадр. Формулировки композиции: «vertical composition», «subject occupies the upper two thirds», «foreground anchor at the bottom».

Почему формулировка должна соответствовать кадру

Фраза композиции, написанная для широкого баннера («negative space on the left»), теряет смысл при обрезке до квадрата; а плотное вертикальное кадрирование, описанное словами, будет сжато, если вы запросите широкий кадр. Промпт и соотношение должны согласовываться, потому что вы описываете один и тот же прямоугольник дважды — один раз словами, один раз параметром.

Практический рабочий процесс

  1. Посмотрите на фактический слот в UI, запишите его соотношение сторон и то, как он обрезается на маленьких экранах.
  2. Выберите ближайшее поддерживаемое соотношение сторон, а не требуйте от модели подделать его отступами.
  3. Напишите слот композиции под этот кадр, включая то, где должно остаться негативное пространство.
  4. После генерации проверьте наихудший вариант обрезки (мобильные устройства, уменьшение в сетке), а не идеальный.

Если один рецепт должен обслуживать два сильно различающихся слота, сделайте два рецепта. Скопировать рецепт дешевле, чем написать фразу композиции, которая кое-как работает везде.

Одна и та же сцена, перекомпонованная: соотношение определяется ещё до первого слова промпта.

Блоки стилевых подсказок, переключаемые по интерфейсу

Слот стиля — это часть, которая, как вы должны ожидать, будет меняться чаще всего, поэтому сделайте его модульным. Пишите стилевые подсказки как самодостаточный блок, прикрепляемый к базовому каркасу, и держите по одному блоку на интерфейс или тональность бренда.

Безопасный для бренда / нейтральный

minimal editorial photography, soft diffused light, muted neutral palette,
clean background, product-focused, no text, no logos

Для маркетинговых страниц, где изображение не должно соперничать с текстом за внимание или подразумевать брендовые заявления.

Фотографический / документальный

natural light, documentary photography, shallow depth of field, subtle grain,
unposed subject, realistic color, no heavy filters

Для редакционных иллюстраций и повествовательных интерфейсов, где реалистичность работает лучше лоска.

Плоская иллюстрация

flat vector illustration, limited two-color palette, bold simple shapes,
no gradients, generous whitespace, geometric composition, no text

Для онбординга, пустых состояний и документации, где изображение должно соответствовать дизайн-системе.

Студийная предметная съёмка

seamless studio backdrop, soft even key light, crisp shadows, high detail on the subject,
commercial catalog photography, no props, no text

Для каталогов товаров и сеток сравнения, где согласованность между изображениями важнее любого отдельного изображения.

Как переключать без деградации

  • Относитесь к стилевому блоку как к переменной и никогда не смешивайте его с фразами субъекта или композиции. Если стилевые слова разбросаны по всему промпту, вы не сможете чисто их заменить.
  • Меняйте за раз только один блок и перегенерируйте тот же субъект и композицию. Если две переменные меняются одновременно, вы не сможете определить, какая вызвала изменение.
  • Следите, чтобы стилевой блок не протаскивал контрабандой композицию. «Centered» и «close-up» относятся к композиции, а не к стилю; если они живут в стилевом блоке, ваши усилия по соотношению сторон молча обнуляются.
  • Обрезайте разрастающиеся блоки. Трёх стилевых фраз обычно достаточно; пять начинают конкурировать.

Полезный тест: замените стилевой блок в остальном идентичного рецепта и посмотрите, подходит ли вывод к тому же слоту UI. Если подходит, блок изолирован правильно.

Параметризация промптов в коде

Рецепты должны существовать как шаблоны, а не как строковые литералы, разбросанные по обработчикам. Шаблон с именованными переменными бесплатно даёт вам A/B-тестирование, откаты и переопределения по интерфейсу.

Форма шаблона

RECIPE = {
    "id": "product-hero-v3",
    "template": (
        "{subject} — {composition} — {style} — {constraints}"
    ),
    "defaults": {
        "composition": "centered subject, generous margins, eye-level view",
        "style": "minimal editorial photography, soft diffused light, muted neutral palette",
        "constraints": "no text, no logos, no watermark, clean background",
    },
    "aspect_ratio": "1:1",
}


def render(recipe, **overrides):
    slots = {**recipe["defaults"], **overrides}
    return recipe["template"].format(**slots)

Объект рецепта несёт свой идентификатор (id), кадр (aspect_ratio) и значения по умолчанию. Вызывающая сторона передаёт только отличия. Это делает точки вызова короткими и сразу показывает разницу между двумя интерфейсами.

Варианты для A/B-тестирования

Моделируйте варианты как переопределения базового рецепта, а не как отдельные ветки строк:

variants = {
    "control": {},
    "warm": {"style": "minimal editorial photography, warm afternoon light, muted warm palette"},
    "tight": {"composition": "tight crop, subject fills the frame, eye-level view"},
}

Поскольку каждый вариант разделяет субъект и ограничения, разницу в результатах можно отнести к тому слоту, который вы изменили. В этом вся ценность упражнения.

Откаты и закрепление

  • Дайте каждому рецепту версию в id и записывайте её при каждом запросе генерации. Когда результат меняется, журнал скажет вам, какая версия рецепта что выдала.
  • Некоторое время держите старые версии адресуемыми. Откат должен быть изменением конфигурации, а не откатом кода под давлением.
  • Передавайте в свою систему аналитики id рецепта, а не отрендеренную строку, чтобы группировать результаты по рецепту, а не по точному тексту промпта.
  • Проверяйте слоты до вызова API — пустой subject должен быстро падать в вашем приложении, а не выдавать расплывчатое изображение.

Считайте соотношение сторон первоклассным параметром наравне с шаблоном, потому что его определяет слот UI, а не текст промпта. Всё, что нужно API, должно выводиться из одного объекта рецепта, чтобы у каждого интерфейса был единый источник истины.

Распространённые режимы отказов и способы отладки

Большинство плохих результатов можно проследить до одного слота. Используйте этот список, чтобы решить, какую часть каркаса настроить, прежде чем начинать переписывать весь промпт.

Субъект обрезан или выходит за кадр

Симптом: обрезанная голова, объект выходит за край, важные детали за пределами безопасной зоны.

Сначала исправьте слот композиции, а не стиля. Добавьте явные формулировки кадрирования («full subject in frame», «generous margins on all sides») и убедитесь, что соотношение сторон соответствует предполагаемому кадру. Если сам субъект высокий, а слот широкий, то неправильный кадр, а не промпт.

Загромождённый результат

Симптом: несколько конкурирующих фокусных точек, загромождённый фон, реквизит, который вы не просили.

Исправьте слот субъекта. Сократите до одного субъекта, одного состояния. Всё, что может быть прочитано как реквизит, перенесите в ограничения как исключение. Загромождённость обычно означает расплывчатый субъект, а не чрезмерное рвение модели.

Стиль несогласован в пределах партии

Симптом: некоторые изображения в сетке выглядят как фотографии, другие — как иллюстрации; палитра дрейфует.

Исправьте стилевой блок. Сократите его до одного медиума, одной фразы об освещении, одной фразы о палитре. Удалите стилевые слова, просочившиеся в другие слоты, и разделите рецепт, обслуживающий два разных интерфейса. Несогласованность в пределах партии часто является симптомом того, что стилевой блок различается при каждом вызове.

Появляется текст или логотипы

Симптом: неразборчивые буквы, поддельные водяные знаки, похожие на брендовые знаки.

Расширьте ограничения: «no text, no lettering, no logos, no watermarks, no signage». Если композиция подразумевает носитель, на котором обычно есть текст (экран, упаковка, плакат), либо явно укажите это, либо измените композицию.

Вывод игнорирует запрошенное настроение

Симптом: изображение правильное, но ощущается плоским, резким или обобщённым.

Исправьте стилевой блок, по одной фразе за раз. Освещение обычно даёт наибольший рычаг; палитра — следующий. Перегенерируйте с тем же субъектом и композицией, чтобы сравнение было честным.

Все остальные случаи

Если оба слота выглядят подозрительно, измените один и перегенерируйте. Если результат всё ещё неправильный, сделайте шаг назад и проверьте, не просят ли рецепт обслуживать слот UI, для которого он никогда не писался — это продуктовое несоответствие, а не дефект промпта.

Публикация библиотеки рецептов

Как только рецепты становятся шаблонами с версиями, они становятся активом, который команда поддерживает вместе с кодом. Цель — чтобы любой мог найти рецепт, стоящий за данным интерфейсом, понять, почему он выглядит так, и безопасно его изменить.

Организуйте по интерфейсу, а не по тексту промпта

Группируйте рецепты по месту отрисовки: hero, card, avatar, thumbnail, editorial-figure. Разработчик, смотрящий на страницу тарифов, должен попасть на рецепты, используемые этой страницей, а не на алфавитный список прилагательных. Дайте каждому рецепту стабильный id и суффикс версии и храните значения по умолчанию внутри объекта рецепта.

Ревью рецептов в пул-реквестах

Относитесь к изменениям рецептов как к изменениям компонентов. Диф должен показывать, какой слот изменился и почему. Ревьюер может задать полезные вопросы: соответствует ли композиция кадру, не просочились ли стилевые слова в композицию, не сжались ли ограничения? Маленькие дифы по одному слоту легко ревьюить; целые переписывания — нет.

Версионирование, журналирование и очистка

  • Записывайте id и версию рецепта при каждом запросе генерации, чтобы изменения в выводе можно было проследить до конкретного изменения.
  • Держите устаревшие версии адресуемыми, пока ни один интерфейс на них не ссылается, затем удалите их за один проход очистки, а не оставляйте мёртвые рецепты навсегда.
  • Когда вы добавляете вариант, повышайте победителя до новой версии, а не оставляйте A/B-ветку как постоянный путь.

Документируйте контракт

Для каждого рецепта документируйте предполагаемый слот UI, соотношение сторон и ограничения, которые нельзя отбрасывать. Достаточно двух предложений. Следующему человеку, который будет менять этот рецепт, нужно знать, что он не имеет права ломать.

Держите цикл коротким

Рецепты портятся, когда их никто не перегенерирует после изменения дизайна. Встройте небольшой шаг ревью в любую UI-работу, меняющую слоты изображений, и перезапускайте затронутые рецепты как часть этого изменения. Система остаётся дешёвой, только если цикл обратной связи остаётся коротким.

Начните с базового каркаса, добавляйте по одному стилевому блоку на интерфейс и позволяйте библиотеке рецептов расти из реальных слотов, а не из воображаемых. Если вы встраиваете генерацию в приложение, держите точки вызова тонкими, а решения — в объекте рецепта.

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

Все статьи →

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

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

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