ChatGPT APIの使い方 — Pythonで始めるAIアプリ開発入門【2026年版】
使い方ガイド
by ToolCraft Lab 約6分で読めます

ChatGPT APIの使い方 — Pythonで始めるAIアプリ開発入門【2026年版】

ChatGPT APIをPythonで使う方法を初心者向けに解説。APIキーの取得から実装例、料金の節約方法まで、AIアプリ開発の第一歩を徹底ガイドします。

#ChatGPT API#Python#OpenAI#AIアプリ開発

ChatGPT APIとは — 何ができるのか

ChatGPT APIは、OpenAIが提供する大規模言語モデル(LLM)をプログラムから呼び出すためのインターフェースです。ブラウザ上のChatGPTと同じ言語能力を、自分のアプリケーションに組み込むことができます。

具体的には、以下のようなことが実現できます。

  • 対話型チャットボット — カスタマーサポートや社内FAQの自動応答
  • 文章生成・要約 — ブログ記事の下書き、長文ドキュメントの要約
  • コード生成・レビュー — 自然言語の指示からコードを自動生成
  • 翻訳・校正 — 多言語翻訳や文章のトーン調整
  • データ抽出・分類 — 非構造化テキストからの情報抽出

ブラウザ版ChatGPTとの最大の違いは「自動化」と「カスタマイズ」です。APIを使えば、自社のデータベースやWebサービスと連携し、独自のAIアプリケーションを構築できます。


APIキーの取得方法

手順1: OpenAIアカウントの作成

OpenAI Platform にアクセスし、アカウントを作成します。

手順2: 支払い情報の設定

ダッシュボードの Settings > Billing から、クレジットカードを登録します。開発初期は月額 $10〜$20 程度に利用上限を設定しておくと安心です。

手順3: APIキーの発行

API Keys ページから「Create new secret key」をクリック。表示されたキーを必ず安全な場所に保存してください。

重要: APIキーは一度しか表示されません。GitHubなどの公開リポジトリにコミットしないよう注意してください。


Pythonでの基本的な使い方

環境構築

pip install openai

APIキーは環境変数に設定するのが安全です。

# .envファイルに記述(.gitignoreに追加すること)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

最初のAPI呼び出し

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "あなたは親切なアシスタントです。"},
        {"role": "user", "content": "Pythonでリストを逆順にする方法を教えてください。"}
    ]
)

print(response.choices[0].message.content)

messagesパラメータの構造

role説明用途
systemAIの振る舞いを定義するキャラクター設定、応答ルールの指定
userユーザーからの入力質問や指示
assistantAIの応答過去の応答を含めることで文脈を維持

よく使うパラメータの解説

model

モデル名特徴推奨用途
gpt-4o高性能・マルチモーダル対応一般的な用途全般
gpt-4o-mini軽量・低コスト大量処理、コスト重視
o1推論特化複雑なロジック、コード生成

temperature

出力のランダム性を制御します(0.0〜2.0)。

  • 0.0 — 決定論的。分類やデータ抽出に最適
  • 0.7 — バランスの取れた創造性
  • 1.5以上 — クリエイティブライティング向き

max_tokens

生成するトークンの最大数を制限します。1トークンは日本語で約0.5〜1文字に相当します。

response_format

{"type": "json_object"} を指定するとJSON形式で出力。後続処理との連携に便利です。


実践例3つ

実践例1: シンプルなチャットボット

from openai import OpenAI

client = OpenAI()

def chatbot():
    messages = [
        {"role": "system", "content": "あなたはフレンドリーなAIアシスタントです。簡潔に回答してください。"}
    ]
    print("チャットボットを起動しました。'quit'で終了します。")

    while True:
        user_input = input("\nあなた: ")
        if user_input.lower() == "quit":
            break
        messages.append({"role": "user", "content": user_input})

        response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=messages,
            temperature=0.7,
            max_tokens=500
        )
        assistant_message = response.choices[0].message.content
        messages.append({"role": "assistant", "content": assistant_message})
        print(f"\nAI: {assistant_message}")

if __name__ == "__main__":
    chatbot()

実践例2: 文章要約ツール

def summarize(text: str, max_length: int = 200) -> str:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": f"以下のテキストを{max_length}文字以内で要約してください。"},
            {"role": "user", "content": text}
        ],
        temperature=0.3
    )
    return response.choices[0].message.content

実践例3: コード生成アシスタント

def generate_code(description: str) -> dict:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "Pythonコード生成の専門家です。JSON形式で回答してください。"},
            {"role": "user", "content": description}
        ],
        temperature=0.0,
        response_format={"type": "json_object"}
    )
    import json
    return json.loads(response.choices[0].message.content)

料金体系と節約のコツ

料金の仕組み

モデル入力(1Mトークン)出力(1Mトークン)
gpt-4o$2.50$10.00
gpt-4o-mini$0.15$0.60
o1$15.00$60.00

料金は2026年3月時点の情報です。最新の料金は各公式サイトでご確認ください。(出典: OpenAI公式サイト, 2026年3月時点)

節約のための7つのコツ

  1. 適切なモデルを選ぶ — 簡単なタスクにはgpt-4o-mini
  2. systemプロンプトを簡潔に — 冗長な指示はトークンの無駄
  3. max_tokensを設定する — 必要以上の生成を防止
  4. 会話履歴を管理する — 古いメッセージを要約・削除
  5. キャッシュを活用する — 同じ質問への回答を再利用
  6. Batch APIを使う — 非リアルタイム処理で50%割引
  7. 利用上限を設定する — 予算超過を防止

FAQ

Q: 無料で使えますか?

基本的には有料サービスです。gpt-4o-miniであれば月額数百円程度に収まることが多いです。

Q: レート制限に引っかかったら?

リトライ処理を入れるか、Tier(利用枠)を上げるか、Batch APIを使いましょう。

Q: 日本語の処理はうまくいきますか?

はい。ただし日本語は英語に比べてトークン消費量が1.5〜2倍になる点に留意してください。

Q: ストリーミング出力はできますか?

stream=True パラメータで、トークンをリアルタイムに受け取れます。

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    stream=True
)
for chunk in stream:
    content = chunk.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

まとめ

ChatGPT APIは、わずか数行のPythonコードでAIの能力を自分のアプリケーションに組み込める強力なツールです。

まずはgpt-4o-miniで小さなプロジェクトから始めて、APIの挙動を掴んでいくことをおすすめします。