|

При генерации изображения возвращается 451 image_safety: блокируется созданное изображение, а не отклоняется API-ключ (диагностика в 3 шага + разбор повторных проверок по документации в 5 группах)

При генерации изображения возвращается 451 image_safety: блокируется созданное изображение, а не отклоняется API-ключ (диагностика в 3 шага + разбор повторных проверок по документации в 5 группах)

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

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

Это не очередная общая статья о безопасности контента. Ниже мы опираемся на объяснение ошибки 451 в документации APIYI и опубликованные там результаты повторных тестов с анонимизированными данными — собственные тестовые данные мы не добавляли.

Главное: прочитав эту статью, вы за 1 минуту научитесь отличать ошибку 451 от 401 и 429, а затем сможете добиться успешной генерации, изменяя промпт по одному параметру за раз.

image-api-451-image-safety-generated-image-filtered-ru-image-0


При генерации изображений возвращается 451 image_safety: главное

Сначала — самые важные выводы. Они основаны на самом сообщении об ошибке и описании в документации, здесь не нужно ничего додумывать.

Главное Пояснение Чем это полезно
Проверяется выходное изображение В сообщении сказано: The generated image was filtered by the safety policy Можно не подозревать проблемы с API-ключом или балансом
Проверка происходит после генерации Интерфейс может сначала сгенерировать изображение, а затем проверить результат на безопасность. Если проверка не пройдена, изображение не возвращается Становится понятно, почему блокируют даже промпт, который «выглядит нормально»
Это не означает, что входные данные нарушают правила Провал проверки после генерации не говорит о том, что в самом промпте или эталонном изображении есть явно запрещённые слова Не нужно массово удалять слова или менять эталонное изображение
Нужно менять описание изображения Чётко опишите такие элементы изображения, как одежда и композиция, — это эффективнее, чем добавлять отрицательные формулировки Вы сможете точечно внести изменения и не тратить время на лишние попытки
Не повторяйте запрос без изменений Если одна и та же комбинация параметров снова приводит к ошибке, повторный запрос, скорее всего, опять вернёт 451 Это сэкономит время и средства на вызовы API

Сначала разберитесь с кодом ошибки: чем 451 image_safety отличается от 401 и 429

Получив ошибку, сначала посмотрите на статус-код и error.code, а не спешите менять код. В документации APIYI для 451 указано: ответ имеет статус HTTP 451, error.code равен image_safety, а message — The generated image was filtered by the safety policy. Ключевые слова — generated image: они означают, что фильтрацию не прошла уже сгенерированная картинка.

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

Ошибка Типичное значение Этап возникновения Что делать Стоит ли повторять запрос без изменений
HTTP 451 image_safety Сгенерированное изображение не прошло проверку безопасности После генерации Изменить описание изображения, проверяя по одному параметру Нет. Не повторяйте без изменений запрос с той же комбинацией параметров
HTTP 401 Неверный API-ключ или он передан некорректно На входе запроса Проверить API-ключ и заголовки запроса Нет. Если API-ключ неверный, повторять запрос бессмысленно
HTTP 429 Слишком много запросов или канал перегружен На входе запроса или в очереди Повторить запрос с экспоненциальной задержкой, при необходимости сменить канал Да, соблюдая стратегию задержки
Ошибки, связанные с балансом Недостаточно средств Проверка оплаты Пополнить баланс или скорректировать лимит Нет

Обратите особое внимание: для 451 и 401 нельзя использовать одну и ту же логику повторных запросов. При 401 нужно исправить настройки API-ключа, а при 451 — изменить промпт. Если обрабатывать обе ошибки по общей схеме «при сбое повторить 3 раза», разбираться в проблеме станет только сложнее.

Почему ошибка 451 image_safety появляется уже после генерации изображения

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

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

image-api-451-image-safety-generated-image-filtered-ru-image-1


Разбор повторного тестирования 451 image_safety по документации

В документации APIYI приведены результаты анонимизированного повторного тестирования модели gpt-image-2.5-sunburst-vip. В сценарии использовалось эталонное изображение человека и запрос на создание модельного листа: крупный план лица, а также виды в полный рост спереди, сбоку и сзади на белом фоне. Все данные ниже взяты из повторного тестирования, описанного в документации; в этой статье мы только разбираем их.

Комбинация из документации Результат Время Примечание
Исходный промпт + исходное эталонное изображение 3/3 — неудачно 81.8–95.9 секунд Контрольная группа: стабильно возвращается 451
То же эталонное изображение, но нейтральная повседневная одежда и портрет по пояс 1/1 — успешно 35.7 секунд Запрос прошел после удаления видов в полный рост
Исходный промпт, но без эталонного изображения; используется эндпоинт текст-в-изображение 1/1 — успешно 29.1 секунд Запрос прошел после удаления признаков человека с эталонного изображения
Добавлено только «одежда полностью закрывает тело, непрозрачная, образ не сексуализирован» 1/1 — снова 451 216.8 секунд Отрицательные формулировки не помогли
Явно указаны взрослый человек, водолазка с длинными рукавами, брюки и кроссовки 3/3 — успешно 65.1–238.6 секунд Когда одежда описана прямо, запрос стабильно проходит

Что показали повторные тесты по документации о срабатывании 451 image_safety

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

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

Почему отрицательные формулировки не помогают устранить 451 image_safety

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

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

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

image-api-451-image-safety-generated-image-filtered-ru-image-2

Пояснение к сравнению: данные в таблице выше и сравнительной иллюстрации взяты из повторных тестов по документации APIYI. Оригинал можно найти в разделе FAQ о проверке безопасности изображений в центре документации apiyi.com — там удобно сверить информацию со своей ошибкой.


При генерации изображений возвращается 451 image_safety: быстрое руководство по диагностике

Ещё раз проверьте ID модели: убедитесь, что вызываете нужную модель gpt-image

После подтверждения ошибки 451 следующим шагом проверьте ID модели. В повторном тесте, описанном в документации, использовалась модель gpt-image-2.5-sunburst-vip. Чтобы узнать, какие именно модели есть в серии gpt-image и как они называются, сверьтесь со списком моделей APIYI — он доступен в консоли на apiyi.com.

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

451 image_safety: параметры запроса для устранения проблемы

В этой статье не будет больших фрагментов кода — перечислим только параметры, которые нужно зафиксировать при устранении проблемы. Используется совместимый с OpenAI формат API: укажите https://api.apiyi.com/v1 в base_url, а в api_key SDK подставьте свой API-ключ.

Параметр Пример значения Можно ли менять при устранении проблемы
base_url https://api.apiyi.com/v1 Не менять
model Сверяйтесь со списком моделей APIYI, например gpt-image-2.5-sunburst-vip, использованной для повторного теста по документации Не менять
Эндпоинт Редактирование изображения с эталонным изображением или текст-в-изображение Не менять, если только вы специально не проверяете влияние эталонного изображения
Эталонное изображение Исходное эталонное изображение Не менять
Размер, количество и другие параметры Оставить исходные значения Не менять
prompt Исходный промпт За один раз менять только одну переменную

На уровне кода рекомендуется добавить отдельную ветку для ошибки 451: проверять код состояния ответа и error.code. Если получен статус 451 с кодом image_safety, записать использованный промпт и прекратить автоматические повторы, после чего перейти к ручному или автоматизированному правилами изменению промпта. Для 401 используйте отдельную ветку проверки API-ключа, а для 429 — ветку повторных попыток с экспоненциальной задержкой. Не смешивайте эти три сценария.

451. Пошаговая проверка image_safety с изменением одной переменной

Метод проверки из документа можно свести к следующему порядку:

  1. Зафиксируйте остальные условия: не меняйте модель, эндпоинт, эталонное изображение и параметры — корректируйте только промпт.
  2. Меняйте за раз только одну переменную: например, только одежду или только количество ракурсов. Не меняйте сразу три вещи.
  3. Заменяйте отрицательные формулировки утвердительными: подробно опишите верхнюю и нижнюю части одежды, а также обувь — например, «водолазка с длинными рукавами, брюки, кроссовки». При необходимости укажите, что персонаж взрослый.
  4. Повторите проверку 2–3 раза: успешный результат в одном запуске ещё не означает стабильности. В документе устойчивый вариант успешно прошёл все три проверки — 3/3.
  5. Если исходный вариант не проходит несколько раз подряд, прекратите повторные попытки: базовый вариант не прошёл ни одной из трёх проверок — значит, запускать его снова без изменений бессмысленно.
  6. Разбирайте комбинацию на части, только если нужно найти причину: по отдельности проверьте варианты «без нескольких ракурсов в полный рост» и «без эталонного изображения», чтобы понять, какой из факторов запускает фильтрацию.

🚀 Быстрый старт: если сначала хотите воспроизвести и проверить ситуацию в чистой среде, получите бесплатный тестовый лимит через APIYI apiyi.com. Используйте один и тот же API-ключ, зафиксируйте модель и параметры и сравните варианты, меняя по одной переменной. После проверки подключайте решение к производственному процессу.

451 Пример переформулировки промпта для image_safety

Ниже приведены варианты переформулировки, основанные на повторной проверке по документации. При необходимости адаптируйте их под свои задачи.

Направление Неудачный вариант Рекомендуемый вариант
Одежда Не откровенная, одежда закрывает тело Водолазка с длинными рукавами, брюки, кроссовки
Персонаж Модель Чётко указать, что это взрослый человек
Ракурс Крупный план лица и сразу вид спереди, сбоку и сзади в полный рост Сначала создать портрет по пояс или генерировать ракурсы поэтапно
Стиль Без сексуализации Нейтральная повседневная одежда, естественная поза

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

image-api-451-image-safety-generated-image-filtered-ru-image-3


Часто задаваемые вопросы

Вопрос 1. Что означает `451 image_safety`?

Это означает, что изображение было сгенерировано, но не прошло проверку безопасности. Поэтому API не возвращает изображение, а отвечает кодом HTTP 451 и значением `image_safety` в поле `error.code`. Это постмодерация, или проверка на стороне результата.

Вопрос 2. Чем `451 image_safety` отличается от 401? Нужно ли повторять запрос в обоих случаях?

Ошибка 401 возникает на входе запроса и связана с действительностью API-ключа. Ошибка 451 возникает после генерации изображения и связана с его содержимым. Для этих ошибок нужны разные действия: при 401 исправьте настройки API-ключа, при 451 измените описание изображения. Повтор запроса без изменений не поможет ни в одном из случаев.

Вопрос 3. Как отличить `451 image_safety` от 429?

Код 429 означает ограничение частоты запросов или высокую нагрузку на канал. Обычно помогает повторная попытка после паузы, а при необходимости можно переключить канал. Код 451 означает, что содержимое было отфильтровано: повторные запросы с теми же параметрами будут по-прежнему завершаться ошибкой. Различить эти случаи можно по `error.code`: если там указано `image_safety`, проблема связана с содержимым.

Вопрос 4. Если я получил `451 image_safety`, значит ли это, что моё эталонное изображение нарушает правила?

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

Вопрос 5. Как проверить, какую именно модель семейства gpt-image я вызываю, и воспроизвести ошибку 451?

Рекомендуем действовать так:

1. Зарегистрируйтесь на APIYI (apiyi.com), получите API-ключ и бесплатный тестовый лимит.
2. Проверьте точный ID нужной модели семейства gpt-image в списке моделей.
3. Укажите `https://api.apiyi.com/v1` в параметре `base_url`, зафиксируйте модель и остальные параметры, а затем проверяйте их по одному, следуя инструкциям из этой статьи.

Вопрос 6. Можно ли определить по длительности запроса, что его заблокировала модерация?

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

Вопрос 7. Если после изменения промпта генерация один раз прошла успешно, можно ли запускать решение в production?

Этого недостаточно. В документации рекомендуется провести от 2 до 3 повторных проверок: единичный успешный результат не гарантирует стабильность. В повторных тестах стабильные комбинации давали 3 успешных результата из 3. Рекомендуем использовать тот же критерий при проверке перед запуском.


Ключевые моменты о 451 image_safety

  • Что проверяется: фильтр 451 image_safety проверяет сгенерированное изображение, а не API-ключ.
  • Сначала проверьте код ошибки: 451, 401 и 429 относятся соответственно к контенту, авторизации и ограничению частоты запросов — для каждого случая нужно своё решение.
  • Не используйте один и тот же подход к повторным запросам: при 401 исправьте API-ключ, при 429 повторите запрос с задержкой, при 451 измените описание изображения.
  • Проверяйте по одной переменной: зафиксируйте модель, эндпоинт, эталонное изображение и параметры, а затем меняйте только одну часть промпта за раз.
  • Позитивные описания работают лучше: подробнее опишите верхнюю одежду, нижнюю часть образа и обувь — это надёжнее, чем добавлять отрицания.
  • Проведите регрессионную проверку: после изменений повторите генерацию 2–3 раза и запускайте решение в работу, только если оно стабильно проходит проверку.
  • Как начать: сверяйтесь со списком моделей APIYI, а для сравнения используйте бесплатную квоту.

Итоги

Главное о 451 image_safety при генерации изображений:

  1. Определите причину: это проверка на стороне результата. Она блокирует сгенерированное изображение и не связана с API-ключом, балансом или ограничением частоты запросов.
  2. Разделяйте ошибки: обрабатывайте 451 отдельно от 401 и 429 — по коду состояния и error.code. Не используйте для них одну схему повторных запросов.
  3. Измените описание: зафиксируйте остальные переменные, замените отрицания на конкретное позитивное описание одежды и композиции, а затем повторите проверку 2–3 раза.

При ошибке 451 не спешите менять API-ключ — сначала попробуйте конкретнее описать изображение. Для быстрого сравнения вариантов рекомендуем через APIYI apiyi.com использовать один и тот же API-ключ и зафиксированную модель, меняя по одной переменной за раз. так вы быстрее найдёте формулировку, которая стабильно проходит проверку.

📚 Полезные материалы

  1. FAQ APIYI: проверка безопасности изображений на выходе: описание ошибки 451 image_safety и способы её диагностики
  2. Ссылка: docs.apiyi.com/faq/image-output-safety-review.md
  3. Описание: форматы ответов, сведения о постмодерации и рекомендации по диагностике с изменением одного параметра за раз

  4. Новости APIYI: проверка безопасности изображений на выходе (2026-11): записи повторного тестирования документации

  5. Ссылка: docs.apiyi.com/live/2026-11/image-output-safety-review.md
  6. Описание: анонимизированные результаты повторного тестирования модели gpt-image-2.5-sunburst-vip и ограничения выводов

Автор: техническая команда APIYI
Технические вопросы: свяжитесь с нами на главной странице APIYI apiyi.com. Дополнительные сведения о кодах ошибок графических API можно найти в центре документации docs.apiyi.com.

Читайте также

Похожие записи