
2026/05/23 5:26
# Models.dev:AI モデル情報を一元管理するオープンソースプラットフォーム ## サービスの概要 **Models.dev** は、LLM(大規模言語モデル)や AI 関連の技術情報を検索・比較するための**オープンソースデータベース**です。主な目的は以下の通りです。 - **仕様**の詳細な公開 - **価格設定**の一覧提示 - **機能**の網羅的な解説 ## 主要な情報カテゴリ プラットフォーム上で提供される主な情報は以下に分類されます。 - **モデル情報**: 各 AI モデルの技術仕様と特徴 - **コスト計算**: 推論やトレーニングにかかる費用の目安 - **ユースケース**: モデルが得意とする機能や適した用途 ## 利用上の利点 - **透明性が高い**: オープンソースであるため、情報源やデータ構造を確認可能 - **比較容易**: 複数のモデルを一覧で比べられる - **最新情報**: AI 技術の進化に伴う仕様変更を素早く反映
RSS: https://news.ycombinator.com/rss
要約▶
日本語翻訳:
概要:
models.dev は、無数の AI モデルの仕様、価格設定および機能を集約する重要なオープンソースデータベースであり、パブリック JSON API または SVG ロゴを通じてアクセス可能 です。データの正確性を確保するために、定義をプロバイダー別に整理された GitHub リポジトリ内の TOML ファイルとして保存し、厳格な整合性を維持しています。新しいモデルが追加される前に、特定のスキーマに対する提出物を検証する自動化された GitHub Actions が動作し、破損したリンクや不適切なメタデータを防止します。貢献者は、npm パッケージや環境変数など必須の詳細を含むプロバイダーを定義し、論理思考やツール呼び出し、価格設定などの機能を持つモデルを定義します。ラッパーモデルは、ファイルを重複させるのではなく標準源から属性を継承するために
extends フィールドを使用することを推奨されています。このワークフローにより、貢献者は Pull Request を提出する前に Bun コマンドを使用してローカルで変更を確認でき、AI モデルの統合を簡素化する標準化されたアプローチが実現します。本プロジェクトは SST メンテナーによって管理され、活発なコミュニティサポートチャネルが提供されています。本文
Models.dev 貢献ガイド
Models.dev は、AI モデルの仕様・価格設定・機能に関する包括的なオープンソースデータベースです。現在、すべての AI モデル情報を一元化するデータベースは存在しないため、コミュニティが共同で構築するプロジェクトとして開始されました。本データセットは内部ツールである opencode でも使用されています。
API アクセス
データを API 経由で簡単にアクセスできます。
curl https://models.dev/api.json
- モデルを検索するには**「Model ID フィールド」**を使用します(AI SDK が使用する識別子)。
ロゴ (Logos)
プロバイダーのロゴは SVG ファイルとして提供されます。
curl https://models.dev/logos/{provider}.svg
には Provider ID を指定してください(例:{provider}
,anthropic
,openai
)。google- 該当するプロバイダーのロゴが登録されていない場合、デフォルトのロゴが表示されます。
貢献 (Contributing)
データはリポジトリ内の TOML ファイルに格納されており、プロバイダーごとに整理されています(ロゴは SVG ファイルで保存)。この構成情報を元に Web ページを生成し、API を動作させています。データの最新性を保つためにはコミュニティの皆様のご支援が必要です。
1. プロバイダーの作成 (Create a Provider)
対象のプロバイダーが
providers/ ディレクトリに既に存在するかご確認ください。まだない場合は以下の手順を踏んでください。
- フォルダの作成:
ディレクトリ内に、プロバイダー ID に名付けた新規フォルダを作成してください。providers/- 例:
providers/newprovider/
- 例:
- provider.toml の追加: プロバイダーの詳細情報を記載したファイルを追加します。
name = "Provider Name" npm = "@ai-sdk/provider" # AI SDK パッケージ名 env = ["PROVIDER_API_KEY"] # 認証に使用する環境変数のキー doc = "https://example.com/docs/models" # プロバイダーのドキュメントへのリンク # OpenAI 互換エンドポイントを公開するが、npm パッケージを出版しない場合の設定例: npm = "@ai-sdk/openai-compatible" # OpenAI 互換 SDK を使用 api = "https://api.example.com/v1" # required: OpenAI 互の場合に必須となります
2. ロゴの追加 (オプション)
プロバイダー専用のロゴを追加したい場合:
- プロバイダーのディレクトリ内に
ファイルを追加してください(例:logo.svg
)。providers/newprovider/logo.svg - SVG フォーマットを使用し、サイズや色の制約は設けないでください。塗りつぶ色やストロークカラーには**
**の使用を推奨します。currentColor
SVG の構造例:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"> <!-- ロゴのパスをここに --> </svg>
3. モデル定義の追加 (Add a Model Definition)
モデル ID と一致する TOML ファイルを、プロバイダー内の
models/ ディレクトリに新規作成してください。
注意点: モデル ID にスラッシュ / が含まれる場合は、ネストされたフォルダ構成を使用してください(例:openai/gpt-5.toml)。
name = "Model Display Name" attachment = true # または false - ファイルアタッチメントのサポートの有無 reasoning = false # または true - 推論/連鎖思考のサポートの有無 tool_call = true # または false - ツールコールのサポートの有無 structured_output = true # または false - 構造化出力機能のサポートの有無 temperature = true # または false - テンペラチャー制御のサポートの有無 knowledge = "2024-04" # ナレッジのカットオフ日付 release_date = "2025-02-19" # 最初の公開リリース日付 last_updated = "2025-02-19" # 最新の更新日付 open_weights = true # または false - モデルの学習済み重みが公開されている場合 [cost] input = 3.00 # 入力トークン(百万個あたり)のコスト (USD) output = 15.00 # 出力トークン(百万個あたり)のコスト (USD) reasoning = 15.00 # 推論トークン(百万個あたり)のコスト (USD) cache_read = 0.30 # キャッシュ読み込みトークン(百万個あたり)のコスト (USD) cache_write = 3.75 # キャッシュ書き込みトークン(百万個あたり)のコスト (USD) input_audio = 1.00 # 入力オーディオトークン(百万個あたり)のコスト (USD) output_audio = 10.00 # 出力オーディオトークン(百万個あたり)のコスト (USD) [limit] context = 400_000 # 最大コンテキストウィンドウサイズ(トークン数) input = 272_000 # 最大入力トークン数 output = 8_192 # 最大出力トークン数 [modalities] input = ["text", "image"] # サポートされる入力モード output = ["text"] # サポートされる出力モード [interleaved] field = "reasoning_content" # インターリーブされたフィールド名("reasoning_content" または "reasoning_details")
3a. 既存モデルの再利用 (extends
機能)
extends他のプロバイダーのモデルをラップする「ラッパー用プロバイダー」の場合、完全にファイルを複製するのではなく、正規のモデル定義を再利用することを強く推奨します。
は非一次ラッパーおよびミラーリング用みに使用してください。extends- 禁止事項: 実際の主要プロバイダーディレクトリ(例:
,providers/anthropic/
など)の内部では、モデルファミリの正規ソースとして機能するため、providers/openai/
を使用しないでください。extends
[extends] from = "anthropic/claude-opus-4-6" omit = ["experimental.modes.fast"] [provider] npm = "@ai-sdk/anthropic"
ルール:
フィールドは、別のモデルfrom
を参照する値を指定する必要があります。<provider>/<model-id>
はオプションであり、継承されたモデルとローカル設定がマージされた後に削除するフィールドを指定します。omit- ローカルでトップレベルのモデルフィールドのいずれかをオーバーライドする場合可能です。
- ネストされたテーブル(例:
,[cost]
,[limit]
)をオーバーライドする場合、そのテーブルに必要な完全な値を含めてください(部分更新は不可)。[modalities]
は依然としてファイル名から自動生成されるため、TOML 内に追加しないでください。id
使用例: ソースモデルと実質的に同一であり、小さな設定のオーバーライドや省略されたフィールドのみで異なる場合、
を使用してください。extends
4. プルリクエストの送信
- リポジトリをフォークしてください。
- 変更内容を反映させた新規ブランチを作成してください。
- プロバイダーおよび/またはモデルファイルを追加・修正してください。
- 変更の背景や意図を明確に説明したプルリクエスト (PR) を作成して送信してください。
検証 (Validation)
GitHub Actions が、以下の項目を自動的にチェックするスキーマ検証を実行します:
- すべての必須フィールドが存在するか
- データタイプが適切か
- 値が許容範囲内か
- TOML シンタックスが無効でないか
既存のラッパーモデルを
extends 形式に変換する場合、変更前の状態と生成された出力とを比較してご確認ください:
bun run compare:migrations
- このコマンドは、変更を加えた各モデル TOML ファイルに対して差分を表示し、生成された JSON が意図した場所のみが変化することを確認するために使用されます。
スキーマ参照 (Schema Reference)
モデルおよびプロバイダーの定義は、
packages/core/src/schema.ts で定義された以下のスキーマに準拠する必要があります。
Provider スキーマ
- name: String - プロバイダーの表示名
- npm: String - AI SDK パッケージ名
- env: String[] - 認証に使用する環境変数のキー
- doc: String - プロバイダーのドキュメントへのリンク
- api (オプション): String - OpenAI 互換 API エンドポイント(
を使用する場合のみ必須)@ai-sdk/openai-compatible
Model スキーマ
- name: String — モデルの表示名
- attachment: Boolean — ファイルアタッチメントのサポート
- reasoning: Boolean — 推論/連鎖思考のサポート
- tool_call: Boolean - ツールコールのサポート
- structured_output (オプション): Boolean — 構造化出力機能のサポート
- temperature (オプション): Boolean — テンペラチャー制御のサポート
- knowledge (オプション): String — ナレッジのカットオフ日付(YYYY-MM または YYYY-MM-DD)
- release_date: String — 最初の公開リリース日付(YYYY-MM または YYYY-MM-DD)
- last_updated: String — 最新の更新日付(YYYY-MM または YYYY-MM-DD)
- open_weights: Boolean - モデルの学習済み重みが公開されていることを示すフラグ
- interleaved (オプション): Boolean or Object — インターリーブされた推論のサポート。一般的なサポートには
を使用するか、詳細形式を指定するオブジェクトを使用true- field: String — インターリーブされたフィールド名("reasoning_content" または "reasoning_details")
cost (コスト)
- input: Number — 入力トークン(百万個あたり)のコスト (USD)
- output: Number — 出力トークン(百万個あたり)のコスト (USD)
- reasoning (オプション): Number — 推論トークン(百万個あたり)のコスト (USD)
- cache_read (オプション): Number — キャッシュ読み込みトークン(百万個あたり)のコスト (USD)
- cache_write (オプション): Number — キャッシュ書き込みトークン(百万個あたり)のコスト (USD)
- input_audio (オプション): Number — 入力オーディオトークン(百万個あたり)のコスト (USD)、別途請求される場合
- output_audio (オプション): Number — 出力オーディオトークン(百万個あたり)のコスト (USD)、別途請求される場合
limit (制限)
- context: Number — 最大コンテキストウィンドウサイズ(トークン数)
- input: Number — 最大入力トークン数
- output: Number — 最大出力トークン数
modalities (モード)
- input: Array of strings — サポートされる入力モード(例:
)["text", "image", "audio", "video", "pdf"] - output: Array of strings — サポートされる出力モード(例:
)["text"]
status (オプション)
モデルの公開状態を示します。サポートされる値:
: プロバイダーの公共 API がまだアルファ段階にある場合alpha
: ベータテスト中であることを示すbeta
: プロバイダーの公共 API およびサービス終了が予想される場合deprecated
例 (Examples)
参照用に、既存のプロバイダー構成は
providers/ ディレクトリに配置されています:
- Anthropic Claude モデルproviders/anthropic/
- OpenAI GPT モデルproviders/openai/
- Google Gemini モデルproviders/google/
フロントエンド開発 (Working on frontend)
Bun がインストールされていることを確認してください。以下のコマンドを実行して開発環境を起動します:
bun install cd packages/web bun run dev
- これにより、フロントエンドが
で開かれます。http://localhost:3000
opencode による手動テスト (Manual testing with opencode)
プロバイダーの変更を手動で確認したい場合は:
bun install cd packages/web bun run build OPENCODE_MODELS_PATH="dist/_api.json" opencode
お問い合わせ (Questions?)
貢献に関するご質問やサポートが必要な場合は、Issue を作成してください。
Models.dev は SST のメンテナンナーによって作成されました。 コミュニティに参加するには、以下のリンクへご登録ください: