> ## 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 キー、ベース URL、認証

OpenAI 互換の画像エンドポイントを使用します:

```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 画像生成では、1 回のリクエストで完全なレスポンスが返されます。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` | GPT 画像結果のエンコード済み画像タイプ。`jpeg`、`png`、`webp` など。         |

## トラブルシューティング / FAQ

<AccordionGroup>
  <Accordion title="保存したファイルが開けない">
    `b64_json` を base64 バイトとしてデコードし、`output_format` に一致する拡張子でファイルを保存したことを確認してください。
  </Accordion>

  <Accordion title="モデルがパラメータを受け付けない">
    画像パラメータはモデルによって異なります。まず最小限のリファレンス例から始めて、その後でオプション項目を 1 つずつ追加してください。
  </Accordion>

  <Accordion title="レスポンスに URL がない">
    GPT 画像モデルでは `b64_json` を使用してください。URL 出力はモデル固有です。
  </Accordion>
</AccordionGroup>

## 次のステップ

* [画像生成 API リファレンス](/api/image/openai/images)を読む。
* [Models](/ja/overview/models)で画像の model ID を探す。
* [モデルを呼び出す前にリクエストコストを見積もる](/ja/guides/how-to-estimate-cost-before-calling-a-model)でリクエストコストを見積もる。
* [エラーコードと再試行戦略](/ja/guides/error-codes-and-retry-strategy)で障害に対応する。
