> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runblob.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Коды ошибок ChatGPT Image 2 | Runblob API

> Справочник кодов ошибок ChatGPT Image 2, HTTP-статусов и правил повторов. Стройте устойчивые пайплайны с понятной логикой восстановления.

<Info>
  Все ошибки возвращают конкретные коды в поле `message` или `detail` для программной обработки.
</Info>

## Категории ошибок

<Tabs>
  <Tab title="Ошибки пользователя">
    Проблемы из-за невалидного запроса или нехватки ресурсов.

    <AccordionGroup>
      <Accordion icon="credit-card" title="INSUFFICIENT_CREDITS">
        **HTTP-статус:** 402 Payment Required

        **Описание:** Недостаточно кредитов для выполнения запроса

        **Решение:** Пополните баланс

        ```json theme={null} theme={"system"}
        {
          "detail": "INSUFFICIENT_CREDITS"
        }
        ```
      </Accordion>

      <Accordion icon="question-circle" title="Task Not Found">
        **HTTP-статус:** 404 Not Found

        **Описание:** Задача с указанным UUID не существует

        **Решение:** Проверьте корректность task UUID

        ```json theme={null} theme={"system"}
        {
          "detail": "Task not found"
        }
        ```
      </Accordion>

      <Accordion icon="exclamation-triangle" title="Invalid Request">
        **HTTP-статус:** 400 Bad Request

        **Описание:** Параметры запроса невалидны или отсутствуют обязательные поля

        **Типичные причины:**

        * Длина промпта вне диапазона 1–4000 символов
        * Передано больше 4 изображений
        * Невалидный формат изображения
        * Неподдерживаемая модель

        **Решение:** Проверьте значения и типы параметров

        ```json theme={null} theme={"system"}
        {
          "detail": "Validation error: images format invalid"
        }
        ```
      </Accordion>

      <Accordion icon="image" title="Invalid Image Format">
        **HTTP-статус:** 400 Bad Request

        **Описание:** Одно или несколько изображений не в валидном формате

        **Решение:** убедитесь, что изображения:

        * Валидные HTTP/HTTPS URL
        * Base64 с правильным префиксом MIME-типа
        * Base64 без префикса (декодируется как JPEG)

        ```json theme={null} theme={"system"}
        {
          "detail": "Invalid image format"
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Системные ошибки">
    Технические проблемы на стороне RunBlob или OpenAI.

    <AccordionGroup>
      <Accordion icon="ban" title="OPENAI_DECLINED">
        **HTTP-статус:** 500 Internal Server Error

        **Описание:** Сервис OpenAI отклонил запрос или произошла внутренняя ошибка

        **Действие:** Сервис пытается автоматически вернуть кредиты, повторите попытку позже

        ```json theme={null} theme={"system"}
        {
          "detail": "OPENAI_DECLINED"
        }
        ```

        ```json theme={null} theme={"system"}
        {
          "status": "failed",
          "message": "OPENAI_DECLINED"
        }
        ```
      </Accordion>

      <Accordion icon="wrench" title="Maintenance">
        **HTTP-статус:** 503 Service Unavailable

        **Описание:** Сервис временно недоступен из-за обслуживания

        **Действие:** Подождите и повторите позже

        ```json theme={null} theme={"system"}
        {
          "detail": "Maintenance"
        }
        ```
      </Accordion>

      <Accordion icon="server" title="Internal Server Error">
        **HTTP-статус:** 500 Internal Server Error

        **Описание:** Непредвиденная ошибка на сервере

        **Действие:** Повторите запрос или свяжитесь с поддержкой при повторении
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Полный справочник ошибок

<ResponseField name="INSUFFICIENT_CREDITS" type="User Error" icon="credit-card">
  Недостаточно кредитов для выполнения запроса (HTTP 402)
</ResponseField>

<ResponseField name="OPENAI_DECLINED" type="System Error" icon="ban">
  Сервис OpenAI отклонил запрос (HTTP 500, попытка автоматического возврата)
</ResponseField>

<ResponseField name="Maintenance" type="System Error" icon="wrench">
  Сервис временно недоступен из-за обслуживания (HTTP 503)
</ResponseField>

## Справочник HTTP-кодов

<ResponseField name="201" type="Created">
  Генерация создана успешно
</ResponseField>

<ResponseField name="200" type="OK">
  Запрос выполнен успешно
</ResponseField>

<ResponseField name="400" type="Bad Request">
  Невалидные параметры, формат изображения или запроса
</ResponseField>

<ResponseField name="401" type="Unauthorized">
  Невалидный или отсутствующий API-ключ
</ResponseField>

<ResponseField name="402" type="Payment Required">
  Недостаточно кредитов
</ResponseField>

<ResponseField name="404" type="Not Found">
  Задача не найдена
</ResponseField>

<ResponseField name="422" type="Validation Error">
  Невалидный формат ввода или отсутствуют обязательные поля
</ResponseField>

<ResponseField name="500" type="Internal Server Error">
  Ошибка на стороне сервера (OPENAI\_DECLINED или другое)
</ResponseField>

<ResponseField name="503" type="Service Unavailable">
  Сервис временно недоступен (Maintenance)
</ResponseField>

## Типичные проблемы и решения

### Проблема: "INSUFFICIENT\_CREDITS"

**Причина:** Баланс аккаунта слишком низкий.

**Решение:**

* Пополните баланс
* Проверьте текущий баланс в панели

***

### Проблема: "OPENAI\_DECLINED"

**Причина:** Сервис OpenAI отклонил запрос или произошла внутренняя ошибка.

**Решение:**

* Сервис автоматически пытается вернуть кредиты
* Подождите несколько минут и попробуйте снова
* Если проблема повторяется, свяжитесь с поддержкой с task\_uuid

***

### Проблема: "Maintenance"

**Причина:** Сервис временно отключён для обслуживания.

**Решение:**

* Дождитесь завершения обслуживания
* Проверьте страницу статуса или объявления
* Повторите после окна обслуживания

***

### Проблема: "Invalid image format"

**Причина:** Изображения переданы в неверном формате.

**Решение:**

* Используйте валидные HTTP/HTTPS URL
* Либо Base64 с MIME-префиксом: `data:image/jpeg;base64,...`
* Либо plain Base64 (декодируется как JPEG)

***

### Проблема: "More than 4 images"

**Причина:** Передано больше максимально допустимого количества изображений.

**Решение:**

* Ограничьте массив `images` до 4 элементов
* При необходимости объединяйте несколько изображений

<Warning>
  Всегда обрабатывайте ошибки программно по кодам, а не по человекочитаемым сообщениям.
</Warning>
