株式会社renue
renueについて
renueは、AIで業務を実装する会社です
AIコンサルティングから図面AI・広告運用エージェント・コールセンターAIまで、実際に動いているサービスをご覧いただけます。renueが何をしている会社か、まずはサービス一覧からご確認ください。
OpenAI APIとは?基本概要と特徴
OpenAI APIは、ChatGPTやGPT-4oなどの大規模言語モデル(LLM)を自社サービスやアプリケーションに組み込むためのインターフェースです。テキスト生成・画像認識・音声合成・埋め込みベクトル生成など、多様な機能をHTTPリクエスト経由で利用できます。
OpenAIはChat Completions APIに加えてResponses APIも提供しています。Responses APIは会話状態の管理やツール利用を扱え、公式の移行ガイドでは新規開発で推奨されています。Chat Completionsもサポートされており、両者ではリクエスト・レスポンスの構造や対応機能が異なります。ただし、Chat Completions APIも引き続き広く使われているため、本記事では主にChat Completions APIの使い方を解説します。
事前準備:APIキーの取得と環境構築
OpenAI APIを使い始めるには、まずOpenAIのプラットフォームサイト(platform.openai.com)でアカウントを作成し、APIキーを発行する必要があります。
手順1:APIキーの発行
- platform.openai.comにログインする
- ダッシュボードのAPIキー管理で、使用する組織・プロジェクトを確認する(画面の配置は公式Quickstartから確認)
- 「Create new secret key」をクリックしてキーを発行
- 表示されたキーをコピーして安全な場所に保存(再表示不可)。実行前にBillingで利用可能な残高・支払い設定も確認する
手順2:Pythonライブラリのインストール
pip install openai python-dotenv
手順3:環境変数への設定
APIキーをソースコードにハードコードするのは危険です。必ず.envファイルや環境変数で管理してください。
# .envファイル
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
Chat Completions APIの基本的な使い方(Python)
最もよく使われるChat Completions APIの基本的な実装例を見てみましょう。
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": "Pythonでリストをソートする方法を教えてください。"}
],
temperature=0.7,
max_completion_tokens=500
)
print(response.choices[0].message.content)
主要パラメータの解説
- model:使用するモデル名(
gpt-4o、gpt-4o-miniなど) - messages:会話履歴の配列。
system(システムプロンプト)・user(ユーザー入力)・assistant(AIの返答)の3ロールを使う - temperature:出力のランダム性(0〜2。低いほど安定、高いほど創造的)
- max_completion_tokens:生成する最大トークン数。可視の回答だけでなく非表示トークンも含む。Responses APIではmax_output_tokensを使う(公式のトークン計測説明)
OpenAI API・LLMアプリ開発の支援について
OpenAI APIを活用したシステム開発や、AI人材採用支援サービスについてご相談いただけます。導入したい機能や必要な人材像をお聞かせください。
無料相談はこちらGPT-4oとモデルの選び方
OpenAI APIには複数のモデルがあり、用途とコストに応じて選択します。下表は2026年9月17日確認の標準テキスト料金(米ドル、入力はキャッシュなし)です。Batch・音声・画像・ツールの課金は別に確認してください(公式料金表、GPT-4o仕様、GPT-4o mini仕様)。
| モデル | 特徴 | 入力(/1Mトークン) | 出力(/1Mトークン) |
|---|---|---|---|
| gpt-4o | 高精度・マルチモーダル対応 | $2.50 | $10.00 |
| gpt-4o-mini | 軽量・低コスト・高速 | $0.15 | $0.60 |
学習・プロトタイプ段階ではgpt-4o-miniを使うのがおすすめです。例えば入力1,000・出力500トークンなら標準テキスト料金は1回0.00045ドルで、計算用に1ドル=150円と仮定すると約0.0675円です。これは利用分布の調査結果ではなく、画像・ツール料金等を含まない試算です。本番運用ではgpt-4oも候補にし、実際のタスクで品質・遅延・費用を比較して採用を判断しましょう。
モデル選定の考え方
- プロトタイプ・開発初期:gpt-4o-mini(コスト優先)
- 本番・複雑なタスク:gpt-4o(精度優先)
- Vision(画像認識):gpt-4oまたはgpt-4o-mini(どちらも対応)
- 埋め込みベクトル生成:text-embedding-3-small / text-embedding-3-large
応用API:Embeddings・Vision・TTS・STT
Embeddings API(テキストの意味ベクトル化)
Embeddings APIは、テキストを高次元の数値ベクトルに変換します。セマンティック検索・類似度計算・RAG(検索拡張生成)などに活用されます。text-embedding-3-smallの既定は1,536次元で、dimensionsを指定すると短縮できます(公式Embeddingsガイド)。
response = client.embeddings.create(
model="text-embedding-3-small",
input="OpenAI APIの使い方について教えてください"
)
vector = response.data[0].embedding
print(f"ベクトル次元数: {len(vector)}") # 1536次元(dimensions未指定時)
Vision API(画像理解)
GPT-4oはテキストと画像を同時に入力できるモデルです(公式仕様)。例の画像URLは、実際にアクセスできる自分の画像URLへ置き換えてください。
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "この画像に何が写っていますか?"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}
]
)
print(response.choices[0].message.content)
TTS API(テキスト→音声合成)
以下は公式音声合成ガイドのストリーミング保存形式に沿ったtts-1の例です。利用可能な音声はモデルごとに異なります。
with client.audio.speech.with_streaming_response.create(
model="tts-1",
voice="alloy", # 例: alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer
input="こんにちは、OpenAI APIを使った音声合成のデモです。"
) as response:
response.stream_to_file("output.mp3")
料金体系と節約のコツ
テキストモデルは主に入力・出力のトークン数に応じた従量課金で、画像・音声・ツールには別の課金単位もあります。文字とトークンの対応はモデルや文章によって変わり、日本語を常に1文字=1〜2トークンとは換算できません。トークン計測方法とAPIのusageで確認します。
コスト削減の実践テクニック
- max_completion_tokensを設定する:上限を指定して想定外の長文生成を抑える(パラメータ名はモデルやAPIにより異なります)
- システムプロンプトを簡潔にする:毎回送信されるため、不要な文言を削除する
- gpt-4o-miniで開発・テスト:本番と同じコードで低コスト検証が可能
- 会話履歴を管理する:古い会話を要約・削除してコンテキスト長を抑制
- Batch APIを使う:対応モデル・エンドポイントのBatch APIは同期API比50%割引。完了ウィンドウは24時間で、期限切れや失敗も処理する
月間コストの試算例
下記は1回当たり入力1,000・出力500トークン、キャッシュなしの標準テキスト料金、1ドル=150円という計算用の仮定です。実際の為替・文章量・画像やツールの利用・呼び出し回数で金額は変わり、組織の規模だけでは決まりません。
- 個人・学習用の計算例(gpt-4o-mini):月1万〜5万回なら約675〜3,375円
- サービス運用の計算例(gpt-4o):月1万〜10万回なら約11,250〜112,500円
- エンタープライズ:利用量・契約方式・追加機能を基に見積もり、個別料金や割引の適用可否を契約で確認
よくあるエラーと対処法
以下は現行Python SDKの例外と返却内容を確認するための整理です(公式エラーガイド、レート制限、支出上限)。同じHTTPステータスでも原因が異なるため、error.codeとメッセージを確認します。
| エラー | 原因 | 対処法 |
|---|---|---|
| AuthenticationError | APIキーが無効または未設定 | 環境変数を確認し、キーを再発行する |
| RateLimitError(429) | 一時的なレート制限、残高不足、組織・プロジェクトの支出上限等 | 一時制限はRetry-Afterに従い回数を制限して再試行。残高・支出上限は設定や契約を確認し、再試行だけで解決しようとしない。usage tierはAPIの利用状況等に応じた枠で、ChatGPTの月額プラン変更とは別 |
| BadRequestError(400) | パラメータ不正 | モデル名・メッセージ形式を公式ドキュメントで確認 |
| BadRequestError等でコンテキスト超過を確認 | 入力と出力予定がモデルのコンテキスト上限を超える等 | 返却されたコード・メッセージで超過を確認し、履歴や添付内容を整理する。ContextLengthErrorという独立したSDK例外クラスを前提にしない |
LLMプロバイダを切り替える可能性がある場合は、openaiとgeminiなどをEnumで管理し、実行前にバリデーションを入れておくと保守性が高まります。
まとめ:OpenAI APIを活用したシステム開発のポイント
OpenAI APIは、APIキー取得からPythonでの実装まで短時間で始められるのが魅力です。本記事で解説した主なポイントをまとめます。
- まずはgpt-4o-miniでコストを抑えつつ開発を進める
- APIキーは必ず環境変数で管理し、ソースコードへのハードコードを禁止する
- max_completion_tokens・会話履歴管理でコストを最適化する
- テキスト生成以外にもEmbeddings・Vision・TTSなど豊富な機能を活用する
- 本番運用ではResponses APIへの移行も検討する
LLMアプリ開発は、モデル選定・プロンプト設計・コスト最適化・セキュリティを総合的に設計する必要があります。AI開発支援サービスやAI人材採用支援サービスについてもお気軽にご相談ください。
OpenAI API・LLMアプリ開発の支援について
OpenAI APIを活用したシステム開発や、AI人材採用支援サービスについてご相談いただけます。導入したい機能や必要な人材像をお聞かせください。
無料相談はこちらFAQ:OpenAI APIに関するよくある質問
Q. OpenAI APIは無料で使えますか?
A. 公式Quickstartには無料のテストAPIリクエストの案内がありますが、利用可能な残高・支払い条件はアカウントで確認してください。継続利用はモデル等に応じた従量課金です。gpt-4o-miniで入力1,000・出力500トークン、1ドル=150円の仮定なら、月1,000回で約67.5円、1万回で約675円です。標準テキスト料金による試算で、画像・音声・ツール料金等は含みません。全利用者が月数百円に収まるという意味ではありません。(公式Quickstart、料金表)
Q. APIキーが漏洩した場合はどうすればよいですか?
A. すぐにOpenAIのダッシュボードで該当のAPIキーを削除し、新しいキーを発行してください。GitHubなどにコミットしてしまった場合は、リポジトリの履歴からも削除する必要があります。APIキーは.envファイルに保存し、.gitignoreに追加することが基本です。
Q. gpt-4oとgpt-4o-miniはどのような場合に使い分けるべきですか?
A. 開発・テスト段階やコストを抑えたいケースではgpt-4o-miniを推奨します。gpt-4oも候補にし、実際の入力で品質・応答時間・費用を比較してください。本文のChat Completions例ではモデル名を切り替えられますが、モデルごとの対応機能と制限は確認が必要です。
Q. Chat Completions APIとResponses APIの違いは何ですか?
A. Responses APIはChat Completions APIの後継として開発された新しいインターフェースで、より柔軟なマルチターン会話管理やツール利用が可能です。新規プロジェクトにはResponses APIの採用が推奨されますが、Chat Completionsも引き続きサポートされています。ただし、利用するモデルの終了予定や仕様変更は別に確認します。(公式移行ガイド)
Q. 日本語のトークン数はどのように計算しますか?
A. 日本語も文字数とトークン数は固定対応しません。プレーンテキストは採用モデルに対応するtiktokenで概算できますが、メッセージ構造・画像・ファイル等を含むAPI全体の課金量とは差が出ます。対応する事前計測機能と、実行結果のusageを確認し、入力・出力・追加ツールの料金を分けて見積もってください。(公式トークン計測ガイド)
Q. APIを使ったサービスのセキュリティ上の注意点は何ですか?
A. 主な注意点は3点です。①APIキーをフロントエンドのコードに含めない(必ずバックエンド経由で呼び出す)、②外部文書などの信頼できない内容に紛れた指示でAIの動作を変えようとするプロンプトインジェクションに備え、入力データと上位の指示を分離し、ツールの権限を制限する、③個人情報・機密情報をAPIに送信しないか送信する場合はデータ処理に関する規約を確認する。Azure OpenAI Serviceを含む利用環境は、契約・データ所在地・保持条件・認証と権限管理を自社要件に照らして選びます。サービス名だけで社内ポリシーへの準拠は決まりません。(プロンプトインジェクション対策、OpenAI APIのデータ取扱い)




