この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026|LangGraph・CrewAI・Dify等9種をStar数・実コードで検証 をご覧ください。
更新情報(2026-08-14):リポジトリが改称されました
本記事が案内していた hey-api/openapi-ts は、現在 hey-api/hey-api へ改称されています。旧URLは301リダイレクトされるため既存のリンクやクローンは引き続き機能しますが、ドキュメントや検索で新しい名称を目にした場合は同一プロジェクトです。npmパッケージ名は @hey-api/openapi-ts のまま変更されていないため、package.json の書き換えは不要です。
この記事のポイント(30秒でわかるHey API)
・Hey APIとは? OpenAPI仕様(3.0.x / 3.1.x)から、型定義・APIクライアント・Zodスキーマを生成するTypeScript特化のコードジェネレータ
・解く課題 手書きのAPI型定義は、バックエンドの仕様変更に追従できず「型のドリフト」を生む。生成に切り替えると再実行するだけで揃う
・リポジトリ改称 hey-api/openapi-ts → hey-api/hey-api(301実測)。ただしnpm名は @hey-api/openapi-ts のまま
・競合との差 OpenAPI Generator は多言語対応だがJVM必須。Orval は React Query 統合が強み。Hey API はTypeScript特化の軽さ
・実測(2026-08-14) ★5,255 / fork 421 / TypeScript / MIT
概要
Hey API(@hey-api/openapi-ts)は、OpenAPI仕様ファイルからTypeScript型安全クライアントを自動生成するコード生成ツールです。REST APIの定義を機械的に解析し、エンドポイント・リクエストボディ・レスポンス型を完全に型付けされたTypeScriptコードへ変換します。フロントエンド開発者の開発生産性向上を目指す実装主義的なツールとして位置付けられています。
実測データ(2026-08-14 時点)
| 項目 | 実測値 |
|---|---|
| リポジトリ | hey-api/hey-api(旧 hey-api/openapi-ts から301) |
| npmパッケージ | @hey-api/openapi-ts(変更なし) |
| スター / fork | 5,255 / 421 |
| 主要言語 / ライセンス | TypeScript / MIT |
| 直近push | 2026-08-13(活発) |
コード生成フロー
OpenAPI仕様ファイルを入力としてTypeScriptクライアントが生成されるまでの流れを可視化します。
(.json / .yaml)"] --> B["openapi-ts
コード生成エンジン"] B --> C["型定義
(types.gen.ts)"] B --> D["APIクライアント
(sdk.gen.ts)"] B --> E["Zodスキーマ
(zod.gen.ts)"] C --> F["TypeScript
アプリケーション"] D --> F E --> F F --> G["型安全なAPI呼び出し
& ランタイム検証"]
この一連の変換により、手書きのAPI型定義が不要になり、仕様変更があった際も npx openapi-ts を再実行するだけで型定義が最新状態に更新されます。
主な機能
- OpenAPI仕様の完全解析:OpenAPI 3.0・3.1仕様のスキーマ定義をパースし、型情報を逆流させ、エンドポイント全体をTypeScript型として復元できます。
- 自動型生成:リクエストパラメータ・ボディ・ヘッダー・レスポンスの構造を自動的にTypeScript型へ変換し、ランタイムエラーを開発段階で検出可能にします。
- 複数フレームワーク対応:axios・fetch API・Expressなど複数のHTTPクライアントライブラリに対応したコード出力が可能です。
- OpenAPI拡張機能サポート:x-vendor拡張やカスタムヘッダー定義などOpenAPIの拡張機能に対応し、ベンダー固有の仕様にも柔軟に応えます。
- 設定ファイルベースのカスタマイズ:openapi-ts.configファイルで生成ロジック・ディレクトリ構成・命名規則を細粒度で制御できます。
- バージョン管理対応:API仕様の更新時に差分を自動検出し、既存実装への影響を事前に把握できる変更差分レポート機能を搭載しています。
技術スタック
- 実装言語:TypeScript・JavaScript
- 対応環境:Node.js 16.x以上
- 出力ターゲット:TypeScript 4.5+、ECMAScript 2020以降
- HTTPクライアント対応:axios、fetch API、ky、node-fetch、superagent
- API仕様対応:OpenAPI 3.0.x、OpenAPI 3.1.x
- 開発依存:@swc/core(トランスパイル)、vitest(テスト)、zod(スキーマ検証)
- CI/CD統合:GitHub Actions、GitLab CI、npm scripts
導入方法
npmを使ったインストール:
npm install --save-dev @hey-api/openapi-ts
またはyarnを使用:
yarn add --dev @hey-api/openapi-ts
プロジェクトルートにopenapi-ts.config.tsを作成し、APIスキーマのパスを指定:
import { defineConfig } from '@hey-api/openapi-ts';
export default defineConfig({
input: './api/openapi.json',
output: {
path: './src/generated',
format: 'prettier',
},
client: 'fetch',
});
その後、コード生成を実行:
npx openapi-ts
生成されたコードはsrc/generatedディレクトリに自動出力されます。package.jsonのスクリプトに組み込むことで、ビルド時やプリコミットフックでの自動実行も可能です。
生成コードの活用例
生成されたクライアントを使ったAPIコールは次のように記述できます:
import { getUser, createPost } from './src/generated/sdk.gen';
// 型安全なGETリクエスト
const { data, error } = await getUser({ path: { userId: '123' } });
if (data) {
console.log(data.name); // 型補完が効く
}
// 型安全なPOSTリクエスト
const result = await createPost({
body: {
title: '新規投稿',
content: 'Hello World',
},
});
パスパラメータ・クエリパラメータ・リクエストボディが全て型で保護されており、エディタ上でのオートコンプリートも正確に機能します。IDEが正しい型を提示するため、APIのドキュメントを別途参照する手間が大幅に削減されます。
競合比較
| 項目 | Hey API OpenAPI TS | OpenAPI Generator | Orval |
|---|---|---|---|
| 主な強み | TypeScript特化・軽量 | 多言語対応・標準化 | React Query統合 |
| 対応言語 | TypeScript / JavaScript | Java・Python・Go・C#ほか30言語以上 | TypeScript / JavaScript |
| セットアップ複雑度 | 非常にシンプル | 中程度(JVM必須) | 中程度 |
| カスタマイズ性 | プラグイン拡張可能 | テンプレートベース | APIクライアント層限定 |
| npm package size | 約2MB | 約500MB以上(Java環境) | 約5MB |
| React生態系統合 | 基本的なフェッチのみ | なし | TanStack Query統合 |
Hey API OpenAPI TSの最大の差別化ポイントは、TypeScriptフロントエンド開発者向けに最適化された軽量性と迅速なセットアップです。OpenAPI Generatorは言語横断的な標準ツールとして成熟していますが、Javaランタイムが必須で導入ハードルが高い。Orvalはフロントエンドのデータフェッチング層との連携に秀でていますが、バックエンド開発やAPI定義の標準化が目標の場合はOpenAPI Generatorが適切。Hey API OpenAPI TSは「最速で型安全なAPIクライアントを手に入れたい」というニーズに特化しています。
こんな人におすすめ
- フロントエンド開発者:APIスキーマから自動生成された型定義により、REST APIの呼び出し時にエディタの補完機能を最大活用でき、クエリパラメータやボディの誤記入を開発段階で防げます。
- 小~中規模チーム:セットアップが簡潔で設定ファイルも直感的なため、大掛かりなビルドシステム構築なしにOpenAPI自動生成の恩恵を受けられます。
- バージョン管理を重視する組織:API仕様更新時に生成コードの差分を自動検出し、変更が既存実装に与える影響を事前把握できるため、破壊的変更の検出が容易になります。
- Vue.js・React・SvelteのSPA開発者:フレームワークに依存しないコード生成により、複数プロジェクト間でのコード再利用性が高く、API層の実装パターン統一が実現できます。
- スキーマ駆動開発を推進している企業:OpenAPIスキーマを単一の真実の源泉(source of truth)として機能させ、ドキュメント・テスト・実装コードを一元管理するワークフローを構築できます。
参照ソース
- hey-api/hey-api - GitHub(旧
hey-api/openapi-ts。改称と301リダイレクト、スター・ライセンスは2026-08-14に実測) - Hey API 公式ドキュメント
- OpenAPI Specification - openapis.org
- @hey-api/openapi-ts - npm