【2026年版】OpenAI APIの始め方 — APIキー取得からChatGPT連携まで完全ガイド


OpenAI APIの呼び出しフロー 🔑 APIキー認証 Authorization: Bearer sk-... Your App Python / JS コード API request messages / model OpenAI GPT gpt-4o-mini tokens 計算 / 推論 AI response レスポンス choices[0] .message.content コスト管理のポイント モデル選択(gpt-4o-mini は低コスト) / トークン数を最小化 / Usage limits を設定
OpenAI APIの呼び出しフロー
🎚 難易度 ★☆☆ 初心者向け
⏱ 学習時間の目安 読むだけ10分、最初のAPI呼び出しまで20〜30分
📚 前提知識 python-getting-started または javascript-getting-started の基礎知識
✅ このガイドで学べること
  • APIキーの取得と安全な管理方法
  • Chat Completions APIの基本的な使い方
  • system/user/assistantロールの概念
  • トークンとコスト管理の基本

セットアップ手順

# OpenAI Pythonライブラリのインストール
pip install openai python-dotenv

# 環境変数の設定(.envファイル)
echo "OPENAI_API_KEY=sk-your-key-here" > .env

はじめてのAPI呼び出し

from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()  # OPENAI_API_KEY環境変数を自動読み込み

# シンプルな呼び出し
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "あなたは親切なIT教育者です。"},
        {"role": "user", "content": "Pythonの特徴を3行で教えてください"}
    ]
)
print(response.choices[0].message.content)
print(f"使用トークン数: {response.usage.total_tokens}")

# 会話履歴を保持する例
messages = [{"role": "system", "content": "日本語で回答してください"}]
user_input = "機械学習とは何ですか?"
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(model="gpt-4o-mini", messages=messages)
messages.append({"role": "assistant", "content": response.choices[0].message.content})

よくある詰まりポイント

Q: AuthenticationError: No API key provided が出る → 環境変数 OPENAI_API_KEY が設定されていません。.env ファイルに書いて python-dotenv で読み込むか、export OPENAI_API_KEY='sk-...' でターミナルに設定してください。

Q: APIキーをGitHubにpushしてしまった → すぐにOpenAIのダッシュボードでそのキーを無効化・削除してください。.gitignore.env を追加して、今後は環境変数で管理しましょう。

Q: レスポンスが遅いstream=True オプションを使うと、生成されるたびに少しずつテキストが返ってきて体感速度が改善します。for chunk in client.chat.completions.create(..., stream=True) の形式で実装できます。

ひよこ ひよこ

OpenAI APIって何?ChatGPTとは違うの?

ペンギン先生 ペンギン先生

ChatGPTOpenAIが提供するWebインターフェースで誰でも使えるチャットサービスだよ。OpenAI APIはそのAIモデルプログラムから呼び出すための仕組みで、自分のアプリやサービスにAI機能を組み込めるんだ。「自社のチャットボットGPT-4を搭載する」「ドキュメントを自動要約するツールを作る」など、APIを使えばChatGPTの機能を自分のプロダクトに組み込めるよ。

ひよこ ひよこ

使い始めるためにまず何をすればいいの?

ペンギン先生 ペンギン先生

platform.openai.comでアカウントを作ってAPIキーを取得するよ。「API keys」メニューから「Create new secret key」でキーを生成できるんだ。一度しか表示されないから必ずコピーして保存しておいてね。使う際は環境変数(.envファイルのOPENAI_API_KEY)に設定するのがセキュリティ上の基本だよ。絶対にソースコードAPIキーを直接書いてGitHubにpushしないようにしてね。

ペンギン先生 ペンギン先生

ここでAPIキーを取得してみてね。platform.openai.comにサインインして「API keys」→「Create new secret key」でキーを作成しよう。コピーしたら「export OPENAI_API_KEY='sk-...'」で環境変数に設定して、curlでモデル一覧を取得してみよう。一覧が返ってきたら準備完了だよ!(試してみて)

ひよこ ひよこ

Pythonからはどうやって使うの?

ペンギン先生 ペンギン先生

まず「pip install openai」でライブラリインストールして、「from openai import OpenAI; client = OpenAI()」でクライアントを作るよ。「client.chat.completions.create(model='gpt-4o-mini', messages=[{'role': 'user', 'content': '日本の首都は?'}])」で呼び出せるんだ。レスポンスは「response.choices[0].message.content」で取り出せるよ。一番シンプルな形は「ユーザーの質問→AIの回答」の一往復だね。

ひよこ ひよこ

messagesの「role」って何の役割があるの?

ペンギン先生 ペンギン先生

messagesはAIとの会話履歴を表すリストで、3種類のロールがあるよ。「system」はAIへの指示(キャラクター設定や回答の制約)、「user」は人間の入力、「assistant」はAIの過去の回答を表すんだ。たとえばsystemに「あなたは日本語で答える親切なIT教育者です」と設定すると、それ以降の全ての回答がそのキャラに沿ったものになるよ。会話の文脈を保持するには、過去のuser/assistantメッセージをリストに追加していけばいいんだ。

ひよこ ひよこ

トークンってよく聞くけど、何のこと?

ペンギン先生 ペンギン先生

トークンはテキストをAIが処理する最小単位で、コスト計算の基準になるよ。英語は大体1単語≈1トークン、日本語は1文字≈1〜2トークンと考えておけばいいよ。「gpt-4o-mini」は入力1000トークンあたり$0.00015・出力あたり$0.0006(2026年現在)でとても安いけど、大量に呼び出すと積み重なるから注意が必要だよ。「response.usage.total_tokens」で使用トークン数を確認できるし、platform.openaiのUsageページで月の使用量を監視できるよ。

ひよこ ひよこ

コストが積み重なるのは怖いな…使いすぎないようにする方法はあるの?

ペンギン先生 ペンギン先生

いくつかの対策があるよ。まずplatform.openai.comのBillingで月の上限(Usage limits)を設定しておこう。モデルは用途に合わせて選ぶのも重要で、「gpt-4o-mini」はコストが低く多くの用途で十分な品質があるよ。プロンプトを短くすること、キャッシュを活用すること、必要な場合のみAPIを呼ぶことも大切だね。ローカルLLMOllamaなど)を使えばAPIコストをゼロにすることもできるよ。

ひよこ ひよこ

プロンプトエンジニアリングって何?うまく指示するコツがあるの?

ペンギン先生 ペンギン先生

プロンプトエンジニアリングはAIへの指示(プロンプト)を工夫してより良い出力を引き出す技術だよ。コツをいくつか紹介するね。まず「具体的に」指示する—「要約して」より「3行以内の箇条書きで要約して」の方が精度が上がるよ。次に「役割を設定する」—「あなたはシニアエンジニアです」と設定すると技術的な回答の精度が上がる。また「例を見せる(Few-shot)」—「例えばこういう形式で答えてください」と例示すると出力形式が安定するよ。

ひよこ ひよこ

OpenAI API以外にも似たようなサービスはあるの?

ペンギン先生 ペンギン先生

たくさんあるよ!Anthropic(Claude API)、GoogleGemini API)、Meta(Llama APIまたはローカル実行)、Mistral AIなどが主要どころだね。2026年現在は各社が競争を繰り広げていて、コスト・性能・特徴が違うから、用途に合わせて選ぶのがいいよ。ローカルで無料で動かしたいならOllamaを使ったLlamaやMistralがおすすめだよ。OpenAI APIで基本を覚えてから他のAPIを試してみると、違いがよく分かるよ。

次に学ぶなら