> ## 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로 이미지 생성

> CometAPI를 통해 GPT 이미지를 생성하고, b64_json을 디코딩한 뒤, curl, Python 또는 Node.js로 결과를 저장합니다.

## 만들 내용

`POST /v1/images/generations`를 호출하고, GPT 이미지 모델로 이미지 1개를 생성한 뒤, 반환된 `b64_json`을 디코딩하여 이미지 파일로 저장합니다.

## 사전 요구 사항

* `COMETAPI_KEY`에 저장된 CometAPI API 키
* 파일 저장 예제를 실행하기 위한 Python 3.10+ 또는 Node.js 18+
* 서버 측 환경. 비밀 키를 사용해 공개 프런트엔드 코드에서 이미지 생성을 호출하지 마세요.

## API 키, base URL, 인증

OpenAI 호환 이미지 엔드포인트를 사용합니다:

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

Bearer 토큰으로 인증합니다:

```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 이미지 모델은 `data[0].b64_json`에 base64 이미지 데이터를 반환합니다. 해당 값을 디코딩하고 `output_format`에 맞는 파일에 바이트를 기록하세요.

URL 출력이 필요하다면, 선택한 모델이 URL 응답을 지원하는지 확인하세요. GPT 이미지 모델은 유지 관리되는 참조 예제에서 base64 출력을 사용합니다.

## 공통 파라미터

| Parameter       | Use                                                  |
| --------------- | ---------------------------------------------------- |
| `model`         | GPT 이미지 model ID. 참조 예제에서는 `gpt-image-2`를 사용합니다.     |
| `prompt`        | 생성할 이미지에 대한 텍스트 설명입니다.                               |
| `size`          | 요청할 출력 크기입니다. 지원되는 값은 선택한 모델에 따라 달라집니다.              |
| `quality`       | 이를 지원하는 모델의 품질 설정입니다.                                |
| `output_format` | `jpeg`, `png`, `webp` 같은 GPT 이미지 결과의 인코딩된 이미지 형식입니다. |

## 문제 해결 / FAQ

<AccordionGroup>
  <Accordion title="저장한 파일이 열리지 않습니다">
    `b64_json`을 base64 바이트로 디코딩했고, `output_format`에 맞는 파일 확장자로 저장했는지 확인하세요.
  </Accordion>

  <Accordion title="모델이 파라미터를 거부합니다">
    이미지 파라미터는 모델마다 다릅니다. 최소한의 참조 예제로 시작한 다음, 선택 필드를 한 번에 하나씩 추가하세요.
  </Accordion>

  <Accordion title="응답에 URL이 없습니다">
    GPT 이미지 모델에는 `b64_json`을 사용하세요. URL 출력은 모델별로 다릅니다.
  </Accordion>
</AccordionGroup>

## 다음 단계

* [이미지 생성 API 레퍼런스](/api/image/openai/images)를 읽어보세요.
* [Models](/ko/overview/models)에서 이미지 model ID를 찾아보세요.
* [모델 호출 전에 요청 비용 추정하기](/ko/guides/how-to-estimate-cost-before-calling-a-model)로 요청 비용을 추정하세요.
* [오류 코드 및 재시도 전략](/ko/guides/error-codes-and-retry-strategy)으로 실패를 처리하세요.
