ChatGPT OpenAI APIのはじめかた徹底解説

はじめに

AIの活用が身近になってきた背景。OpenAI APIを使えば、自然言語処理や生成AIを簡単にアプリに組み込める。本記事のゴール:公式クイックスタートをなぞりながら、最初の一歩を踏み出してみよう。

OpenAI APIとは

OpenAI APIは、ChatGPTや画像生成モデルのDALL-Eをはじめとする生成AI技術を、自分のアプリやサービスに組み込めるようにするもの。Web版ChatGPTで提供されている文章の生成のみならず、画像生成や音声認識など、さまざまなタスクに対応したモデルをAPI経由で活用できる。

特徴としてシンプルなHTTPリクエストで呼び出せるため、多くのエンジニアにとって導入の敷居が低いように思う。今回の記事で紹介する短いサンプルコード程度でも、高度なAI機能を実装できることを紹介したいと思う。本記事を参考に、自然文を用いた検索や文章要約、画像翻訳、設計支援サービス、対話型システム構築など、多様な用途のアプリ開発に活用してもらえれば筆者としては幸いである。

事前準備

OpenAIアカウントの作成

まずはOpenAIアカウントを作成する。以下のページからメールアドレスを入力して新規アカウントを作ろう。また、APIを利用するためには利用量に応じた料金を支払う必要があるため、アカウント作成後に支払い情報を登録する必要がある。なお、初回登録時に最低金額をチャージする必要がある(筆者の場合は5.5ドル(当時のレートで900円ほど))が、この後の作業に必要となるのでご留意いただきたい。
https://auth.openai.com/create-account

APIキー取得

APIキーはOpenAI APIを利用する上で必要なパスワードのようなもの。本APIにアクセスするときに、このキーを一緒に送信することで、誰がAPIを使っているか、どの契約プランで利用しているかOpenAI側が判断することができる。なぜこのような仕組みが必要なのだろうか。第一の理由は認証のためである。例えばAさんがGPT-5モデルを契約した場合、APIは従量課金制なので不特定多数が自由に使えると不正利用されてしまうため、利用者ごとにキーで認証する。第二の理由は利用料金の計算のため。OpenAI APIはトークンに応じて課金される仕組みのため、APIキーを使うことで、誰がどれくらい使ったか、利用制限まであとどれくらい使えるかがわかるようになっている。

APIキーはOpenAIアカウント作成後に新しく発行する必要がある。まずは以下のリンクにアクセスしよう。
https://platform.openai.com/api-keys

OpenAI Platform画面を開いたら、左側タブ「Manager」下の「API Keys」タブを開く。
続いて、画面中央(あるいは右上)のCreate new secret keyをクリックする。

Create new secret key画面が立ち上がったら、Nameに任意の名前を入れて、Create secret keyボタンを押す。Permissionは本APIキーで許可する操作を制御することができる。

APIキーの作成が完了したら、Save your key画面が立ち上がるので、Copyボタンからクリップボードにコピーしておこう。この後、APIキーの設定について見ていこう。

APIキー登録

簡易的に登録する場合はターミナルを開き、以下のコマンドを実行して環境変数に登録する。ただし、シェルを閉じると消えてしまうため、永続的に登録する場合は.bashrc, .bash_profile, .zshrcファイルに登録するとよい。

export OPENAI_API_KEY="<ここにAPIキーをペーストする>"

.envファイルにAPIキーを登録する方法もある。Node.jsやPythonなど、多くの言語で読み込むライブラリが用意されているので、プロジェクト毎に開発環境・本番環境用など切り替えやすい。

OPENAI_API_KEY=<APIキー>

Node.jsで利用する場合はdotenvというライブラリが使える。

npm install dotenv
// index.js
import dotenv from "dotenv";
dotenv.config(); // .envファイルを読み込む

console.log(process.env.OPENAI_API_KEY);

Pythonではpython-dotenvというライブラリを利用できる。

pip install python-dotenv
from dotenv import load_dotenv
import os

load_dotenv()  # .envファイルを読み込む

print(os.getenv("OPENAI_API_KEY"))

APIキーに関する注意事項

APIキーが外部に漏れた場合、そのキーを不特定多数に利用されてしまうため金銭的な被害を受けたり、トークン上限魔で使い切られると、サービス運営に支障が出る可能性がある。APIキーの管理を厳重に行うか、定期的(数ヶ月に一回など)にAPIキーを更新するようにしよう。.envファイルはGithubに公開しないこと。.gitignoreに.envを追加しておくとよい。AWSなどのクラウドを利用している場合はAWS Secrets Managerなどを使ってAPIキーを管理するとよい。

実践してみる

Node.js / JavaScriptでの例

パッケージマネージャーのnpmを使っている場合は、以下のコマンドをターミナルで実行してopenaiモジュールをインストールしよう。

npm install openai

スクリプトは以下の通り。推論モデルはmodelに指定し、入力はinputに指定する。今回は推論モデルとしてコスパのよいgpt-5-nanoを指定した。利用料金については後の節で後述する。

import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
    model: "gpt-5-nano",
    input: "はじめてgpt-5-nanoを利用します。gptを利用して何ができるか具体的に教えてください。",
});

console.log(response.output_text);

実行してしばらく待つと以下の通り実行結果が返ってくる。

できることの概要
- テキストの作成と編集
  - 記事・レポート・ブログ・メール・プレゼン資料の下書き作成
  - 文章のリライト・トーン変更(丁寧、砕けた、専門的など)
  - 文章の要約、要点の抜き出し、長文の読みやすい要約作成
  - 日本語と英語の翻訳・両言語間の要約・比較
- 情報整理と分析補助
  - データの整理・要点の抽出、比較表・リストの作成
  - 事実関係の整理、論理的な結論と理由づけの提示
  - 市場・競合の分析の骨子づくり、KPI案の提案
- コード・技術サポート
  - 簡易なプログラムの作成・コードの説明・コメントの追加
  - バグの原因推定とデバッグのヒント、ユニットテストの雛形作成
- 学習・教育サポート
  - 難解な概念の分かりやすい解説、ステップバイステップの手順、練習問題の作成
  - 事例を使った理解の補助、図解の説明文の作成
- 企画・アイデア出し
  - 新規アイデアのブレインストーミング、実行計画のロードマップ作成、プレゼンのアウトライン作成
- 日常の業務・生活のサポート
  - メール・依頼文・議事録のドラフト作成、スケジュール整理、リマインダー用メモの作成支援
- 画像を使った支援(画像入力機能が利用可能な場合)
  - 画像の内容説明、要点の抽出、図表の解釈、OCR(画像内の文字起こし)など
  - 例:写真の内容を説明、図の特徴を解説、手書き文字の読み取り

具体的な使い方の例(カテゴリ別)

1) 要約・翻訳
- 「この長文を要約して3つの要点に絞ってください。」
- 「この日本語文章を英語に翻訳してください。ビジネス文書として自然な表現で。」
- 「長文の重要ポイントを箇条書きでまとめてください。」

2) 文章作成・編集
- 「新規商品のPR用のキャッチコピーを10案作ってください。」
- 「部下への通知文を丁寧なビジネス文書に書き換えてください。」
- 「論文本文の概要セクションを400字程度で作成してください。」

3) コード・技術サポート
- 「PythonでCSVを読み込んで集計するサンプルコードを作ってください。」
- 「このコードのバグを修正して、動作するバージョンを示してください。」
- 「データ分析の手順をステップバイステップで教えてください。」

4) 学習・教育支援
- 「量子コンピューティングの基本概念を初心者向けに分かりやすく説明してください。」
- 「中学レベルの数学の練習問題を5問作成し、解答と解説をつけてください。」
- 「機械学習の流れをフローチャート風に説明してください。」

5) 企画・アイデア出し
- 「新規サービスのアイデアを10案出してください。実現可能性と対象顧客も添えて。」
- 「1年のイベント計画を月別に提案してください。」

6) データ整理・分析サポート
- 「CSVの列Aをキーにして、集計表を作るSQLの雛形を作成してください。」
- 「競合分析の要点を整理して、比較表の雛形を作ってください。」

7) 画像対応の例
- 「この画像の中の主要な要素を説明してください。」(画像をアップロード)
- 「画像内のテキストを読み取って、原文を起こしてください。」(OCR)
- 「図の傾向を要約して、図表の読み方を説明してください。」

使い方のコツ
- 目的を明確に伝える
  - 例: 「ビジネスメールの下書きを、敬語で300字程度に。」
- 出力形式を指定する
  - 例: 「箇条書きで、ポイントを3つ挙げてください。」
- 条件や制約を具体的にする
  - 例: 「専門用語を避けて、初心者にも分かる説明に。」
- 追加で質問・修正を繰り返す
  - 出力を見て不足点を補足する指示を出すと精度が上がります。

注意点と安全性
- 出力は情報源を必ず検証してください。特に事実確認が重要な場合は追加チェックをお願いします。
- 機密情報・個人情報は安全な範囲で扱い、共有には注意してください。
- 著作権・倫理に反しない範囲で使ってください。過剰な模倣や不正行為を助長する用途には回答しません。

すぐ始めるには
- まず「何を作りたいのか」を教えてください。例: 「今週のニュースの要約を作って」「Pythonでデータ処理のコードを書いて」など。
- その後、希望の出力形式や分かりやすくするための背景情報を伝えると、より適切な結果が出やすくなります。

もしよろしければ、今取り組みたいタスクを教えてください。例えば「ブログ記事の下書きを作りたい」「画像を見て説明してほしい」「データ分析のコードを書いてほしい」のいずれかで構いません。具体的な指示をいただければ、すぐにサンプル出力をお見せします。

Pythonでの例

Pythonで利用する場合はpip経由でopenaiモジュールをインストールしておこう。

pip install openai

サンプルコードは以下の通り。実行結果はNode.jsの場合と同様なので割愛する。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-5-nano",
    input="はじめてgpt-5-nanoを利用します。gptを利用して何ができるか具体的に教えてください。"
)

print(response.output_text)

API利用による応用

アプリやサービスに組み込む

Web版の場合は人がChatGPTを開いて入力する必要があるが、APIを使えば自分が作ったアプリやWebサイトに直接AIを組み込むことができる。例えばECサイトの商品検索に自然文で「夏の海に着ていくのに最高のTシャツ」と入力すれば最適な商品を返すようカスタマイズすることが可能となる。他には社内ポータルにAIヘルプデスクを常駐させておき、社内文書をもとに回答させるという使い方もできる。

外部サービスとの連携

APIを利用すると他のサービスと連携することができる。例えば、SlackやDiscord、LINEのBotと接続し、チャット中にAIが返答することができる。他にGoogleスプレッドシートから関数を通じて文章要約を呼び出すという使い方もできるだろう。

動作を自分専用にカスタマイズする

APIならプロンプトやシステム設計を工夫して自分の思い描く専用のAIを作れるが、Web版の場合はChatGPTアプリに依存する動きしかできない。例えば、特定のマニュアルや社内文書を読み込ませ、それだけを参照するFAQボットもAPIを利用すれば作ることができる。他にもプログラミング学習アプリを作る場合は「絶対に答えは出さず、ヒントだけを出す」や「部分的にしか回答しない」というモードを用意することもできる。また、Web版は1セッション内でしかやり取りできないが、APIなら同時に多数のリクエストをさばける。複数人が利用するWebサービスでAI機能を提供したり、パーソナライズされた情報を生成するようなアプリを作る場合は、API利用を検討しよう。

利用料金

モデルの分類

OpenAI公式の料金ページは以下のリンク。こちらの情報によると、料金表は主に以下のカテゴリに分類される。
https://platform.openai.com/docs/pricing

  • テキストモデル(例:GPT-5、GPT-4.1など)
  • マルチモーダル/画像対応モデル(例:GPT-4o、GPT-4o mini、GPT Image1など)
  • 音声対応モデル(音声入力や音声出力を処理できるモデル)
  • リアルタイム対応モデル(遅延を抑えたリアルタイム応答重視)
  • 組み込みツール(コード実行やファイル検索などのツール連携)

今回利用したのはテキストモデルのgpt-5-nanoで、コスパに優れている。今回のようにお試し利用や開発・テストで利用する場合はこちらの利用がおすすめである。また、画像や動画、音声など複数のユースケースが考えられる場合(マルチモーダルという)は、その他のモデルの利用を検討しよう。以上のように、ジャンルごとに料金や性能が整理されているため、利用目的に合うカテゴリを特定しよう。

モデルバージョンとトークン単価

利用料金はトークン課金制となっている。トークンとはテキストを分割した最小単位(日本語だと単語や助詞単位、英語だと1語の一部)のこと。1トークンはおおよそ英単語1個、日本語2~3文字と言われている。料金は「入力トークン数(Input)」と「キャッシュ入力(Cached Input)」「出力トークン数(Output)」の合計に基づいて計算される。

入力トークンは、ユーザがモデルに送るテキストや画像などのデータのこと。プロンプトで「猫の生態について教えて」というテキストを送った場合、この情報が入力となる。出力トークンは、モデルが生成して返すテキストや画像などのデータのこと。ChatGPTが返してくる文章、生成された画像の説明文などがOutputに該当する。キャッシュ入力は、過去に入力したキャッシュ(再利用)した場合に課金が割引される仕組み。例えば、毎回共通的に「事実を基に出力してください。」というプロンプトを入れている場合、毎回フル料金ではなく、キャッシュ入力料金で計算される。

今回利用したテキストモデルのgpt-5シリーズにおいて、1M(100万)トークンあたりの利用料金を以下に示しておく。キャッシュ入力は入力の10分の1の料金になっていることから、可能な限りキャッシュ入力を利用するようなプロンプトで指示を送るような仕組みを作れると良いことがわかる。
https://platform.openai.com/docs/pricing

MODELINPUTCACHED INPUTOUTPUT
gpt-5$1.25$0.125$10.00
gpt-5-mini$0.25$0.025$2.00
gpt-5-nano$0.05$0.005$0.40

さいごに

OpenAI APIは初心者でも簡単に始められることをお分かりいただけただろうか。それなりの規模のアプリを開発するのであればそれなりのコードを書く必要があるが、今回のクイックスタートでは、とにかく最小構成でも動くアプリを作ることを目標に開発を進めた。OpenAI APIは今回紹介したテキストベースのAPIの他に画像や動画、音声を取り扱うモデルも存在するため、ご自身の目的にあった最適なモデルを選択していただきたい。

コメント

タイトルとURLをコピーしました