PythonでChatGPT APIを使う方法【2026年版】|環境構築から実行まで初心者向けに解説

Pythonの基礎文法 を一通り学んだあなたへ。
次はPythonから生成AIを呼び出す小さなプログラムを作ってみましょう。
一般に「ChatGPT API」と呼ばれていますが、実際にはOpenAI APIをPythonの公式SDKから利用します。
この記事では、APIキーを安全に設定し、Responses APIで質問を送り、結果を表示するところまでを初心者向けに順番に解説します。あわせて、料金の確認方法、モデルの選び方、よくあるエラー、APIキーを公開しないための注意点も扱います。
対象は、print・変数・関数などPythonの基礎が分かり、ブラウザ版ChatGPTは使ったことがあるものの、APIは初めての方です。
まずは最小コードを1回動かすことを目標に進めます。

本記事では、検索時に広く使われている「ChatGPT API」という表現を使用しますが、実際にはOpenAIが提供する「OpenAI API」をPythonから利用する方法を解説します。
ChatGPT APIとは?ブラウザ版ChatGPTとの違い
一般に「ChatGPT API」と呼ばれていますが、Pythonから利用するのはOpenAIが提供するAPIです。
ブラウザ版ChatGPTでは、人が画面に質問を入力して回答を受け取ります。一方、APIではPythonなどのプログラムから入力を送り、返ってきた回答をプログラム内で利用できます。
| 項目 | ブラウザ版ChatGPT | OpenAI API |
|---|---|---|
| 操作方法 | ブラウザ上で人が入力する | Pythonなどのプログラムから送信する |
| 利用準備 | ChatGPTへのログイン | APIキーと開発環境の準備 |
| 主な用途 | 質問、相談、文章作成 | 自動化、データ処理、アプリへの組み込み |
| 回答の利用 | 画面で確認・コピーする | 保存、加工、別の処理へ渡せる |
| 料金 | ChatGPTのプランに応じる | APIの使用量に応じて別途発生する |
ChatGPTの有料プランを契約していても、APIの利用料金が含まれるわけではありません。APIは別のサービスとして管理・請求されます。
ChatGPT APIの仕組みをざっくり理解する
PythonからAPIを利用する基本的な流れは、次の3段階です。
- Pythonから質問や指示をリクエストとして送る
- OpenAIのモデルが入力内容を処理する
- 返ってきたレスポンスをPythonで受け取る
受け取った回答は、画面に表示するだけでなく、ファイルへの保存や文章の分類、別の処理への受け渡しにも利用できます。
ChatGPTをPythonから使う3つのメリット
1. 繰り返し作業を自動化できる
決まった形式の文章作成や要約など、同じ手順を繰り返す作業をPythonから実行できます。
2. 複数のデータを順番に処理できる
CSVやテキストファイルなどからデータを読み込み、複数の内容を順番に処理できます。ただし、実行回数に応じた料金やレート制限、送信するデータの取り扱いには注意が必要です。
3. 自分のアプリやシステムに組み込める
APIから受け取った回答を、自作のWebアプリや業務用ツールなどで利用できます。
このようにOpenAI APIを使うと、ブラウザ上で質問するだけでなく、生成AIの機能をPythonの処理の一部として活用できます。

ChatGPT API(OpenAI API)の料金と無料枠
OpenAI APIは、利用したトークン数などに応じて料金が発生する従量課金制です。ブラウザ版ChatGPTの有料プランとは別に料金が計算されます。
OpenAI APIの料金はトークン数で決まる
文章を送受信するときは、入力と出力のそれぞれでトークンが消費されます。
基本的な計算方法は次のとおりです。
API料金=入力トークンの料金+出力トークンの料金
同じ質問でも、使用するモデルや回答の長さによって料金は変わります。日本語のトークン数も文章やモデルによって異なるため、文字数から正確な料金を判断することはできません。
主なモデルの料金
2026年8月3日時点の標準料金は、次のとおりです。
| モデル | 入力料金 | 出力料金 | 特徴 |
|---|---|---|---|
| gpt-5.6-luna | 100万トークンあたり0.20ドル | 100万トークンあたり1.20ドル | コストを抑えたい処理向け |
| gpt-5.6-terra | 100万トークンあたり2.00ドル | 100万トークンあたり12.00ドル | 性能とコストのバランスを重視 |
| gpt-5.6-sol | 100万トークンあたり5.00ドル | 100万トークンあたり30.00ドル | 複雑な推論や高度な処理向け |
料金や利用できるモデルは変更される可能性があります。実際に利用する前に、OpenAI公式の料金ページを確認してください。
この記事のサンプルコードでは、学習時の費用を抑えるため、低コストのgpt-5.6-lunaを使用します。
1回の実行でかかる料金の考え方
たとえばgpt-5.6-lunaで、入力に1,000トークン、出力に500トークンを使用した場合は、次の計算になります。
- 入力:1,000÷1,000,000×0.20ドル
- 出力:500÷1,000,000×1.20ドル
- 合計:約0.0008ドル
これは単純なテキスト生成の計算例です。実際の料金は、トークン数、使用する機能、処理方法などによって変わります。
無料で利用できるか
ブラウザ版ChatGPTの無料利用枠と、OpenAI APIの料金は別です。ChatGPTを無料で利用できる場合でも、APIを無料で利用できるとは限りません。
無料クレジットが利用できるかどうかは、OpenAI PlatformのBilling画面で確認してください。無料クレジットが表示されていない場合は、APIを利用する前にクレジットの購入が必要です。
新規アカウントでは、先にクレジットを購入して利用するプリペイド方式が基本です。購入したクレジットには有効期限があり、原則として返金されません。
学習中の使いすぎを防ぐ方法
初めてAPIを利用するときは、次の点を確認しましょう。
- 最初は低コストのモデルを使用する
- 短い入力と出力で動作を確認する
- ループ処理の回数を少なくする
- Usage画面で利用状況を確認する
- 不要なら自動チャージを無効にする
- 予算通知を設定する
予算設定は支出を自動停止する上限ではなく、基本的には通知のための設定です。プリペイド残高やUsage画面もあわせて確認してください。
料金の仕組みを確認できたら、次はOpenAI Platformのアカウント設定とAPIキーの取得に進みます。
事前準備|OpenAI PlatformでAPIキーを取得する
PythonからOpenAI APIを利用するには、OpenAI PlatformでAPIキーを発行します。
APIキーは、Pythonプログラムから送信されたリクエストを認証するための秘密情報です。ブラウザ版ChatGPTを利用している場合でも、APIの利用設定や料金管理はOpenAI Platform側で別途行います。
STEP 1:OpenAI Platformにログインする
OpenAI Platformを開き、画面の案内に従ってログインします。
初めて利用する場合はアカウントを作成してください。登録方法や画面表示は変更される可能性があるため、表示されている最新の案内に従いましょう。
STEP 2:利用するプロジェクトを確認する
OpenAI Platformでは、APIキーや利用状況をプロジェクト単位で管理します。
個人で初めて試す場合は、最初から用意されているDefault projectを利用できます。学習用と本番用を分けたい場合は、権限があれば学習用のプロジェクトを新しく作成することもできます。
APIキーを作成する前に、画面上で利用するプロジェクトが選択されていることを確認してください。
STEP 3:APIキーを作成する
API Keysページを開き、次の手順でキーを作成します。
Create new secret keyを選択する- キーの名前を入力する
- 利用するプロジェクトを確認する
- 必要に応じて権限を設定する
Create secret keyを選択する
キーの名前は、用途が分かるものにします。
例:python-api-learning
権限にはAll、Restricted、Read Onlyなどがあります。最初の動作確認ではAPIリクエストを送信できる権限が必要です。公開サービスやチームで利用する場合は、必要な権限だけに制限してください。
STEP 4:表示されたAPIキーを安全に保管する
作成したAPIキーの全文は、作成時にしか表示されません。表示されたキーをコピーし、安全な場所に保管してください。
画面を閉じたあとにキーを確認できなくなった場合は、古いキーを無理に探すのではなく、新しいキーを作成します。
APIキーは次のような形式で表示されます。
sk-...
実際のAPIキーを記事、スクリーンショット、チャット、ソースコードなどへ貼り付けてはいけません。
APIキーを扱うときの注意点
- APIキーを他人と共有しない
- Pythonコードへ直接書かない
- GitHubへアップロードしない
- ブラウザで動くJavaScriptやスマートフォンアプリへ埋め込まない
- 流出した可能性がある場合は、すぐにキーを無効化して作り直す
次の章では、取得したAPIキーをOPENAI_API_KEYという環境変数から安全に読み込めるようにし、Pythonの実行環境を準備します。

Python環境を準備する|仮想環境・OpenAI SDK・APIキー設定
APIキーを取得したら、PythonからOpenAI APIを利用するための環境を準備します。
この章では、次の作業を行います。
- Pythonのバージョンを確認する
- 作業用フォルダを作成する
- 仮想環境を作成する
- OpenAI Python SDKをインストールする
- APIキーを安全に読み込めるようにする
この章ではAPIへのリクエストはまだ送信しません。実際の通信は次の章で確認します。
STEP 1:Pythonのバージョンを確認する
VSCodeのターミナル、PowerShell、またはコマンドプロンプトを開き、次のコマンドを実行します。
python --version
pythonコマンドが認識されない場合は、次も試してください。
py --version
この記事ではPython 3.11以上を推奨します。
Pythonがインストールされていない場合は、先にPythonの開発環境構築を済ませてください。
STEP 2:作業用フォルダを作成する
OpenAI APIの学習に使用するフォルダを作成します。
例:
C:\Users\ユーザー名\Documents\openai_api_test
VSCodeを開き、「ファイル」から「フォルダーを開く」を選択して、作成したフォルダを開きます。
STEP 3:仮想環境を作成する
作業フォルダを開いた状態で、次のコマンドを実行します。
python -m venv .venv
仮想環境を使うことで、この学習用フォルダに必要なライブラリを、ほかのPythonプロジェクトと分けて管理できます。
PowerShellで有効化する場合
.\.venv\Scripts\Activate.ps1
コマンドプロンプトで有効化する場合
.venv\Scripts\activate.bat
ターミナルの先頭に(.venv)と表示されれば有効化されています。
STEP 4:必要なライブラリをインストールする
最初にpipを更新します。
python -m pip install --upgrade pip
続いて、必要なライブラリをインストールします。
python -m pip install openai python-dotenv
それぞれの役割は次のとおりです。
openai:OpenAI APIをPythonから利用するための公式SDKpython-dotenv:.envファイルの内容を環境変数として読み込むライブラリ
インストールされたOpenAI SDKのバージョンは、次のコマンドで確認できます。
python -c "import openai; print(openai.__version__)"
バージョン番号が表示されれば、インストールは完了です。
STEP 5:.envファイルへAPIキーを保存する
作業フォルダの直下に、.envという名前のファイルを作成します。
OPENAI_API_KEY=取得したAPIキー
実際のAPIキーを記事、スクリーンショット、GitHubなどへ掲載してはいけません。
STEP 6:.gitignoreを作成する
作業フォルダの直下に.gitignoreファイルを作成し、次の内容を記載します。
.env .venv/ __pycache__/
これにより、APIキーや仮想環境のファイルを誤ってGitHubへ登録するのを防げます。
STEP 7:APIキーを読み込めるか確認する
check_env.pyというファイルを作成し、次のコードを保存します。
import os
from dotenv import load_dotenv
load_dotenv()
if os.getenv("OPENAI_API_KEY"):
print("OPENAI_API_KEYを読み込めました。")
else:
print("OPENAI_API_KEYを読み込めませんでした。")次のコマンドで実行します。
python check_env.py
次のように表示されれば、APIキーを環境変数として読み込めています。
OPENAI_API_KEYを読み込めました。
この確認ではAPIキーの内容を画面へ表示せず、設定されているかどうかだけを判定しています。また、この時点ではOpenAI APIへの通信は発生していません。
この章で作成したファイル
openai_api_test/ ├─ .venv/ ├─ .env ├─ .gitignore └─ check_env.py
これでPython側の準備は完了です。次の章では、OpenAI Python SDKとResponses APIを使って、最初のリクエストを送信します。
最小コード|PythonでChatGPT API(OpenAI API)を1回実行する
環境構築が完了したら、PythonからOpenAI APIへ最初のリクエストを送ってみましょう。
ここでは、OpenAIが推奨しているResponses APIを使用します。実行するとAPIへのリクエストが1回送信され、使用量に応じた料金が発生します。
main.pyを作成する
作業フォルダの直下にmain.pyというファイルを作成し、次のコードを保存してください。
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI()
response = client.responses.create(
model="gpt-5.6-luna",
input="Pythonのリスト内包表記を初心者向けに短く説明してください。",
)
print(response.output_text)作業フォルダは次の構成になります。
openai_api_test/ ├─ .venv/ ├─ .env ├─ .gitignore └─ main.py
サンプルコードを実行する
仮想環境を有効にした状態で、次のコマンドを実行します。
python main.py
Pythonのリスト内包表記についての説明が表示されれば、OpenAI APIへのリクエストは成功です。
生成される文章は毎回同じとは限りません。回答内容が出力されていれば問題ありません。
コードの内容を確認する
load_dotenv()
前章で作成した.envファイルを読み込み、OPENAI_API_KEYを環境変数として利用できるようにします。
APIキーそのものをPythonコードへ書く必要はありません。
client = OpenAI()
OpenAI Python SDKのクライアントを作成します。
SDKはOPENAI_API_KEYという名前の環境変数を自動的に読み込むため、APIキーを引数へ直接指定する必要はありません。
client.responses.create()
Responses APIへリクエストを送信します。
response = client.responses.create(
model="gpt-5.6-luna",
input="Pythonのリスト内包表記を初心者向けに短く説明してください。",
)modelには利用するモデル名、inputにはモデルへ送る質問や指示を指定します。
このサンプルでは、学習時の料金を抑えるため、低コストのgpt-5.6-lunaを使用しています。
response.output_text
APIから返されたテキストを取り出します。
print(response.output_text)
Responses APIの返却データには複数の情報が含まれますが、生成された文章だけを表示する場合はoutput_textを使用できます。
エラーが出た場合の確認項目
ModuleNotFoundError: No module named 'openai'
OpenAI Python SDKが、現在使用している仮想環境へインストールされているか確認します。
python -m pip install openai
APIキーに関するエラー
.envファイルに次の変数名が正しく記載されているか確認します。
OPENAI_API_KEY=取得したAPIキー
APIキーの前後に不要な空白や引用符が入っていないかも確認してください。
AuthenticationError
APIキーが無効、削除済み、または誤っている可能性があります。OpenAI PlatformのAPI Keysページでキーの状態を確認します。
APIキーを再発行した場合は、.envファイルも新しいキーへ更新してください。
RateLimitErrorや利用上限に関するエラー
リクエスト回数の上限、プリペイド残高、支払い設定などを確認します。
モデルが見つからないエラー
モデル名の入力間違いや、利用できないモデルを指定している可能性があります。OpenAI公式のモデル一覧で現在利用できるモデルを確認してください。
まとめ
この章では、次の処理を実行しました。
.envからAPIキーを読み込む- OpenAI Python SDKのクライアントを作成する
- Responses APIへ入力を送信する
response.output_textで回答を表示する
次の章では、この1回だけの処理を発展させ、ターミナルから繰り返し質問できる簡易クライアントを作成します。
Pythonで簡易ChatGPTクライアントを作る|Responses APIで会話を続ける
前章では、PythonからOpenAI APIへ1回だけリクエストを送りました。
ここでは、ターミナルへ質問を入力し、繰り返し回答を受け取れる簡易チャットクライアントを作ります。前の回答と次の質問をつなげることで、会話の流れを保てるようにします。
このプログラムでは、質問を送信するたびにAPI料金が発生します。
完成コード
作業フォルダにchat_client.pyというファイルを作成し、次のコードを保存してください。
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI()
model = "gpt-5.6-luna"
previous_response_id = None
print("AIとの会話を開始します。")
print("終了するには exit または quit と入力してください。\n")
while True:
user_input = input("あなた: ").strip()
if user_input.lower() in ("exit", "quit"):
print("会話を終了します。")
break
if not user_input:
continue
if previous_response_id is None:
response = client.responses.create(
model=model,
input=user_input,
)
else:
response = client.responses.create(
model=model,
input=user_input,
previous_response_id=previous_response_id,
)
print(f"AI: {response.output_text}\n")
previous_response_id = response.idプログラムを実行する
仮想環境を有効にした状態で、次のコマンドを実行します。
python chat_client.py
起動すると、ターミナルに次のメッセージが表示されます。
AIとの会話を開始します。 終了するには exit または quit と入力してください。 あなた:
質問を入力してEnterキーを押すと、OpenAI APIから回答が返ってきます。
会話例は次のとおりです。
あなた: Pythonのif文を初心者向けに説明してください AI: if文は、条件によって実行する処理を変えるための構文です。 あなた: 具体的なコードを見せてください AI: たとえば、数値が10以上かどうかを判定する場合は次のように書けます。
2回目の「具体的なコードを見せてください」という質問だけでは、何のコードを求めているのか分かりません。しかし、前の会話が引き継がれているため、モデルはif文のコードを求められていると判断できます。
実際に表示される回答は、実行するたびに異なる場合があります。
コードの仕組みを確認する
while Trueで入力を繰り返す
while True:
user_input = input("あなた: ").strip()while Trueを使い、ユーザーからの入力を繰り返し受け取ります。
strip()は、入力した文字列の前後にある余分な空白を取り除く処理です。
終了用の文字列を判定する
if user_input.lower() in ("exit", "quit"):
print("会話を終了します。")
breakexitまたはquitが入力されたら、breakで繰り返し処理を終了します。
lower()を使っているため、EXITやQuitと入力した場合でも終了できます。
空の入力はAPIへ送信しない
if not user_input:
continue何も入力せずにEnterキーを押した場合は、APIへリクエストを送りません。
不要なリクエストを防ぐことで、無駄な料金の発生も避けられます。
1回目の質問を送信する
if previous_response_id is None:
response = client.responses.create(
model=model,
input=user_input,
)最初の質問では、まだ直前の回答がありません。そのため、modelとinputだけを指定してリクエストを送ります。
前の回答を引き継いで質問する
response = client.responses.create(
model=model,
input=user_input,
previous_response_id=previous_response_id,
)2回目以降は、previous_response_idに直前のレスポンスIDを指定します。
Responses APIでは、このIDを使って前後のレスポンスをつなげることができます。過去の質問と回答をPython側でリストに追加し直さなくても、会話の文脈を引き継げます。
レスポンスIDを保存する
previous_response_id = response.id
回答を表示したあと、そのレスポンスのIDをprevious_response_idへ保存します。
次の質問では、このIDが「直前の会話」を示す情報として使用されます。
回答を表示する
print(f"AI: {response.output_text}\n")response.output_textから生成された文章を取り出し、ターミナルへ表示します。
会話が引き継がれる範囲
このプログラムでは、起動してから終了するまでの会話を引き継ぎます。
exitやquitでプログラムを終了すると、Python変数に保存していたprevious_response_idは失われます。次にプログラムを起動したときは、新しい会話として始まります。
会話をファイルやデータベースへ保存する機能は、この簡易クライアントには含まれていません。
長い会話では料金に注意する
previous_response_idを使用しても、会話が長くなるほど参照される入力トークンが増え、料金も増える可能性があります。
学習中は短いやり取りから始め、OpenAI PlatformのUsage画面で利用状況を確認してください。また、氏名、住所、パスワードなどの機密情報は入力しないようにしましょう。
まとめ
この章では、Responses APIを使って次の処理を実装しました。
- ターミナルから質問を繰り返し入力する
response.output_textで回答を表示するprevious_response_idで会話の流れを引き継ぐexitまたはquitでプログラムを終了する- 空の入力による不要なAPIリクエストを防ぐ
これで、Pythonから複数回の会話を行う簡易クライアントを作成できました。
次の章では、APIキーの流出、想定外の料金、送信するデータなど、OpenAI APIを安全に利用するための注意点を確認します。

OpenAI APIを安全に使うための注意点|APIキー・料金・データ
PythonからOpenAI APIを利用するときは、APIキーの流出や意図しない料金の発生に注意が必要です。
また、APIへ送信したデータの取り扱いや、生成された回答の確認も欠かせません。ここでは、初心者がOpenAI APIを安全に使うために確認しておきたいポイントを解説します。
APIキーを秘密情報として管理する
APIキーは、OpenAI APIを利用するための秘密の認証情報です。
第三者にAPIキーを知られると、自分のアカウントを使ってAPIを実行され、身に覚えのない料金が発生する可能性があります。
APIキーを安全に管理するため、次の点を守りましょう。
| 注意点 | 推奨する対応 |
|---|---|
| PythonコードへAPIキーを直接書かない | .envや環境変数から読み込む |
.envをGitHubへ公開しない | .gitignoreへ追加する |
| APIキーを他人と共有しない | 人やプロジェクトごとに別のキーを発行する |
| ブラウザ側のJavaScriptへ埋め込まない | 自分のサーバーを経由してAPIを呼び出す |
| スクリーンショットにAPIキーを映さない | 公開前に画像やログを確認する |
.envを使用している場合は、プロジェクトの.gitignoreへ次の行を追加します。
.env
ただし、.gitignoreへ追加する前にGitHubへ公開してしまったAPIキーは、ファイルを削除しただけでは安全になりません。APIキー自体を無効化する必要があります。
詳しい管理方法は、OpenAI公式のAPI Key Safetyに関するガイドで確認できます。
APIキーが漏れたときの対応
APIキーをGitHubやSNSへ誤って公開した場合は、次の手順で対応してください。
- OpenAI PlatformのAPI Keys画面を開く
- 流出したAPIキーを削除して無効化する
- 新しいAPIキーを発行する
.envや公開環境の設定を新しいキーへ変更する- Usage画面で不審な利用がないか確認する
GitHubへ登録した場合は、現在のファイルだけでなく、過去の履歴にもAPIキーが残っている可能性があります。
ただし、履歴から削除する前に、必ず流出したAPIキーを無効化してください。履歴を修正しただけでは、すでに取得されたAPIキーを使用できなくすることはできません。
不審な利用や請求を見つけた場合は、利用記録を確認し、必要に応じてOpenAIのサポートへ問い合わせましょう。
利用料金を監視する
OpenAI APIは、基本的に使用量に応じて料金が発生します。
短いテストでは少額でも、繰り返し処理や長時間動き続けるプログラムでは、想定以上の料金になることがあります。
料金を管理するため、次の項目を確認してください。
- Usage画面で利用量と料金を定期的に確認する
- Projectに少額の月間予算と通知を設定する
- プリペイド残高を必要以上に追加しない
- Auto Rechargeの設定を確認する
- テスト中はリクエスト回数を少なくする
- 無限ループが発生しないよう終了条件を設定する
注意したいのは、Projectに設定する月間予算は、APIを自動停止するためのハード上限ではないことです。
月間予算を超えると通知を受け取れますが、その後もAPIリクエストは継続します。そのため、予算通知だけに頼らず、Usage画面を定期的に確認することが重要です。
プリペイド方式でも、残高がなくなってからリクエストが停止するまでに時間差が発生する場合があります。残高を完全な利用上限とは考えず、プログラム側でもリクエスト回数を制御しましょう。
Project予算の仕組みについては、OpenAI公式のProject管理に関するガイドを確認してください。
個人情報や機密情報を送らない
APIへ送信した文章は、インターネットを経由してOpenAIのサーバーで処理されます。
そのため、次のような情報を必要なく送信しないでください。
- APIキーやパスワード
- クレジットカード情報
- 氏名、住所、電話番号などの個人情報
- 顧客情報や社内資料
- 公開が許可されていないソースコード
- 契約書などの機密文書
OpenAI APIへ送信したデータは、明示的にオプトインしない限り、モデルの学習には使用されません。
ただし、「学習に使用されない」ことと「一切保存されない」ことは同じではありません。不正利用を監視するためのログには、入力や出力などが通常最大30日間保存される場合があります。
保存期間や利用できるデータ管理機能は、契約や機能によって異なります。個人情報や業務データを扱う場合は、事前にOpenAI公式のAPIデータ管理に関するガイドを確認してください。
出力をそのまま信用しない
OpenAI APIが生成した回答には、誤った情報や正しく動作しないコードが含まれることがあります。
特に、生成されたPythonコードを実行するときは、次の点を確認しましょう。
- コードの処理内容を読んでから実行する
- ファイルの削除や上書きを行う処理がないか確認する
- 外部サイトから取得した情報は別の情報源でも確認する
- 本番環境へ反映する前にテスト環境で動作確認する
- 医療、法律、金融などの重要な判断を回答だけで行わない
APIの出力は完成品ではなく、確認が必要な下書きとして扱うのが安全です。最終的にどのように利用するかは、人が内容を確認したうえで判断してください。
最新の利用ポリシーを確認する
OpenAI APIを利用するときは、OpenAIの利用ポリシーと、利用する地域の法令を守る必要があります。
たとえば、次のような目的には使用できません。
- 詐欺、なりすまし、スパム
- 他人のプライバシーを侵害する行為
- 人による適切な確認を伴わない重要な自動判断
利用ポリシーは更新される場合があります。APIを利用したサービスを一般公開するときは、記事に掲載された情報だけで判断せず、最新のOpenAI Usage Policiesを確認してください。
OpenAI APIを使う前の安全チェックリスト
最後に、プログラムを実行する前に次の項目を確認しましょう。
- APIキーがPythonコードへ直接書かれていない
.envがGitHubへ公開されない設定になっている- APIキーがブラウザ側のコードに含まれていない
- プロジェクトごとにAPIキーを分けている
- Usage、予算通知、Auto Rechargeを確認した
- 個人情報や機密情報を送信していない
- APIの出力内容を人が確認している
- 最新の利用ポリシーを確認している
最初は短い文章と少ないリクエスト回数で試し、料金や出力を確認しながら少しずつプログラムを拡張していくのがおすすめです。
まとめ|PythonからOpenAI APIを使う第一歩を踏み出そう
この記事では、PythonからOpenAI APIを利用するための環境構築から、APIキーの設定、サンプルコードの実行、簡易チャットの作成までを解説しました。
ここまでの内容を実践したことで、次のことができるようになっています。
- ChatGPTとOpenAI APIの違いを理解する
- OpenAIのAPIキーを取得する
- APIキーを
.envで安全に管理する - PythonからOpenAI APIへ質問を送る
- 生成された回答をPythonで受け取って表示する
- ターミナルで会話できる簡易チャットを作る
- APIキーや利用料金、送信データを安全に管理する
特に重要なのは、PythonからOpenAI APIへ入力を送り、生成された回答を受け取る基本的な流れを実行できたことです。
最初から複雑なAIアプリを作る必要はありません。まずは、今回作成したプログラムへ少しずつ変更を加えてみましょう。
たとえば、次のような練習がおすすめです。
- 質問文を変更して回答の違いを確認する
- 生成された回答をテキストファイルへ保存する
- テキストファイルを読み込んで内容を要約させる
- 簡易チャットの会話回数や終了条件を変更する
小さな変更でも、自分でコードを書き換えて動作を確認することで、OpenAI APIの仕組みをより深く理解できます。
まずは今回作成したコードを一つ変更し、もう一度実行してみてください。その積み重ねが、Pythonを使ったAIアプリ開発につながります。


Python×OpenAI APIのよくある質問
PythonからOpenAI APIを利用するときに、初心者が疑問に感じやすいポイントをまとめました。
Q1. Python初心者でもOpenAI APIを使えますか?
はい、Python初心者でもOpenAI APIを利用できます。
ただし、変数、関数、環境変数、ターミナルの基本操作を理解していると、サンプルコードの内容やエラーの原因を把握しやすくなります。
最初から複雑なプログラムを作る必要はありません。まずはこの記事のサンプルコードをそのまま実行し、質問文や出力方法を一つずつ変更してみましょう。
Q2. OpenAI APIとブラウザ版ChatGPTはどちらを使えばよいですか?
目的によって使い分けます。
| 目的 | 向いているサービス |
|---|---|
| 人が画面上で質問や相談をする | ブラウザ版ChatGPT |
| 文章作成やアイデア整理を手作業で行う | ブラウザ版ChatGPT |
| PythonプログラムからAIを呼び出す | OpenAI API |
| 複数のデータを自動で処理する | OpenAI API |
| 自作アプリや業務ツールへ組み込む | OpenAI API |
ブラウザ版ChatGPTは、chatgpt.comを開いて人が直接操作するサービスです。一方、OpenAI APIは、Pythonなどのプログラムからモデルへリクエストを送るために利用します。
なお、ChatGPTとOpenAI APIの請求は別々に管理されます。同じOpenAIアカウントを使用していても、ChatGPTの利用料金にAPIの利用料金は含まれません。
詳しくは、OpenAI公式のChatGPTとAPIの請求に関する説明を確認してください。
Q3. ChatGPT Plusに加入すればOpenAI APIも使えますか?
ChatGPT Plusの月額料金に、OpenAI APIの利用料金は含まれていません。
ChatGPT PlusとOpenAI APIは、請求が分かれている別のサービスです。ChatGPT Plusへ加入している場合でも、APIを利用するにはOpenAI Platform側で支払い設定を行う必要があります。
反対に、OpenAI APIの料金を支払っていても、それによってChatGPT Plusの機能が利用できるようになるわけではありません。
Q4. OpenAI APIは無料で使えますか?
OpenAI APIには、誰でも継続して利用できる無料枠が常に用意されているわけではありません。
アカウントに試用クレジットが表示されていない場合は、基本的に支払い設定が必要です。APIを利用すると、入力や出力のトークン数、使用するモデルや機能などに応じて料金が発生します。
料金は変更される可能性があるため、固定された日本円価格ではなく、OpenAI APIの公式料金ページで最新情報を確認してください。
また、OpenAI PlatformのProjectに設定できる月間予算は、利用状況を知らせるための目安です。予算を超えてもAPIリクエストは自動停止しないため、Usage画面で利用料金を定期的に確認しましょう。
Project予算の仕組みについては、OpenAI公式のProject管理に関するガイドで確認できます。
Q5. 学校や会社のPCでOpenAI APIを使っても問題ありませんか?
学校や会社の利用ルールを確認してから使用してください。
OpenAI APIへ入力した内容は外部のサーバーへ送信されるため、個人情報、顧客情報、社外秘の資料などを許可なく送信してはいけません。
学校や会社のPCで利用する場合は、特に次の点を確認しましょう。
- OpenAI APIの利用が許可されているか
- 外部サービスへのデータ送信が認められているか
- APIキーを共有PCへ保存しても問題ないか
- プロキシや通信制限が設定されていないか
- 管理者への申請や許可が必要か
自分のPCを使用する場合でも、業務データや学校が管理する情報を扱うときは、所属先のルールに従う必要があります。
判断できない場合は、APIキーを発行したりデータを送信したりする前に、学校や会社の管理者へ確認してください。
Q6. 古いOpenAI APIのコードが動かないときは何を確認すればよいですか?
古い解説記事のコードでは、現在と異なるライブラリの書き方や、利用できなくなったモデルが指定されている場合があります。
コードが動かないときは、次の順番で確認してください。
- 表示されたエラーメッセージを確認する
- インストールされている
openaiライブラリのバージョンを確認する - 指定しているモデルが現在も利用できるか確認する
- APIの呼び出し方を公式ドキュメントと比較する
- モデルや機能の廃止予定を確認する
ライブラリのバージョンは、次のコマンドで確認できます。
pip show openai
ライブラリを更新するとコードの修正が必要になることもあります。本番環境でいきなり更新せず、仮想環境やテスト用のプログラムで動作を確認してください。
現在利用できるモデルはOpenAI APIのモデル一覧、提供終了が予定されているモデルや機能はOpenAI APIの廃止予定一覧で確認できます。
OpenAI APIは継続的に更新されるため、「半年ごと」「1年ごと」と期間を決めて書き直す必要はありません。エラーが発生したときや、OpenAIから変更・廃止の案内が出たときに、該当部分を見直しましょう。

