レビューは見つかりませんでした
「まず動くガイドがない」「仕様と実装がずれる」を解消。
OpenAPI(YAML/JSON)やコードコメント、仕様メモを入力するだけで、クイックスタート/認証ガイド/エンドポイント一覧/詳細リファレンス(curl/JS/Pythonの実行例)/エラー辞典/ベストプラクティス/変更履歴をMarkdownで生成。
初回導入から運用更新まで、開発者が5分で成功体験を得られるドキュメントを提供します。
クイックスタート(APIキー取得→最初の成功レスポンスまで)
認証方式(Bearer/Basic/OAuth2)の実行例とハマりどころ
一覧表+詳細の二段構成リファレンス(必須/任意/型/制約/例)
実行可能サンプル(curl / JavaScript / Python)
エラー辞典(コード/原因/対処/再試行ポリシー)
運用ガイド(ページング/レート制限/リトライ/Idempotency/Webhook)
変更履歴(Changelog)とバージョニング方針(SemVer)
SaaS/API提供者のPM/バックエンド/DevRel
社内APIを速く普及させたいプラットフォームチーム
PoC/ハッカソンで“動くサンプル”を最速で届けたい開発者
仕様:OpenAPI 3.x / JSON Schema / コメント(JSDoc/Docstring など)
言語例:Node.js(axios/fetch) / Python(requests/httpx) / curl
認証:Bearer / Basic / OAuth2 / API Key(ヘッダ/クエリ)
入力テンプレに OpenAPI(または抜粋コード・仕様メモ)を貼付
完成形プロンプトを投入し Markdown ドキュメントを生成
生成物をリポジトリ/docsへ配置し、自動公開(Docsサイト)へ
最初の成功体験を最優先(APIキー取得→1リクエスト→成功)
実行例はコピペ可能に(環境変数/プレースホルダを統一)
落とし穴(時刻UTC/整形/最大サイズ/順序保証)を明記
Breaking変更は必ず Changelog と移行手順をセットで
導入時間を最短化:初回成功までの摩擦を削減
問い合わせ削減:落とし穴・エラー辞典で自己解決率UP
品質の同期:OpenAPIと文章の整合性を常に担保
Q1. OpenAPIがなくても使えますか?
A. はい。コードコメントや既存仕様の箇条書きから推定スキーマを組み立てます(差異は「要確認」明記)。
Q2. SDK生成にも使えますか?
A. サンプルに加えて簡易SDK雛形(JS/Python)を出力可能です。
Q3. 社外公開と社内限定で文面を分けられますか?
A. 可能です。機密情報・内部エンドポイントの非掲載や注意書きを自動切替します。
以下は、OpenAI API を「社外公開/API連携目的/Laravel サンプル付き」で5分以内に初回リクエスト成功できるように整理したドキュメントです。技術的にはできる限り仕様に即していますが、仕様上の 不明点・要確認事項も明記しています。
タイトル
OpenAI API ドキュメント(Laravel サンプル付き)
概要
このドキュメントは、OpenAI API を外部システムから連携利用するための、社外公開用途の開発者向けリファレンスです。APIキー取得から、Laravel を使った初回リクエスト、レスポンス確認まで、5分で動作確認できるように構成しています。
対象読者
API連携を行う開発者、特に PHP/Laravel 環境での導入を前提とする方。
前提
Laravel プロジェクトが既に立ち上がっており、HTTP クライアント(例:Guzzle、Http::)が使用可能であること。
環境変数機構(.env)を利用できること。
認証方式は Bearer トークン方式。
社外公開仕様であり、内部限定仕様や機密設定は記載せず、API利用可能な範囲を想定。
以下仕様項目は現状公開情報に基づきますが、不明な点や将来的に変更される可能性があります。
APIキー取得手順
開発者アカウントとして https://platform.openai.com にログイン。 OpenAI Platform+1
Dashboard → “API keys”(または「APIキー」)画面に移動。
「New key」をクリックし、発行されたキー(例:sk-xxx…)をコピー。
Laravel プロジェクトの .env に以下を追加:
OPENAI_API_BASE_URL=https://api.openai.com/v1 OPENAI_API_KEY=sk-YOUR_KEY_HERE
最初のリクエスト
// routes/web.php または専用コントローラ内
use Illuminate\Support\Facades\Http;
Route::get('/openai-test', function () {
    $apiKey = config('services.openai.key');
    $baseUrl = config('services.openai.base_url');
    $response = Http::withHeaders([
        'Authorization' => "Bearer {$apiKey}",
        'Content-Type'  => 'application/json',
    ])->post("{$baseUrl}/chat/completions", [
        'model' => 'gpt-3.5-turbo',
        'messages' => [
            ['role' => 'user', 'content' => 'Hello, world'],
        ],
        'max_tokens' => 10,
    ]);
    return $response->json();
});
config/services.php に以下を設定例として追加します:
'openai' => [
    'base_url' => env('OPENAI_API_BASE_URL', 'https://api.openai.com/v1'),
    'key'      => env('OPENAI_API_KEY'),
],
代表レスポンス例と成功条件
{
  "id": "chatcmpl-xyz",
  "object": "chat.completion",
  "created": 1690000000,
  "model": "gpt-3.5-turbo",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 7,
    "total_tokens": 12
  }
}
成功条件
HTTP ステータスコード 200 であること。
"choices" 配列が少なくとも 1 要素を含み、message.role == "assistant" の content が返却されていること。
usage.total_tokens 等が数値として存在していること。
上記が満たされていれば「初回成功」と見なせます。
方式
Bearer トークン方式:HTTP ヘッダー Authorization: Bearer <API_KEY> を使用。
上記環境変数 OPENAI_API_KEY に設定した値を用いる。
リクエスト例
正常時
(上記クイックスタート参照)
認証失敗時(例:APIキー無効/未設定)
HTTP 401 または 403 が返る可能性あり。実際のレスポンス例(from docs):「{"error": {"message": "Invalid API key", "type": "invalid_request_error", ... }}」等。
Laravel 例(失敗時)
$response = Http::withHeaders([
    'Authorization' => "Bearer invalid_key",
    'Content-Type'  => 'application/json',
])->post("{$baseUrl}/chat/completions", [
    'model' => 'gpt-3.5-turbo',
    'messages' => [
        ['role' => 'user', 'content' => 'Hello'],
    ],
]);
return $response->body();  // {"error":{...}}
失敗時レスポンス例
{
  "error": {
    "message": "Invalid API key provided",
    "type": "authentication_error",
    "param": null,
    "code": null
  }
}
(実際のコード・メッセージは変更される可能性があります)
補足
認証が成功しても、利用制限・課金未設定・モデルアクセス制限等で失敗となる場合があります。
要確認:認証方式以外に API バージョンを指定するパラメータが必要か否かがドキュメント上明確でない。基本的には不要と見られますが、将来的に変更される可能性があります。
以下は主要なエンドポイントの一部です(代表的なもの)。必要に応じて他のエンドポイント(画像生成、音声変換、モデル一覧など)も参照してください。
| メソッド | パス | 概要 | 主なパラメータ | レート* | 権限 | 
|---|---|---|---|---|---|
| POST | /v1/chat/completions | チャット形式でモデルに質問・応答を得る | model (必須)、messages (必須)、max_tokens (任意) | 組織毎/モデル毎に異なる OpenAI Platform+1 | Bearer 認証 | 
| GET | /v1/models | 利用可能なモデル一覧を取得 | —(フィルタ任意) | — | Bearer 認証 | 
| POST | /v1/completions | 単一プロンプト形式でテキスト生成 | model, prompt, max_tokens 等 | — | Bearer 認証 | 
* レート制限はプラン・モデルにより異なるため「目安」として扱ってください。詳細は「レート制限」セクション参照。
エンドポイント:/v1/chat/completions (POST)
説明:チャット形式(複数メッセージのやりとり)でモデル応答を取得します。
以上となります。
不明点・要確認項目として以下を再掲します:
messages 配列の最大長/モデル毎の制約値(明記されていない)【要確認】
モデル名一覧および新モデル移行ポリシー(旧モデルの非推奨・廃止予定)【要確認】
API バージョン指定(api-version 等)が将来的に不要になるかどうか【要確認】
エンドポイント毎のレート上限の明確な数値(モデル・プラン別)【要確認】
このドキュメントを使えば、Laravel 環境で 5 分以内に「キー取得 → 最初のリクエスト → 成功レスポンス取得」が実現可能なはずです。
必要であれば、画像生成/音声変換/ファイルアップロードなど他エンドポイントの仕様も同様にまとめましょう。どうしますか?
レビューは見つかりませんでした