> ## 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.

# OpenAI互換 API クイックスタート: CometAPI でチャット補完リクエストを送信する

> curl、Python、Node.js、OpenAI SDK を使ったチャット補完リクエストで、CometAPI を OpenAI API互換の base URL として使用します。

このページは、CometAPI の OpenAI互換 API クイックスタートです。チャット補完のリクエスト形式、OpenAI SDK、CometAPI の base URL を再利用するのに役立ちます。これは OpenAI アカウントのセットアップガイドでも、OpenAI 専用のモデルページでもありません。

## 作成するもの

CometAPI の OpenAI互換 `POST /v1/chat/completions` ルートに 1 つのテキストリクエストを送信し、assistant メッセージを出力し、すでに OpenAI SDK を使用しているアプリ向けにリクエスト形式をそのまま使える状態にします。

## このページを使う場面

次のいずれかがプロジェクトに当てはまる場合は、このクイックスタートを使用してください。

* すでに OpenAI SDK またはチャット補完のリクエスト形式を使っている。
* base URL を CometAPI に切り替えたい。
* OpenAI API互換ルート経由で CometAPI の model ID を呼び出したい。

## 前提条件

* `COMETAPI_KEY` に保存された CometAPI API キー
* [Models page](/ja/overview/models) のテキストモデルの model ID
* `curl`、Python 3.10+、または Node.js 18+

## API キー、base URL、認証

OpenAI互換クライアントでは CometAPI の base URL を使用します。

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

直接の HTTP リクエストは Bearer token で認証します。

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

## コード例

以下のタブを使って、cURL、Python、Node.js で同じチャット補完リクエストを送信します。

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/chat/completions \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-model-id",
      "messages": [
        {
          "role": "user",
          "content": "Write one sentence about CometAPI."
        }
      ]
    }'
  ```

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

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

  completion = client.chat.completions.create(
      model="your-model-id",
      messages=[
          {
              "role": "user",
              "content": "Write one sentence about CometAPI.",
          }
      ],
  )

  print(completion.choices[0].message.content)
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

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

  const completion = await client.chat.completions.create({
    model: "your-model-id",
    messages: [
      {
        role: "user",
        content: "Write one sentence about CometAPI.",
      },
    ],
  });

  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

## フローの説明

OpenAI互換とは、アプリケーションがチャット補完のエンドポイント、リクエストボディ、SDK メソッド名を維持したまま、base URL と model ID を CometAPI の値に変更できることを意味します。

このルートはデフォルトで同期です。API は完成したレスポンスオブジェクトを 1 つの HTTP レスポンスとして返し、アプリケーションは `choices[0].message.content` を読み取ります。

増分出力が必要な場合は、`stream` を `true` に設定します。レスポンスは Server-Sent Events になり、`data: [DONE]` で終了します。チャットインターフェースや長いレスポンスにはストリーミング（Streaming）を使用してください。バックグラウンドジョブや簡単なテストには同期形式のまま使います。

## 一般的なパラメータ

| Parameter               | Use                                          |
| ----------------------- | -------------------------------------------- |
| `model`                 | テキスト対応モデル用の CometAPI の model ID。             |
| `messages`              | 会話配列です。最小限のリクエストでは 1 つの `user` メッセージから始めます。  |
| `temperature`           | ランダム性を制御します。値を低くすると、出力の決定性が高くなります。           |
| `max_completion_tokens` | 補完トークンの予算を使用するモデルファミリーに対して、生成される出力の上限を設定します。 |
| `stream`                | `true` に設定すると、増分レスポンスチャンクをストリーミングします。        |
| `response_format`       | 選択したモデルが対応している場合に JSON 出力を要求します。             |

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

<AccordionGroup>
  <Accordion title="これは OpenAI API ですか？">
    いいえ。これは CometAPI の OpenAI互換 API ルートです。CometAPI の API キー、CometAPI の base URL、そして CometAPI の model ID を使用します。
  </Accordion>

  <Accordion title="リクエストが 401 を返します">
    リクエストを送信しているのと同じシェルまたはランタイムで `COMETAPI_KEY` が設定されていることを確認してください。実際のキーをソースファイルに貼り付けないでください。
  </Accordion>

  <Accordion title="モデルが見つかりません">
    テキストまたはチャットリクエストをサポートする CometAPI の model ID を使用してください。再試行する前に Models ページを確認してください。
  </Accordion>

  <Accordion title="SDK がまだ OpenAI を呼び出しています">
    Python では `base_url`、Node.js では `baseURL` が `https://api.cometapi.com/v1` に設定されていることを確認してください。
  </Accordion>
</AccordionGroup>

## 次のステップ

* [チャット補完 API リファレンス](/api/text/chat) を読む。
* [OpenAI SDK で CometAPI を使う](/ja/guides/use-cometapi-with-openai-sdk) で SDK クライアントを設定する。
* [利用可能な CometAPI モデルを一覧表示する](/ja/guides/how-to-list-available-models) で利用可能なモデルを一覧表示する。
* [エラーコードと再試行戦略](/ja/guides/error-codes-and-retry-strategy) で再試行とレート制限の処理を追加する。
