この記事では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-tshey-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クライアントが生成されるまでの流れを可視化します。

flowchart LR A["OpenAPI仕様
(.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のスクリプトに組み込むことで、ビルド時やプリコミットフックでの自動実行も可能です。

TypeScript型安全を最大化するポイント 生成された型定義は `strict: true` モードのTypeScriptプロジェクトで最も効果を発揮します。`tsconfig.json` に `"strict": true` を設定した上で、生成コードをインポートすると、null チェック漏れや型の不一致をコンパイル段階で確実に検出できます。また、Zodプラグイン(`@hey-api/plugin-zod`)を有効にすると、ランタイムでもAPIレスポンスの構造検証が行われ、予期しない仕様変更による実行時クラッシュを防止できます。CI/CDパイプラインに `npx openapi-ts` を組み込むと、仕様変更のたびに型定義が自動更新され、型の乖離(drift)を継続的に防げます。

生成コードの活用例

生成されたクライアントを使った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クライアントを手に入れたい」というニーズに特化しています。

Hey API OpenAPI TS 導入のメリットとユースケース 開発工数の大幅削減:REST APIの型定義を手書きする作業はチームの生産性を著しく低下させます。openapi-tsを導入すると、エンドポイントの型定義・バリデーション・クライアントコードが全て自動生成され、開発者はビジネスロジックの実装に集中できます。 型のドリフト(乖離)防止:バックエンドがAPIを変更した際、手書きの型定義は更新が漏れやすく、ランタイムエラーの温床になります。openapi-tsはCI/CDに組み込むことで、仕様変更のたびに型定義を自動更新し、フロントエンドとバックエンドの型の乖離を継続的に防止します。 スキーマ駆動開発(Schema-First Development)の実現:OpenAPI仕様を「単一の真実の源泉」として、ドキュメント・モックサーバー・テスト・実装コードを一元管理するワークフローを構築できます。設計→生成→実装のサイクルが高速化し、チーム間の認識齟齬も減少します。 適したユースケース:マイクロサービス間のAPI連携、外部サービス(Stripe・Twilioなど)のSDK代替、モノレポでのAPI型定義共有、バックエンドとフロントエンドが別チームの組織での型の一元管理。

こんな人におすすめ

  • フロントエンド開発者:APIスキーマから自動生成された型定義により、REST APIの呼び出し時にエディタの補完機能を最大活用でき、クエリパラメータやボディの誤記入を開発段階で防げます。
  • 小~中規模チーム:セットアップが簡潔で設定ファイルも直感的なため、大掛かりなビルドシステム構築なしにOpenAPI自動生成の恩恵を受けられます。
  • バージョン管理を重視する組織:API仕様更新時に生成コードの差分を自動検出し、変更が既存実装に与える影響を事前把握できるため、破壊的変更の検出が容易になります。
  • Vue.js・React・SvelteのSPA開発者:フレームワークに依存しないコード生成により、複数プロジェクト間でのコード再利用性が高く、API層の実装パターン統一が実現できます。
  • スキーマ駆動開発を推進している企業OpenAPIスキーマを単一の真実の源泉(source of truth)として機能させ、ドキュメント・テスト・実装コードを一元管理するワークフローを構築できます。

参照ソース