OpenAI API接続の実装|Next.jsで安全にAIを呼び出す方法(疎通確認からJSON設計まで)

Next.jsアプリからOpenAI APIに接続してAI記事生成を行うシステム構成イメージ

AIブログ自動生成ツール開発シリーズ

この連載では、AIを使ったブログ自動生成ツールをゼロから作ります。

  1. AIブログ自動化とは
  2. ツールの全体設計
  3. 環境構築
  4. UI実装
  5. OpenAI API接続
  6. 記事生成パイプライン
  7. 画像生成
  8. WordPress投稿
  9. 履歴・コスト管理
  10. 運用改善

OpenAI API接続の実装

前章では
4ステップUIを実装しました。

この記事では

OpenAI APIを安全に接続する方法

を解説します。

ここで重要なのは

いきなり記事生成を作らないこと

です。

まずは

疎通確認専用API

を作ります。


この章のゴール

この章では

OpenAI APIを

確実につながる状態

にします。

確認する項目

APIキーの有効性
ネットワーク接続
SDK呼び出し
usage取得

この段階を作っておくと

後のAI処理が
圧倒的に安定します。


なぜ疎通確認APIを作るのか

初心者がよくやる失敗は

巨大な生成ロジックを先に作る

ことです。

その状態で接続エラーが起きると

原因が分かりません。

そこで

/api/openai/test

を作ります。

このAPIの役割は

最短の1往復通信

です。


疎通確認APIの実装

OpenAI API疎通確認のリクエストフローを示す図。Next.jsサーバーからOpenAI APIへ通信する流れ

Next.jsでは

app/api/openai/test/route.ts

を作ります。

import { NextResponse } from "next/server";
import { getOpenAIClient } from "@/src/services/openaiClient";export async function GET() {
try {
const client = getOpenAIClient(); const res = await client.responses.create({
model: "gpt-5-mini",
input: [
{
role: "user",
content: "疎通確認です。JSONで {\"ok\":true} を返してください。"
}
]
}); return NextResponse.json({
ok: true,
output: res.output_text,
usage: res.usage
}); } catch (error) {
return NextResponse.json(
{
ok: false,
error: error instanceof Error ? error.message : "Unknown error"
},
{ status: 500 }
);
}
}

この段階では

精度よりエラー可視化

を優先します。


OpenAIクライアント設計

クライアントは

src/services/openaiClient.ts

に作ります。

重要ポイント

APIキー未設定なら即エラー
クライアントはシングルトン

理由

設定漏れを即検知
不要なインスタンス生成防止

AI出力をJSON固定にする

OpenAI API疎通確認のリクエストフローを示す図。Next.jsサーバーからOpenAI APIへ通信する流れ

AI出力は

構造化データ

として使います。

そのため

プロンプトで

必ずJSONのみ返す

と明示します。

さらに受信側では

コードブロックJSON対応
余計な文削除
再パース
失敗時リトライ

を行います。

これで

モデル出力の揺れ

に強くなります。


zodでレスポンス検証

JSON parseだけでは

安全ではありません。

そこで

zod

を使います。

seoSchema
outlineSchema
imagePlanSchema
internalLinkSchema

この検証により

不正データの連鎖を防げます。


プロンプトテンプレート設計

生成品質を安定させるには

プロンプトを
毎回書くのではなく

テンプレート化

します。

日本語出力
誇張表現回避
文字数
トーン
禁止表現
必須要素
ヒアリング回答

これを

baseConstraint

として
各ステージに追加します。


usageログを必ず保存する

OpenAI呼び出し時は

必ず

usage

を保存します。

取得データ

input_tokens
output_tokens
model
stage

これにより

コスト監視
処理分析
見積との差分

が可能になります。

料金についてはこちら


エラー設計

APIでは

400 入力不足
404 対象なし
500 内部エラー

を使い分けます。

フロント側では

statusMessage

で必ず表示します。

沈黙するエラー

が一番危険です。


疎通確認チェックリスト

次を確認します。

GET /api/openai/test

チェック項目

ok true
usage取得
APIキー未設定エラー
500エラー返却

ここまで確認できたら

記事生成に進めます。


まとめ

OpenAI連携で重要なのは

高度なプロンプトではありません。

重要なのは

疎通確認
JSON固定
zod検証
usage記録

この4つです。

これを最初に作ると

AIシステムが壊れにくくなります。

次の記事では

記事生成パイプライン

を実装します。


前の記事

UI実装


次の記事

記事生成パイプライン

https://maplememo.com/ai-blog-generation-pipeline

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール