Ошибка Your organization must be verified при запросе к gpt-image-2 означает, что для этого обращения сервис требует подтверждения организации. Сначала выясните, какая организация фактически отправляет запрос: отметка Verified в открытом кабинете ещё не связывает с ней ключ вашего приложения.
Практический порядок такой: сохранить сообщение об ошибке, сверить адрес API и настройки запущенного приложения с кабинетом, выполнить действие, соответствующее текущему состоянию проверки, и только после существенного исправления отправить один запрос. Менять текст запроса к модели или многократно повторять генерацию на этом этапе бесполезно.
Материал обновлён 8 сентября 2026 года. Тот же способ диагностики подходит для старого сообщения с gpt-image-1; имя модели при этом нужно брать из своего запроса и ответа, а не из инструкции прошлой версии.
Сначала убедитесь, что ошибка относится к вашему OpenAI API
В руководстве OpenAI по генерации изображений сказано, что для GPT Image, включая gpt-image-2, может потребоваться верификация организации. Это условие доступа конкретного аккаунта, а не утверждение, что проверку обязательно проходит каждый пользователь.
У OpenAI-совместимого приложения может быть другой поставщик API. Поэтому начните с фактического URL: прямой Images API использует https://api.openai.com/v1/images/generations. Сторонний домен означает, что нужно учитывать правила и учётную запись того сервиса, даже если в ответе встречается имя OpenAI или исходное сообщение модели.
Запишите следующие сведения из уже неудавшегося обращения:
- время запроса с часовым поясом;
- имя хоста и путь API без секретных параметров;
- значение
model; - HTTP-статус,
error.code,error.typeи текстerror.message, если они есть; x-request-id, а такжеopenai-organization, если сервер их вернул.
Последние два заголовка помогают связать ошибку с конкретным запросом и его организацией. Их назначение описано в справочнике API. Отсутствие заголовка само по себе не доказывает неверную организацию: промежуточный сервис мог его не передать. Полный ключ и заголовок Authorization в диагностический отчёт не включайте.
Если вы сознательно используете другой сервис, проверка вашей собственной организации OpenAI может вообще не относиться к этому запросу. Отдельно разобран вариант доступа к GPT Image 2 без верификации собственной организации. Успешная генерация там подтверждает работу выбранного сервиса, но не меняет статус вашей организации OpenAI.
В кабинете Verified, а приложение всё ещё заблокировано

Для этой ситуации полезнее таблица сравнения, чем новый ключ «на всякий случай». Смотрите настройки того процесса, который вернул ошибку: локальный терминал, сервер и развёрнутое приложение могут получать разные переменные окружения.
| Что сравнить | Где посмотреть | Как трактовать расхождение |
|---|---|---|
| Адрес API | Параметр base_url / baseURL клиента, конфигурация шлюза или HTTP-лог без секретов | Проверка в кабинете OpenAI не подтверждает доступ через сторонний адрес |
| Организацию | Выбранная организация в настройках платформы, идентификатор организации проекта, явный заголовок запроса | Подтверждена одна организация, а приложение обращается от другой |
| Проект | Выбранный проект в кабинете и проект, в котором выпущен используемый ключ | Успешный тест одного проекта не проверяет конфигурацию другого |
| Источник ключа | Настройка секрета в среде запуска и запись о ключе в нужном проекте | Изменён локальный файл, но сервер продолжает получать прежний секрет |
| Модель и API | Параметры уже отправленного запроса | Проверка другой модели или другого способа вызова не воспроизводит исходный случай |
Например, в кабинете открыта организация команды, а приложение использует секрет из личного проекта разработчика. Ожидание не исправит это несоответствие. Другой пример: в настройках сервера выбран новый секрет, но работающий процесс ещё не перезапущен и продолжает использовать старое значение. Сначала исправьте передачу конфигурации и убедитесь, что запущена актуальная версия приложения.
Это диагностические примеры, а не утверждение о самой частой причине ошибки. Не пытайтесь определить организацию по внешнему виду строки ключа. Надёжнее проверить, где он был создан и откуда именно его загружает приложение.
Для участников нескольких организаций и некоторых старых пользовательских ключей OpenAI документирует заголовки OpenAI-Organization и OpenAI-Project. Идентификаторы берутся из настроек платформы. Указывать их наугад нельзя: заголовки выбирают доступный контекст, но не предоставляют отсутствующие права. Для ключа нужного проекта не добавляйте их только ради эксперимента. См. аутентификацию OpenAI API.
Playground помогает сравнить поведение, если в нём выбраны та же организация, проект и модель. Если там изображение создаётся, а сервер получает ошибку, изучайте различия в конфигурации сервера. Если проверку требуют оба, вернитесь к состоянию доступа в аккаунте. Успех Playground не проверяет секреты вашего развёрнутого приложения.
Выберите действие по состоянию верификации
Начинайте проверку из уведомления в нужной учётной записи. OpenAI может запросить сведения о компании, подтверждение личности либо оба варианта; следуйте показанной форме. Для проверки личности нужен допустимый оригинал действительного удостоверения, иногда — селфи. Это не обязательно паспорт и не обязательно проверка юридического лица.
| Состояние | Следующее действие |
|---|---|
| Проверка ещё не завершена | Вернитесь к приглашению и закончите доступные шаги |
| Проверка недоступна | Убедитесь в правильности аккаунта и вернитесь в продукт, запросивший её; проверьте доступность позднее |
| Форма не загружается | Откройте исходное приглашение, обновите страницу или войдите заново; попробуйте актуальный браузер или другое устройство |
| Получен отказ | Следуйте уведомлению; повторная подача или обжалование возможны только тогда, когда они предложены |
| Проверка завершена, доступ ограничен | Обновите сессию и проверьте нужную рабочую область, проект, продукт, назначения пользователя и оставшиеся условия доступа |
Текущая русская справка OpenAI о верификации не обещает одобрение через фиксированное время. Решение нельзя вручную отменить через поддержку; наличие отказа также не означает автоматическую потерю всех ранее доступных функций.
Нужно ли ждать 15 или 30 минут и создавать новый ключ?
Универсальной последовательности «подождать 30 минут → обязательно заменить ключ» нет. В документации аутентификации есть другой интервал: большинство изменений, влияющих на проверку API-ключа, распространяются в течение 15 минут, иногда дольше. Это не срок одобрения документов и не гарантия разблокировки изображений. Ориентируйтесь на конкретное уведомление, если оно содержит срок ожидания.
Сам возраст ключа не доказывает неисправность. Новый ключ имеет смысл, когда нужно заменить утраченный или скомпрометированный секрет либо подключить правильный проект. После замены обновите его в реальной среде запуска. Не удаляйте рабочие ключи других приложений ради проверки одной ошибки.
Когда верификация уже не объясняет отказ
Читайте текст и код ошибки вместе с HTTP-статусом. Один номер не описывает все возможные причины.
| Что сообщает ответ | Что проверять |
|---|---|
| Требуется верификация организации | Сервис, организацию, проект и состояние проверки |
401, неверный или недействительный ключ | Подлинность ключа, его передачу сервером и актуальность секрета |
403, неподдерживаемая страна или регион | Географическую доступность прямого API |
429, превышен лимит частоты | Частоту и параллельность запросов, лимиты модели |
429, исчерпана квота или достигнут предел расходов | Баланс и условия использования; повтор без исправления причины не поможет |
500 или 503 | Ошибки сервиса и сообщения на странице статуса |
Эти различия приведены в официальном описании ошибок API. При сбоях сервиса проверьте OpenAI Status, не делая из старого сообщения о доступности вывод о текущем состоянии платформы.
Отдельно проверьте тарифный уровень: на странице GPT Image 2 Free API tier не поддерживается, а платные лимиты начинаются с Tier 1. Подходящий уровень не заменяет остальные условия доступа. Для планирования расходов есть разбор стоимости генерации изображений.
Для русскоязычного читателя существенна и география: на дату обновления России нет в списке стран прямого OpenAI API. Язык интерфейса не определяет местоположение пользователя; если вы находитесь в другой стране, смотрите её в актуальном списке. Успешная верификация сама по себе не отменяет региональные ограничения.
Один запрос после исправления: проверьте сам файл

Когда вы исправили обнаруженное несоответствие или получили обновление статуса, выполните один простой запрос из нужной среды. Этот пример для Python 3 использует стандартную библиотеку, обращается непосредственно к OpenAI и не делает автоматических повторов. Он составлен по документации; при подготовке статьи платный запрос не выполнялся. Запуск может тарифицироваться.
Сохраните код как check_image.py. Перед запуском передайте ключ нужного проекта через серверную переменную OPENAI_API_KEY; не вставляйте его в публичный код или клиентскую страницу. Если вашей конфигурации действительно нужны явные идентификаторы организации и проекта, используйте OPENAI_ORG_ID и OPENAI_PROJECT_ID с проверенными значениями. Иначе оставьте эти переменные незаданными.
pythonimport base64 import json import os from pathlib import Path from urllib.error import HTTPError, URLError from urllib.request import Request, urlopen key = os.environ["OPENAI_API_KEY"] headers = { "Authorization": f"Bearer {key}", "Content-Type": "application/json", } for variable, header in ( ("OPENAI_ORG_ID", "OpenAI-Organization"), ("OPENAI_PROJECT_ID", "OpenAI-Project"), ): if os.environ.get(variable): headers[header] = os.environ[variable] payload = { "model": "gpt-image-2", "prompt": "Синяя керамическая чашка на белом столе", } request = Request( "https://api.openai.com/v1/images/generations", data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST", ) try: with urlopen(request, timeout=300) as response: print("HTTP:", response.status) print("request_id:", response.headers.get("x-request-id")) print("organization:", response.headers.get("openai-organization")) result = json.load(response) except HTTPError as error: print("HTTP:", error.code) print("request_id:", error.headers.get("x-request-id")) print("organization:", error.headers.get("openai-organization")) raw = error.read().decode("utf-8", errors="replace") try: details = json.loads(raw).get("error", {}) print(json.dumps(details, ensure_ascii=False)) except (ValueError, AttributeError): print("Ответ не содержит ожидаемый JSON ошибки.") raise SystemExit(1) except (URLError, TimeoutError) as error: print("Сетевая ошибка:", type(error).__name__) raise SystemExit("Автоматический повтор не выполняется.") items = result.get("data") or [] if not items or not items[0].get("b64_json"): raise SystemExit("В ответе нет изображения в b64_json.") image = base64.b64decode(items[0]["b64_json"], validate=True) if not image.startswith(b"\x89PNG\r\n\x1a\n"): raise SystemExit("Ожидался PNG; проверьте формат ответа.") path = Path("verification-test.png") path.write_bytes(image) print("Сохранено:", path.resolve(), "байт:", len(image))
Запустите python3 check_image.py, затем откройте сохранённый PNG. Полученный HTTP 200, наличие поля Base64, декодированные байты и открывающийся файл — разные этапы проверки. Даже наличие модели в списке моделей не заменяет получение изображения. В примерах Images API изображение извлекается из data[0].b64_json.
Если запрос оборвался по таймауту, не запускайте цикл повторов: соединение могло прерваться уже после принятия задания сервером. Сначала изучите доступные логи и сведения об использовании. Если вместо верификации теперь пришла ошибка квоты, переходите к квоте — возврат к документам не решит новую причину.
Один открывшийся файл подтверждает успешное выполнение этого запроса с выбранным ключом и моделью. Для возвращения функции в приложение проверьте ту же конфигурацию в его среде; расширенный пример интеграции есть в руководстве по OpenAI Image API.
Если всё совпадает, а ошибка остаётся
Подготовьте для поддержки короткое описание воспроизводимого случая: время и часовой пояс, x-request-id, модель, путь API, идентификаторы организации и проекта, текст ошибки, состояние проверки и результат сравнения с Playground. Укажите, что именно уже изменили. Перед отправкой удалите из вложений ключи, заголовки авторизации и документы, которые не запрашивались через официальную форму.
Такой отчёт позволяет разбирать конкретное обращение. Самостоятельная смена Images API на Responses API не является способом снять требование верификации: у Responses другой способ вызова, с основной моделью и инструментом image_generation. Аналогично, если старое приложение продолжает отправлять gpt-image-1, сначала установите, откуда берётся это значение; простая замена имени модели не подтверждает права организации.



