ChatGPTと同じAIの力を自分のアプリに組み込めるのがOpenAI APIです。APIキーの取得から最初のコード実行まで、GPT-4oを使い始める手順を解説します。
OpenAI APIの使い方:GPT-4oを活用したAIアプリ開発ガイド

AIを知りたい
先生、自分のアプリにChatGPTのような機能を組み込みたいんですが、どうすればいいですか?

AIエンジニア
OpenAI APIを使えば、GPT-4oやGPT-4o-miniなどのモデルを自分のアプリケーションに組み込めるよ。APIキーを取得して、HTTPリクエストを送るだけで、テキスト生成、画像理解、音声処理などの機能を利用できるんだ。

AIを知りたい
プログラミングが必要なんですか?難しそうですが…

AIエンジニア
PythonのOpenAIライブラリを使えば、数行のコードで始められるよ。基本的にはメッセージを送って、AIの返答を受け取るだけ。Function Calling機能を使えば、AIが外部のデータベースやAPIと連携することもできる。料金も従量課金だから、小規模なプロジェクトなら月数ドルで始められるよ。
OpenAI APIとは。
人工知能に関わる言葉である「OpenAI API」について説明します。OpenAIが提供するGPT-4o、GPT-4o-mini、DALL-E 3、Whisperなどの各種AIモデルをHTTP API経由で利用できるサービスです。テキスト生成、画像生成、音声認識などの機能を自社アプリケーションに組み込むことができます。
OpenAI APIとは
OpenAI APIは、OpenAIが提供するAIモデルをプログラムから利用するためのWebAPIです。GPT-4o、GPT-4o-mini、DALL-E 3、Whisper、TTSなど、複数のモデルをHTTPリクエスト経由で利用できます。
APIを使うことで、ChatGPTと同等のAI機能を自分のアプリ、Webサイト、業務システムに組み込むことができます。チャットボット、文書要約、コード生成、翻訳、画像生成など、様々なAI機能を柔軟にカスタマイズして利用可能です。
APIの基本的な使い方
OpenAI APIの利用は、アカウント作成→APIキー取得→リクエスト送信の3ステップで始められます。Chat Completions APIが最も基本的なエンドポイントで、メッセージの配列を送信し、AIの回答を受け取ります。
メッセージには3つの役割があります。system(AIの振る舞いを指定)、user(ユーザーの入力)、assistant(AIの応答)です。systemメッセージで「あなたは親切なカスタマーサポートです」のように役割を指定し、userメッセージで質問を送ると、AIが適切な回答を返します。
主要なAPIエンドポイント
| API | 機能 | 主なモデル | 用途 |
|---|---|---|---|
| Chat Completions | テキスト生成・対話 | GPT-4o, GPT-4o-mini | チャットボット、文書生成 |
| Embeddings | テキストのベクトル化 | text-embedding-3-small/large | 検索、RAG |
| Images | 画像生成・編集 | DALL-E 3 | 画像生成、アート |
| Audio | 音声認識・生成 | Whisper, TTS | 文字起こし、音声合成 |
| Moderations | コンテンツ審査 | omni-moderation | 有害コンテンツ検出 |
Function CallingとTool Use
Function Callingは、AIが外部の関数やAPIを呼び出せるようにする機能です。例えば、「東京の天気を教えて」と聞かれた場合、AIは天気APIを呼び出す必要があると判断し、適切なパラメータを生成します。開発者は返ってきたパラメータで実際のAPI呼び出しを行い、結果をAIに返して最終的な回答を生成させます。
この機能により、AIはリアルタイムのデータ取得、データベース操作、外部サービスとの連携が可能になります。RAGシステムの構築や、業務ツールとの統合に不可欠な機能です。
料金体系とコスト最適化
| モデル | 入力料金 | 出力料金 | 推奨用途 |
|---|---|---|---|
| GPT-4o | $5/1M tokens | $15/1M tokens | 高品質な回答が必要な場面 |
| GPT-4o-mini | $0.15/1M tokens | $0.60/1M tokens | 大量処理、コスト重視 |
| text-embedding-3-small | $0.02/1M tokens | – | ベクトル検索 |
コスト最適化のポイントとして、簡単なタスクにはGPT-4o-miniを使い、複雑なタスクのみGPT-4oを使う二段階アプローチが効果的です。また、Batch APIを使えば50%の割引が適用されます。
まとめ
OpenAI APIは、最先端のAIモデルを自分のアプリケーションに簡単に組み込める強力なプラットフォームです。Chat Completions APIによるテキスト生成を軸に、Function Calling、Embeddings、画像生成、音声処理など、幅広いAI機能を利用できます。従量課金制で小規模から始められ、GPT-4o-miniの活用やBatch APIにより、コスト効率の良い運用が可能です。
関連記事
OpenAI API v1クライアントの基本呼び出しとストリーミング
OpenAI APIのPython SDKは v1 でクライアントベースの設計に刷新されました。基本的なChat Completionsの呼び出しと、リアルタイムに応答を表示するストリーミングの実装方法を紹介します。
# pip install openai
from openai import OpenAI
client = OpenAI() # 環境変数 OPENAI_API_KEY から自動取得
# 基本的な呼び出し
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "簡潔に日本語で回答してください。"},
{"role": "user", "content": "Transformerのself-attentionを一言で説明してください。"}
],
temperature=0.7,
max_tokens=200
)
print("--- 通常レスポンス ---")
print(response.choices[0].message.content)
print(f"使用トークン: {response.usage.total_tokens}")
# ストリーミング: チャンクごとにリアルタイム表示
print("\n--- ストリーミング ---")
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": "機械学習の主要な手法を5つ挙げて、それぞれ一行で説明してください。"}
],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
print() # 最終改行
v1クライアントでは OpenAI() のインスタンスを作成してからメソッドを呼ぶ設計になり、型ヒントやエラーハンドリングが改善されました。stream=True を指定するとレスポンスがチャンク単位で返され、ChatGPTのような「文字が順に表示される」UIを実装できます。
