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

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

Разбор повторного тестирования 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 секунд — запрос заблокировала проверка».

Пояснение к сравнению: данные в таблице выше и сравнительной иллюстрации взяты из повторных тестов по документации 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 с изменением одной переменной
Метод проверки из документа можно свести к следующему порядку:
- Зафиксируйте остальные условия: не меняйте модель, эндпоинт, эталонное изображение и параметры — корректируйте только промпт.
- Меняйте за раз только одну переменную: например, только одежду или только количество ракурсов. Не меняйте сразу три вещи.
- Заменяйте отрицательные формулировки утвердительными: подробно опишите верхнюю и нижнюю части одежды, а также обувь — например, «водолазка с длинными рукавами, брюки, кроссовки». При необходимости укажите, что персонаж взрослый.
- Повторите проверку 2–3 раза: успешный результат в одном запуске ещё не означает стабильности. В документе устойчивый вариант успешно прошёл все три проверки — 3/3.
- Если исходный вариант не проходит несколько раз подряд, прекратите повторные попытки: базовый вариант не прошёл ни одной из трёх проверок — значит, запускать его снова без изменений бессмысленно.
- Разбирайте комбинацию на части, только если нужно найти причину: по отдельности проверьте варианты «без нескольких ракурсов в полный рост» и «без эталонного изображения», чтобы понять, какой из факторов запускает фильтрацию.
🚀 Быстрый старт: если сначала хотите воспроизвести и проверить ситуацию в чистой среде, получите бесплатный тестовый лимит через APIYI apiyi.com. Используйте один и тот же API-ключ, зафиксируйте модель и параметры и сравните варианты, меняя по одной переменной. После проверки подключайте решение к производственному процессу.
451 Пример переформулировки промпта для image_safety
Ниже приведены варианты переформулировки, основанные на повторной проверке по документации. При необходимости адаптируйте их под свои задачи.
| Направление | Неудачный вариант | Рекомендуемый вариант |
|---|---|---|
| Одежда | Не откровенная, одежда закрывает тело | Водолазка с длинными рукавами, брюки, кроссовки |
| Персонаж | Модель | Чётко указать, что это взрослый человек |
| Ракурс | Крупный план лица и сразу вид спереди, сбоку и сзади в полный рост | Сначала создать портрет по пояс или генерировать ракурсы поэтапно |
| Стиль | Без сексуализации | Нейтральная повседневная одежда, естественная поза |
Главное при переформулировке — сократить пространство для неоднозначного толкования. Чем конкретнее описание, тем меньше свободы остаётся у модели и тем ниже вероятность, что сгенерированное изображение будет отфильтровано.

Часто задаваемые вопросы
Вопрос 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 при генерации изображений:
- Определите причину: это проверка на стороне результата. Она блокирует сгенерированное изображение и не связана с API-ключом, балансом или ограничением частоты запросов.
- Разделяйте ошибки: обрабатывайте 451 отдельно от 401 и 429 — по коду состояния и
error.code. Не используйте для них одну схему повторных запросов. - Измените описание: зафиксируйте остальные переменные, замените отрицания на конкретное позитивное описание одежды и композиции, а затем повторите проверку 2–3 раза.
При ошибке 451 не спешите менять API-ключ — сначала попробуйте конкретнее описать изображение. Для быстрого сравнения вариантов рекомендуем через APIYI apiyi.com использовать один и тот же API-ключ и зафиксированную модель, меняя по одной переменной за раз. так вы быстрее найдёте формулировку, которая стабильно проходит проверку.
📚 Полезные материалы
- FAQ APIYI: проверка безопасности изображений на выходе: описание ошибки 451
image_safetyи способы её диагностики - Ссылка:
docs.apiyi.com/faq/image-output-safety-review.md -
Описание: форматы ответов, сведения о постмодерации и рекомендации по диагностике с изменением одного параметра за раз
-
Новости APIYI: проверка безопасности изображений на выходе (2026-11): записи повторного тестирования документации
- Ссылка:
docs.apiyi.com/live/2026-11/image-output-safety-review.md - Описание: анонимизированные результаты повторного тестирования модели
gpt-image-2.5-sunburst-vipи ограничения выводов
Автор: техническая команда APIYI
Технические вопросы: свяжитесь с нами на главной странице APIYI apiyi.com. Дополнительные сведения о кодах ошибок графических API можно найти в центре документации docs.apiyi.com.
