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

# Быстрый старт GPT Image API: генерация изображений с CometAPI

> Сгенерируйте GPT-изображение через CometAPI, декодируйте `b64_json` и сохраните результат с помощью curl, Python или Node.js.

## Что вы создадите

Вы вызовете `POST /v1/images/generations`, сгенерируете одно изображение с помощью GPT image model, декодируете возвращаемый `b64_json` и сохраните его как файл изображения.

## Предварительные требования

* API-ключ CometAPI, сохранённый в `COMETAPI_KEY`
* Python 3.10+ или Node.js 18+ для примеров сохранения файлов
* Серверное окружение. Не вызывайте генерацию изображений из публичного frontend-кода с секретным ключом.

## API-ключ, base URL, аутентификация

Используйте OpenAI-совместимый endpoint для изображений:

```text theme={null}
https://api.cometapi.com/v1/images/generations
```

Аутентификация выполняется с помощью Bearer token:

```text theme={null}
Authorization: Bearer $COMETAPI_KEY
```

## Примеры кода

Используйте вкладки ниже для копируемых примеров на cURL, Python и Node.js.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/images/generations \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-image-2",
      "prompt": "A paper boat floating on calm water at sunrise.",
      "quality": "low",
      "size": "1024x1024",
      "output_format": "jpeg"
    }'
  ```

  ```python Python theme={null}
  import base64
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com/v1",
  )

  image = client.images.generate(
      model="gpt-image-2",
      prompt="A paper boat floating on calm water at sunrise.",
      quality="low",
      size="1024x1024",
      output_format="jpeg",
  )

  image_base64 = image.data[0].b64_json
  with open("cometapi-gpt-image.jpeg", "wb") as file:
      file.write(base64.b64decode(image_base64))
  ```

  ```javascript Node.js theme={null}
  import fs from "node:fs/promises";
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com/v1",
  });

  const image = await client.images.generate({
    model: "gpt-image-2",
    prompt: "A paper boat floating on calm water at sunrise.",
    quality: "low",
    size: "1024x1024",
    output_format: "jpeg",
  });

  const imageBase64 = image.data[0].b64_json;
  await fs.writeFile("cometapi-gpt-image.jpeg", Buffer.from(imageBase64, "base64"));
  ```
</CodeGroup>

## Объяснение процесса

Генерация GPT-изображений возвращает готовый ответ в рамках одного запроса. GPT image models возвращают данные изображения в формате base64 в `data[0].b64_json`. Декодируйте это значение и запишите байты в файл, соответствующий `output_format`.

Если вам нужен вывод в виде URL, проверьте, поддерживает ли выбранная model URL-ответы. GPT image models в поддерживаемом справочном примере используют вывод в формате base64.

## Общие параметры

| Параметр        | Использование                                                                                   |
| --------------- | ----------------------------------------------------------------------------------------------- |
| `model`         | model ID GPT image model. В справочном примере используется `gpt-image-2`.                      |
| `prompt`        | Текстовое описание изображения, которое нужно сгенерировать.                                    |
| `size`          | Запрашиваемый размер выходного изображения. Поддерживаемые значения зависят от выбранной model. |
| `quality`       | Настройка качества для models, которые её поддерживают.                                         |
| `output_format` | Тип закодированного изображения для результатов GPT image, например `jpeg`, `png` или `webp`.   |

## Устранение неполадок / FAQ

<AccordionGroup>
  <Accordion title="Сохранённый файл не открывается">
    Убедитесь, что вы декодировали `b64_json` как base64-байты и сохранили файл с расширением, соответствующим `output_format`.
  </Accordion>

  <Accordion title="Model отклоняет параметр">
    Параметры изображений различаются в зависимости от model. Начните с минимального справочного примера, затем добавляйте по одному необязательному полю за раз.
  </Accordion>

  <Accordion title="В ответе нет URL">
    Используйте `b64_json` для GPT image models. Вывод в виде URL зависит от model.
  </Accordion>
</AccordionGroup>

## Следующие шаги

* Ознакомьтесь со справочником API [Create image](/api/image/openai/images).
* Найдите model ID моделей изображений в разделе [Models](/ru/overview/models).
* Оцените стоимость запроса с помощью руководства [Estimate request cost before calling a model](/ru/guides/how-to-estimate-cost-before-calling-a-model).
* Обрабатывайте сбои с помощью руководства [Error codes and retry strategy](/ru/guides/error-codes-and-retry-strategy).
