Вы отправили на генерацию карточку товара — комплект белья на светлом фоне, ничего лишнего. Модель подумала несколько секунд и вернула отказ. Через час тот же самый промпт отработал без единой правки. Это не сбой соединения и не ваша невнимательность: у генераторов изображений фильтр устроен так, что один и тот же запрос действительно может пройти и не пройти.

Дальше — как этот фильтр устроен у трёх семейств, которые чаще всего стоят в рабочем стеке: Nano Banana (модели изображений Google Gemini), GPT-Image от OpenAI и Seedream от ByteDance. И главное — что делать с формулировкой, когда зарубили нормальную коммерческую задачу. Общая механика модерации у видео и картинок одна, её мы разбирали отдельно: разбор модерации целиком.

Фильтр не один, их три

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

СлойКогда срабатываетКак выглядит
Текстовый промптДо запуска моделиОтказ приходит мгновенно, картинки нет вообще
Входное изображениеПри редактировании, референсе, img2imgОтказ после загрузки файла, часто с упоминанием лица или человека
Готовый результатУже после генерацииСамое обидное: модель отработала, но на выдаче ошибка вместо картинки
Три слоя проверки и как выглядит отказ

Третий слой объясняет плавающее поведение. Модель каждый раз рисует чуть иначе, а выходной классификатор оценивает то, что получилось. Отсюда и «вчера работало»: промпт тот же, картинка другая, вердикт другой. У Google это прямо разделено в ответе API — promptFeedback.blockReason говорит про блок на входе, finishReason у кандидата — про блок на выходе.

Что именно говорит каждая модель, когда отказывает

Nano Banana (Gemini)

Здесь отказ приходит не HTTP-ошибкой, а полем в ответе, и по значению видно, какой слой сработал. На входе это SAFETY (настраиваемые категории) и PROHIBITED_CONTENT (встроенная защита, которую не отключают). На выходе — значения с приставкой image: IMAGE_SAFETY, IMAGE_PROHIBITED_CONTENT, IMAGE_RECITATION (слишком близкое воспроизведение защищённого материала) и IMAGE_OTHER без объяснения причины. Отдельно бывает NO_IMAGE: запрос формально успешен, но картинки в ответе нет — вместо неё текст.

Важная деталь, которая экономит часы. Настройки безопасности в API управляют только первым слоем. Можно опустить все пороги до BLOCK_NONE и всё равно получить finishReason: IMAGE_SAFETY — потому что резануло уже готовую картинку, а выходной слой отключить нельзя в принципе. Если вы третий раз подряд правите текст и получаете ответ с приставкой image, дело не в тексте: надо менять саму сцену.

Отдельно про людей. В семействах Imagen и Veo есть параметр personGeneration: dont_allow — людей не рисовать, allow_adult — взрослые, но не дети (значение по умолчанию), allow_all — включая детей. Последнее доступно не всем и не везде: в ряде регионов, включая ЕС и Великобританию, оно недоступно. Узнаваемые публичные персоны не разрешены ни при одном значении, это не настраивается. На всё сгенерированное наносится невидимая метка SynthID.

GPT-Image

Тут наоборот, честная ошибка: код 400, moderation_blocked, текст «Your request was rejected as a result of our safety system». В веб-интерфейсе то же самое выглядит как сообщение о нарушении контентной политики. Категорию, которая сработала, вам не назовут — придётся угадывать по составу промпта. Полезный побочный факт: это блокировка классификатором до запуска модели, поэтому повтор того же самого запроса ничего не меняет, а вычислительная работа не выполняется.

У модели есть параметр moderation со значениями auto (по умолчанию) и low — менее строгий фильтр. Он смягчает, но не отключает: разработчики регулярно жалуются, что при moderation: low через API запрос отклоняется там, где в самом ChatGPT тот же сюжет проходит. У эндпоинта редактирования картинки этой ручки может не быть вовсе. Ещё особенность: если вы просите сразу несколько изображений, часть может отфильтроваться молча — вернётся меньше картинок, чем заказывали, без явной ошибки.

Seedream

Семейство ByteDance отдаёт код content_filter с формулировкой про возможную чувствительную информацию в результате. Слоя те же три: разбор текста, проверка входной картинки в режиме редактирования, финальный аудит результата. Родственные видеомодели того же вендора отдают более говорящие коды — OutputVideoSensitiveContentDetected, OutputAudioSensitiveContentDetected, ошибки «Not Eligible» и «Visual Restriction», сообщение «Input image may contain a real person».

Ключевой нюанс: строгость во многом настраивает та платформа, через которую вы обращаетесь к модели. Одна и та же версия на двух разных сервисах ведёт себя по-разному, потому что пороги выставлены владельцем интеграции под свой риск-профиль. Так что «Seedream всё режет» — утверждение не про модель, а про конкретный доступ.

МодельЧто видитеЧто это значит
Nano Banana / GeminiSAFETY или PROHIBITED_CONTENTРезануло промпт, переписывать текст
Nano Banana / GeminiIMAGE_SAFETY, IMAGE_PROHIBITED_CONTENTРезануло результат, менять сцену целиком
Nano Banana / GeminiIMAGE_RECITATION или IMAGE_OTHERЧаще всего права: узнаваемый персонаж, объект, стиль
Nano Banana / GeminiNO_IMAGEОтвет пришёл, картинки нет — проверять текст ответа
GPT-Image400, moderation_blockedКатегория не названа, разбирать промпт по частям
Seedreamcontent_filterЛюбой из трёх слоёв, порог зависит от платформы
Шпаргалка по отказам

Редактирование: своя фотография и чужая

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

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

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

Рабочий маршрут при этом существует, и он не хуже:

  • Снимать своё или брать материал с оформленными правами и релизом модели — это единственный вариант, который не рассыплется на этапе публикации.
  • Генерировать персонажа с нуля вместо загрузки чужого портрета: сгенерированное лицо детектор входных фотографий не смущает.
  • Если фотореализм не обязателен, рисовать сцену в стилизации — нарисованные лица проходят там, где не проходит фотоснимок. Это официальное поведение фильтра, а не лазейка.
  • Если блокируют съёмку с реальными людьми, на которую у вас есть права, — писать в поддержку сервиса, у корпоративных тарифов бывает ручной разбор случая.
  • Менять модель: пороги у Nano Banana, GPT-Image и Seedream разные, и то, что режет одна, вторая спокойно рисует.

Где спотыкаются обычные рабочие задачи

Ниже не экзотика, а то, на чём люди застревают каждую неделю. Логика правок везде одна: убрать из промпта слово, которое классификатор читает как намерение, и оставить описание того, что должно быть видно в кадре.

ЗадачаЧто обычно рубитКак переписать
Карточка товара, бельё и купальникиСочетание «тело + одежда» читается как откровенный контент«Комплект белья на невидимом манекене, фронтальный кадр, светло-серый фон, студийный свет» — убрать человека из кадра совсем
Карточка товара, ножи и инструментСлова «нож», «лезвие», «острый»«Кухонный инструмент с деревянной рукоятью, предметная съёмка на разделочной доске, вид сверху»
Портрет для соцсетейМодель дорисовывает похожесть на знаменитость и рубит результатДобавить конкретики, ломающей усреднённое лицо: возраст, черты, свет, ракурс. Никаких имён и «похож на»
Реклама с людьмиЗагруженное фото реального человекаГенерировать модель с нуля либо использовать материал с релизом; в промпте описывать типаж, а не личность
Рекламный кадр с продуктом брендаЛоготипы и узнаваемая упаковкаСвой логотип накладывать в редакторе после генерации, в промпте — «упаковка без брендинга, нейтральная этикетка»
Инфографика и схемыТребование точного текста внутри картинки плюс финансовые данныеПросить чистые блоки под подписи, текст и цифры добавлять вёрсткой
Медицина и уход«Кровь», «рана», «инъекция», «шрам»«Медицинский работник в перчатках, крупный план рук, обучающая иллюстрация»; детали — описанием процедуры, а не повреждения
Спорт и единоборства«Удар», «бой», «нокаут»«Двое спортсменов в защитной экипировке, тренировочный спарринг, зал, широкий план»
Исторический и военный сюжетФорма, оружие, символика в одном кадре«Реконструкторы в исторических костюмах, общий план поля, музейная иллюстрация», без символики и без крупного плана оружия
Детская тематикаЛюбое упоминание ребёнка резко поднимает строгость всего запросаМаксимально нейтральный контекст: «школьный класс, дети за партами, дневной свет, иллюстрация» — и никаких описаний внешности
Что написали — почему зарубило — что написать вместо

Бренды и логотипы в кадре

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

Практика простая: генерируйте нейтральный носитель, а фирменный слой добавляйте сами. Бутылка без этикетки, коробка без принта, вывеска с пустым полем — а логотип накладывается в редакторе за минуту и будет ровно тем, который вы согласовали с юристом. Заодно вы не получите на выдаче «почти нужный, но кривой» знак, который всё равно нельзя публиковать.

То же касается персонажей чужих франшиз. Известные герои мультфильмов и игр блокируются жёстко, и заход через описание вместо имени тоже часто ловится: у Gemini на это есть отдельное значение IMAGE_RECITATION — результат оказался слишком близок к защищённому материалу.

Почему «в стиле такого-то художника» может не пройти

Здесь причина не в безопасности, а в позиции вендоров относительно живущих авторов. У OpenAI имя современного художника в промпте — известный триггер moderation_blocked, при этом более широкие студийные, школьные и жанровые описания стиля проходят. То есть одно имя роняет запрос, который без имени отработает идеально.

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

Каркас замены имени автора на описание

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

Готовые промпты под товарную съёмку

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

Предметка на белом фоне для маркетплейса

Предметная студийная съёмка: [товар] на бесшовном белом фоне, фронтальный ракурс, мягкий рассеянный свет из двух источников, мягкая тень под предметом, резкость по всей плоскости, без текста и без логотипов, соотношение сторон 1:1.

Одежда и бельё без человека в кадре

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

Лайфстайл-сцена с товаром

[Товар] на деревянной столешнице у окна, утренний естественный свет сбоку, мягкие тени, в расфокусе фрагмент интерьера, руки человека не в кадре, тёплая цветовая гамма, горизонтальный кадр 3:2, реалистичная фотография, объектив 50 мм.

Порядок действий при отказе

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

Пятый пункт работает только там, где модели стоят рядом и переключаются в один клик. В MediaLab на СуперИнтеллекте в каталоге больше 250 моделей генерации изображений, видео и звука, включая Nano Banana, GPT-Image-2, Seedream, Flux-3, Qwen Image 3 и Seedance — перебрать три варианта одного кадра занимает минуты, а не переоформление подписок. Что ещё умеет раздел, собрано на странице MediaLab.

Где переформулировка не поможет

Честная граница, чтобы не тратить вечер. Есть категории, где отказ окончательный, и попытки его обойти ведут к блокировке аккаунта на уровне API без восстановления.

  • Сексуальный контент, тем более с участием несовершеннолетних, — блокируется абсолютно и без исключений.
  • Интимные изображения без согласия изображённого человека.
  • Реалистичные изображения узнаваемых людей без прав, включая замену лица и «примерку» одежды на чужом портрете.
  • Фотореалистичное чужое лицо на входе в режиме редактирования и оживления: это жёсткий блок, никакая переформулировка промпта его не снимает.
  • Снятие чужих водяных знаков — это запрет уровня правил использования, а не порог фильтра.
  • Подделка документов, чеков, заказов и удостоверений.
  • Чужие логотипы и персонажи франшиз в коммерческом использовании.

Всё остальное — вопрос формулировки, и обычно решается за две-три итерации. Если задача выходит за пределы статичной картинки, дальше по маршруту: видео прямо в чате, 3D-модель из фотографии и озвучка текста — там своя модерация, но механика та же: три слоя и выходной классификатор.


Попробовать перебор моделей можно без карты: при регистрации на СуперИнтеллекте единоразово начисляются 100 нейронов, этого хватит на несколько заходов в генерацию. Дальше — по задаче: тарифы начинаются с 890 ₽ в месяц, видео в чате открывается со Стандартного за 2 690 ₽, сравнение лежит в материале какой тариф выбрать и на странице тарифов. Сервис работает из России без VPN, оплата в рублях, для юрлиц выставляется счёт. Продукт целиком — на suin.ai, а каталог моделей и интеграций — на сайте платформы.

Фактура по кодам ошибок сверена с документацией Google по ответственному использованию генерации изображений и параметру personGeneration, справкой OpenAI по API генерации изображений и описанием фильтров у моделей ByteDance, а также обсуждениями на форумах Google AI Developers и OpenAI Developer Community, где разработчики разбирают конкретные случаи блокировок коммерческих задач.