前提と注意事項
以下が前提と注意事項になります。
- ChatGPT のアカウント(OpenAI のアカウント)登録が完了していること。
- クレジットカード情報の登録と支払いが必要になります。
- 動作確認に curl コマンドを使用します。
ChatGPT を API 経由で使用するには、事前にクレジットの購入が必要になります。なお、API は ChatGPT Plus プランなどの有料プランとは別物になるため、ChatGPT Plus などに加入していても API を使用するためにはクレジットの購入が必要になります。
本記事では、OpenAI の API と ChatGPT の API を同義として扱っています。
この記事のゴール
この記事では、ChatGPT の API を使うために必要なクレジットの購入と API キーの生成を行い、curl
コマンドを使って ChatGPT を API 経由で質問を投げて回答を得るところまでをゴールとします。
ChatGPT API 使用のためのクレジットを購入する
ブラウザで ChatGPT のアカウントでログインすると以下のようにChatGPT
とAPI
の選択画面が表示されるのでAPI
をクリックします。
以下のように、Settings
メニューの中にあるBilling
をクリックして請求情報ページにアクセスします。以下の画像を見て分かる通り、Free trial
と書かれており現在は無料プランであることを確認できます。ここで、Add payment details
ボタンをクリックします。
Add payment details
ボタンをクリックすると、以下のようにIndividual
(個人)かCompany
(法人)か確認されるので、ここではIndividual
を選択します。
以下のようにクレジットカード情報の入力フォームが表示されます。クレジットカード情報を入力してContinue
ボタンをクリックします。
以下のように、最初のチャージ分の購入画面が表示されます。
最小は 5 ドルからなので、ここでは5
を入力してContinue
をクリックします。
なお、Would you like to set up automatic recharge?
はオンにすると、残高がなくなった際に自動的にチャージされるようになります。ここではオフのままにしておきます。
以下のように購入の確認画面が表示されるので、問題なければConfirm payment
ボタンをクリックします。
Confirm payment
ボタンをクリックすると購入処理が実行され、完了すると以下のように現在のプランがPay as you go
(従量課金)に更新され、Credit balance
も💲5.00
に更新されます。
以上で ChatGPT の API 用のクレジット購入が完了しました。
ChatGPT の API キーを作成する
以下のように左サイドメニューにあるAPI Keys
をクリックします。
以下のようにAPI Kyes
のページが表示されるので、Create new secret key
ボタンをクリックします。
以下のように API キーの名前入力ダイアログが表示されるので、適当な名前を入力してCreate new secret
ボタンをクリックします。ここではMy Test Key
としました。
Create new secret
ボタンをクリックすると以下のように API キーが表示されるので、コピーしておきます。この API キーは再度表示することができないため、最新の API キーを確認する場合は、再度作成する必要があります。
以上で API キーの作成が完了です。
curl コマンドで動作確認する
公式ドキュメントにあるように、試しにcurl
コマンドを使って ChatGPT に質問を投げてみます。以下のsk-***********************
部分は自分の API キーに置き換えてください。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-***********************" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "こんにちは。これはテストです。"}],
"temperature": 0.7
}'
上記のcurl
コマンドを実行してから 2、3 秒ほどで以下のような応答が返ってきました。
{
"id": "chatcmpl-sk28dj08g08j0w48jt0840jsdjfk",
"object": "chat.completion",
"created": 1705280962,
"model": "gpt-3.5-turbo-0613",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "こんにちは!このテキストはテストですね。どのようなテストなのでしょうか?お手伝いできることがあれば教えてください。"
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 49,
"total_tokens": 64
},
"system_fingerprint": null
}
content
部分が ChatGPT によって生成された回答です。問題なく API が動作していることが確認できました。また、prompt_tokens
は質問で消費したトークン数、completion_tokens
は回答で消費したトークン数、total_tokens
はこれらの合計のトークン数です。
トークン数の料金は使用するモデルによって異なります。詳しくは以下の公式ドキュメントを参照してください。
insufficient_quota エラーが出る場合
以下のようなinsufficient_quota
エラーが出る場合は ChatGPT の API 用のクレジット購入が完了しているか確認してみてください。
{
"error": {
"message": "You have insufficient quota to complete this request. Please purchase more API credits at https://beta.openai.com/usage.",
"type": "insufficient_quota",
"param": null,
"code": "insufficient_quota"
}
}
また、usage
ページでCredit Grants
が残っているか確認してみてください。残っていない場合は追加のクレジット購入が必要です。
invalid_request_error エラーが出る場合
以下のようなinvalid_request_error
が出る場合は、API キーが間違いないか確認してください。
{
"error": {
"message": "Incorrect API key provided: sk-si2m**************************************sk28. You can find your API key at https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}
まとめ
ChatGPT の API を使用するために必要なクレジットの購入と API キーの生成手順を解説しました。この記事ではcurl
コマンドを使って質問を投げたのみですが、以下の公式ドキュメントには Python と Node.js を使った API の使用例が載っていますので、参考にしてみてください。
Introduction
You can interact with the API through HTTP requests from any language, via our official Python bindings, our official Node.js library, or a community-maintained library.
platform.openai.com