Skip to main content
Как получить именно то изображение, которое вы хотите отвечает на вопрос «эта одна попытка не удалась, как мне это исправить». Эта страница отвечает на следующий вопрос: как сделать так, чтобы каждая попытка была удачной. Вопрос, который возникает постоянно: потребительские продукты для изображений, такие как freepik.com и higgsfield.ai, работают на тех же базовых моделях, что и вы, — на тех же семействах Nano Banana, GPT-Image и FLUX, — но их результат выглядит более завершённым. Разница не в весах модели. Она в слое, который обёрнут вокруг модели, и вы можете создать этот слой сами. Эта страница показывает, как.

1. Как потребительские продукты для изображений оборачивают model

Если разобрать один из таких продуктов, вы увидите примерно восемь слоёв снаружи model. Каждый из них можно воспроизвести в API:
Два ограничения платформы, которые нужно прояснить, прежде чем вы копируете список функций конкурента:
  1. У APIYI нет эндпоинта для апскейлинга, удаления фона или восстановления лица. Если вам нужно большое изображение, выбирайте уровень высокого разрешения во время генерации (gpt-image-2 at 4K, Nano Banana Pro at 4K), а не рассчитывайте на увеличение позже. Для прозрачного фона используйте официальный релей gpt-image-2 с background: "transparent" — он возвращает PNG с настоящим alpha-каналом (seedream-5-0 / seedream-5-0-pro можно только задавать через prompt, и alpha не гарантирован при каждом вызове). См. Как мне генерировать изображения с прозрачным фоном.
  2. APIYI не предлагает LoRA или обучение идентичности. Возможность Soul ID с принципом «обучил один раз — зафиксировал лицо навсегда» можно лишь приблизить с помощью референсных изображений: один и тот же персонаж всё равно будет смещаться между сценами и изменениями освещения, и лучше всего работает, когда новый кадр остаётся близок к фронтальному ракурсу и исходному освещению. Для коммерческих персонажей, которым нужна строгая консистентность, заложите этап ручной проверки.

2. Первый слой уже разделяет результаты: превращайте неформальный ввод в структуру

Это слой с наибольшим эффектом, и именно его чаще всего пропускают.

Сравнение бок о бок: одна модель, один бриф, два prompt

Бриф такой: «товарный снимок кофе для e-commerce». Слева — то, что пользователь действительно вводит; справа — тот же бриф, но с заполненными недостающими решениями. Обе версии были запущены по одному разу на gemini-3-pro-image (Nano Banana Pro) в 2K, 1:1:
Изображение кофе по неструктурированному prompt: деревянный стол, кофемолка, мешок из мешковины и другие не запрошенные предметы, тёплая ностальгическая цветокоррекция и вымышленное название бренда, напечатанное на чашке

Casual prompt: 'Make me a coffee product shot, make it look nice, make it feel premium'

Изображение кофе по структурированному prompt: матовая чёрная керамическая чашка на светло-серой поверхности из микробетона, чистый размытый фон, чёткое направление света, большое негативное пространство

Structured prompt: subject, environment, light position, lens, grading, imperfections and composition all specified

Левое изображение нельзя назвать некрасивым, но оно непригодно к использованию. Модель приняла кучу решений, которые никто не утверждал: добавила кофемолку и мешок из мешковины, выбрала ностальгическую тёплую цветокоррекцию и нанесла на чашку вымышленное название бренда — автоматически сгенерированный текст такого рода делает кадр коммерчески бесполезным. Правое изображение можно сразу разместить на странице товара: нейтральный фон, световая схема, которую можно описать вслух, и место для текста. «Выглядит красиво» и «пригодно к использованию» — разные цели. Casual prompt может добиться только первой.

Шесть элементов, которые должен обеспечить слой переписывания

Переписывание не означает сделать prompt длиннее. Оно означает заполнить недостающие решения. У image prompt есть шесть несущих элементов:
Разрешение — не седьмой элемент. Выходное разрешение задаётся только параметрами вроде size / imageSize; если написать «4K» или «8K» в prompt, не добавится ни одного пикселя. См. Сжатие изображений и выходное разрешение.

Слой переписывания в коде

Здесь достаточно дешёвой и быстрой текстовой модели; её стоимость ничтожна по сравнению с генерацией:
Обратите внимание на правило, запрещающее «8K, ultra HD, masterpiece, perfect» — раздел 4 объясняет почему.

3. Конвейер, который вы реально можете выпустить

Соедините оставшиеся четыре слоя со слоем переписывания, и у вас будет вся схема:
1

Переписывание: неформальный ввод в структурированный prompt

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

Опора: референсные изображения плюс константа стиля

Стиль закрепляется двумя вещами: константой стиля, добавляемой к каждому prompt (ваш пресет), и фиксированным набором референсных изображений.Лимиты референсов сильно различаются по семействам — проверьте свой вариант, прежде чем проектировать конвейер:Два правила, которых нужно придерживаться: «изображение 1 / изображение 2» в prompt строго соответствуют порядку в массиве, поэтому явно укажите, что есть что; и Grok учитывает референсные изображения только на /v1/images/edits — передача их в /v1/images/generations молча отбрасывает их и все равно списывает с вас средства.
3

Образцы: генерируйте N параллельно, не полагайтесь на n

Ощущение потребительского продукта в духе «попал с первого раза» на самом деле означает, что продукт вытягивает несколько карт за вас.Но параметр n на стороне сервера не влияет на большинство image models (Seedream полностью его игнорирует). Чтобы получить несколько кандидатов, отправляйте несколько запросов одновременно с клиента — на страницах skill этого сайта лимит составляет 5 за раз. Настраивайте параллельные запросы для каждого канала; некоторые начинают возвращать 429 уже при 2, так что добавьте экспоненциальную задержку повторов.
4

Отбор: используйте vision model в роли судьи

Когда у вас есть N кандидатов, вы должны выбрать автоматически, иначе вы просто переложили выбор на пользователя.Отправьте кандидатов обратно в vision model для оценки по стандартному /v1/chat/completions входу изображения; см. Понимание изображений для подходящих моделей. Зафиксируйте рубрику по пяти измерениям и требуйте JSON в ответ: соответствие инструкции, структура и анатомия, корректность текста, реалистичность текстуры, композиция.
Не используйте /v1/rerank для этого. bge-reranker-v2-m3 — это модель reranking только для текста и не принимает изображения. Для оценки изображений требуется модель для понимания изображений.
5

Доработка и релиз

Корректируйте локально после того, как композиция уже определена — так вы получите куда более высокий процент успеха, чем от одной составной инструкции:
  • Локальная перерисовка на уровне пикселей: маски поддерживает только официальный релей gpt-image-2; см. Руководство по масочному inpainting.
  • Накопительное редактирование в несколько ходов: поддерживается на родном эндпоинте Gemini для моделей Nano Banana (передавайте предыдущее изображение обратно как role: "model"); маршруты, полученные реверс-инжинирингом, этого не поддерживают.
  • Сразу перенесите на свой хостинг: каждый возвращаемый URL временный (FLUX — примерно 10 минут и без CORS; Seedream и R2 — примерно 24 часа), поэтому загружайте его в свое объектное хранилище сразу, как только получите.

Минимальная сквозная реализация

4. Устранение «AI-внешнего вида»

«AI-внешний вид» — это не загадка. Это набор конкретных признаков, которые вы можете по одному устранять.

Сравнение бок о бок

Одна и та же модель (gemini-3-pro-image), один и тот же объект, два стиля prompt, по две изображения в каждой, показана первая из каждой серии:
Портрет по пустому prompt: объект по центру и смотрит в камеру, ровное освещение без заметного направления света, аккуратный фон, вид типичной стоковой фотографии

Bare prompt: 'A photorealistic half-body portrait of a young woman by a cafe window, smiling at the camera, 8K, ultra HD, ultra detailed, flawless skin, beautiful, perfect lighting, masterpiece'

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

The same subject after adding four blocks of control language: light position, lens, medium, imperfections

Левое изображение не плохое — базовая модель достаточно сильна, и даже простой prompt все равно дает красивую картинку. Но в нем проявляется весь набор признаков: объект жестко зафиксирован в центре, свет настолько равномерный, что невозможно сказать, откуда он идет, и каждый элемент выглядит безупречно-нейтральным. И это не случайность: оба изображения из этой партии имели по сути одинаковую композицию и схему освещения. Правая картинка сменила подход: свет имеет направление, половине лица позволено уйти в тень, на коже видны жирный блеск и поры, есть родинка на щеке, выбившиеся волосы не причесаны, а объект расположен чуть правее центра. Это читается как конкретный человек, снятый в конкретный момент, а не как «стоковая фотография улыбающейся женщины в кафе».
Именно здесь также проявляется реальная ценность pipeline. Он не превращает неудачный результат в красивый результат — он превращает «случайно удачное» в «то хорошее, которое вы задали, можете описать и можете воспроизвести». Заинтересованная сторона может не предпочесть правое изображение, но по левому вы не сможете сказать, почему оно выглядит именно так, и не сможете попросить следующее изображение повторить его.

Симптом, исправление и чего не писать

Размытые слова о качестве, такие как 8K, ultra HD, ultra detailed, masterpiece и perfect, скорее вредят. Они не добавляют детализации (её дают только параметры) и подталкивают model к слишком резкому, перенасыщенному render — именно в этом и суть AI-облика. Левый prompt выше был ими переполнен, и результат это показывает. Если вам нужен качественный результат, вместо этого указывайте конкретный свет, объектив и medium.

Четыре блока языка управления для копирования и вставки

Добавляйте в prompt по мере необходимости; одной-двух строк из каждого блока обычно достаточно:

Свет

window light from the left is the only source in frame / hard back-side light at three in the afternoon / backlit, with a rim light on the hair / a desk lamp as a practical light inside the frame / overcast diffuse light with no distinct shadows

Объектив

35mm f/2.0, candid, at eye level / 85mm f/2.8, focus on the near eye / 24mm from a low camera position, slight edge distortion / long lens compressing the space, flattened background layers / mild vignetting in the corners

Материал

Kodak Portra 400 character, fine grain / warm highlights, cool shadows / Polaroid instant film, low contrast, soft edges / noise and colour cast of an early CCD digital camera / low saturation overall, no sharpening

Нюансы

natural skin texture, visible pores and facial fuzz / a few loose strands of hair, unbrushed / pilled sweater, worn cuffs / water rings, fingerprints and crumbs on the table / off-centre framing, part of the subject cropped at the edge

Три полных примера

Непостановочный портрет по пояс: женщина лет двадцати с небольшим у окна кафе, повернута в сторону, смотрит наружу, с улыбкой, которую она едва сдерживает. Свет из окна слева — единственный источник в кадре; правая половина её лица уходит в тень, под переносицей — небольшая жёсткая тень с чётким краем. Объектив 85 мм, f/2.8, на уровне глаз, фокус на ближнем глазе. Характер Kodak Portra 400 с мелким заметным зерном, тёплыми светами и холодными тенями, в целом низкой насыщенностью. Естественная кожа: видимые поры и пушок на лице, немного блеска на боку носа, маленькая родинка на левой щеке, несколько выбившихся волосков бровей, свободные пряди волос на лбу. Без сглаживания кожи, без бьюти-ретуши, без повышения резкости. Объект правее центра, слева — негативное пространство.
Главный кадр для e-commerce: матовая чёрная керамическая чашка для пуровера, заполненная на 80% чёрным кофе, с тонким кольцом крема на поверхности. Она стоит на светло-серой поверхности из микробетона, а позади — размытая стена того же оттенка. Основной свет — от софтбокса в левом верхнем углу, под углом 45 градусов; белый отражатель справа оставляет узкий блик вдоль правого края чашки; мягкая падающая тень уходит назад вправо. Объектив-макро 85 мм, f/5.6, фронтальный вид, наклонённый вниз на 15 градусов, вся чашка в резкости. Холодный нейтральный баланс белого, в целом низкая насыщенность. Глазурь имеет лёгкую ручную неравномерность и один крошечный след от обжига в печи, а на кромке заметен едва различимый след использования. Щедрое негативное пространство, чашка в левой трети кадра. В изображении нигде нет названий брендов или текста.
Узкая улица старого города в шесть вечера, сразу после дождя, с лужами, отражающими световые вывески магазинов по обе стороны. Единственный основной свет — тёплый уличный фонарь в конце улицы, а в качестве заполняющего света — витрины магазинов; в небе ещё ощущается след холодных сумерек, создавая тёпло-холодный контраст. Объектив 28 мм, f/4, камера на уровне глаз, слегка наклонена вверх. В целом низкая насыщенность, шум сохранён в тенях, без осветления теней. На стенах — потёки от воды, рваные старые плакаты и блоки кондиционеров; верхнюю часть кадра пересекают линии электропроводов. Никто не смотрит в камеру; прохожие видны со спины и слегка смазаны движением.

5. Факты, которые изменят дизайн вашего пайплайна

Знание этих фактов заранее поможет избежать повторной работы:

6. Расчёт стоимости: когда пайплайн оправдан

Пайплайн обменивает деньги на более высокий success rate. На стоимость генерации изображений сильнее всего влияет output (gpt-image-2 выставляет счёт за output по $30 за миллион tokens), тогда как text- и vision-модели, используемые для переписывания и оценки, почти не влияют на итог. Поэтому стоимость по сути определяется тем, сколько вариантов вы сгенерировали. Используйте три уровня вместо одной настройки для всего: Проверка простая: увидит ли это изображение кто-либо за пределами вашей команды? Если да, Standard или выше окупается; если это только внутренний просмотр, Draft достаточно. Вы также можете добавить промежуточное условие — генерировать больше вариантов только тогда, когда лучшая оценка падает ниже порога, что позволяет большинству запросов сходиться на двух.

Краткое резюме

  • Пробел не в весах модели, а в восьми слоях вокруг модели: переписывание, presets, anchoring, sampling, selection, пошаговое редактирование, post-processing, rehosting.
  • Слой переписывания даёт лучшую отдачу: добавьте субъект, окружение, свет, объектив, grading и композицию, и «выглядит красиво» станет «можно использовать».
  • Несколько кандидатов плюс оценка с помощью vision-model — вот откуда на самом деле берётся высокий воспринимаемый процент успеха у потребительских продуктов. n не работает, поэтому делайте fan out на стороне клиента; /v1/rerank не может оценивать изображения.
  • Убрать AI-внешний вид значит добавить конкретику, а не прилагательные: назовите один источник света, укажите фокусное расстояние и диафрагму, задайте medium и grain, намеренно добавьте несовершенства и сместите субъект от центра.
  • 8K / masterpiece / perfect lighting — это чисто отрицательные варианты — дополнительного разрешения нет, а кадр они уводят в сторону отрендеренного вида.
  • Не рассчитывайте на seeds для воспроизведения; вместо этого архивируйте полный запрос. Image API синхронны и списывают плату при разрыве соединения, поэтому pipeline нужна очередь.
  • У APIYI нет эндпоинтов для upscaling, удаления фона или identity-training; проектируйте архитектуру с учётом этих слоёв с самого начала.

Связанная документация

Как получить нужное вам изображение

Спасение одного неудачного вызова: перепишите prompt, повторите попытку, переключите модели, изолируйте с помощью тестового инструмента

Основы Image API

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

Руководство по Mask Inpainting

Локальные правки на уровне пикселей, только для официального релея gpt-image-2

Тестирование слияния нескольких изображений

Как измерялись ограничения по reference, а также результат слияния 14 изображений

Понимание Vision

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

Создайте собственную асинхронную очередь

Обертывание синхронной генерации в очередь задач для поддержки pipeline с несколькими кандидатами