modelpedia 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +135 -0
  2. package/dist/index.cjs +1 -101
  3. package/dist/index.mjs +1 -92
  4. package/dist/providers/alibaba.cjs +4 -835
  5. package/dist/providers/alibaba.mjs +4 -833
  6. package/dist/providers/amazon.cjs +4 -1484
  7. package/dist/providers/amazon.mjs +4 -1482
  8. package/dist/providers/anthropic.cjs +3 -698
  9. package/dist/providers/anthropic.mjs +3 -696
  10. package/dist/providers/azure.cjs +6 -1491
  11. package/dist/providers/azure.mjs +6 -1489
  12. package/dist/providers/baseten.cjs +3 -279
  13. package/dist/providers/baseten.mjs +3 -277
  14. package/dist/providers/cerebras.cjs +4 -145
  15. package/dist/providers/cerebras.mjs +4 -143
  16. package/dist/providers/cloudflare.cjs +4 -826
  17. package/dist/providers/cloudflare.mjs +4 -824
  18. package/dist/providers/cohere.cjs +5 -525
  19. package/dist/providers/cohere.mjs +5 -523
  20. package/dist/providers/cursor.cjs +1 -856
  21. package/dist/providers/cursor.mjs +1 -854
  22. package/dist/providers/deepseek.cjs +3 -64
  23. package/dist/providers/deepseek.mjs +3 -62
  24. package/dist/providers/fireworks.cjs +3 -3794
  25. package/dist/providers/fireworks.mjs +3 -3792
  26. package/dist/providers/google.cjs +6 -972
  27. package/dist/providers/google.mjs +6 -970
  28. package/dist/providers/groq.cjs +3 -353
  29. package/dist/providers/groq.mjs +3 -351
  30. package/dist/providers/huggingface.cjs +3 -1022
  31. package/dist/providers/huggingface.mjs +3 -1020
  32. package/dist/providers/meta.cjs +3 -481
  33. package/dist/providers/meta.mjs +3 -479
  34. package/dist/providers/minimax.cjs +3 -156
  35. package/dist/providers/minimax.mjs +3 -154
  36. package/dist/providers/mistral.cjs +3 -1594
  37. package/dist/providers/mistral.mjs +3 -1592
  38. package/dist/providers/moonshot.cjs +3 -138
  39. package/dist/providers/moonshot.mjs +3 -136
  40. package/dist/providers/nvidia.cjs +3 -2040
  41. package/dist/providers/nvidia.mjs +3 -2038
  42. package/dist/providers/ollama.cjs +3 -326
  43. package/dist/providers/ollama.mjs +3 -324
  44. package/dist/providers/openai.cjs +3 -9079
  45. package/dist/providers/openai.mjs +3 -9077
  46. package/dist/providers/opencode.cjs +3 -367
  47. package/dist/providers/opencode.mjs +3 -365
  48. package/dist/providers/openrouter.cjs +12 -7835
  49. package/dist/providers/openrouter.mjs +12 -7833
  50. package/dist/providers/perplexity.cjs +3 -311
  51. package/dist/providers/perplexity.mjs +3 -309
  52. package/dist/providers/qwen.cjs +3 -835
  53. package/dist/providers/qwen.mjs +3 -833
  54. package/dist/providers/together.cjs +4 -360
  55. package/dist/providers/together.mjs +4 -358
  56. package/dist/providers/vercel.cjs +3 -4037
  57. package/dist/providers/vercel.mjs +3 -4035
  58. package/dist/providers/vertex.cjs +10 -1072
  59. package/dist/providers/vertex.mjs +10 -1070
  60. package/dist/providers/xai.cjs +3 -301
  61. package/dist/providers/xai.mjs +3 -299
  62. package/dist/providers/zai.cjs +3 -243
  63. package/dist/providers/zai.mjs +3 -241
  64. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,135 @@
1
+ # modelpedia
2
+
3
+ Open catalog of AI model data — specs, pricing, and capabilities across 30+ providers and 2000+ models.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/modelpedia.svg)](https://www.npmjs.com/package/modelpedia)
6
+ [![license](https://img.shields.io/npm/l/modelpedia.svg)](https://github.com/assistant-ui/modelpedia/blob/master/LICENSE)
7
+
8
+ ## Install
9
+
10
+ ```bash
11
+ npm install modelpedia
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ ```typescript
17
+ import {
18
+ allModels,
19
+ providers,
20
+ getModel,
21
+ getProvider,
22
+ getActiveModels,
23
+ getModelsByProvider,
24
+ getModelsByFamily,
25
+ getModelsByCreator,
26
+ } from "modelpedia";
27
+
28
+ // All models (2000+)
29
+ console.log(allModels.length);
30
+
31
+ // Find a specific model
32
+ const model = getModel("openai", "gpt-4o");
33
+ console.log(model?.pricing); // { input: 2.5, output: 10, ... }
34
+
35
+ // Get all active (non-deprecated) models
36
+ const active = getActiveModels();
37
+
38
+ // List models by provider
39
+ const openaiModels = getModelsByProvider("openai");
40
+
41
+ // List models by family
42
+ const gpt4oFamily = getModelsByFamily("gpt-4o");
43
+
44
+ // List models by creator (useful for aggregators like OpenRouter)
45
+ const anthropicModels = getModelsByCreator("anthropic");
46
+
47
+ // Get provider info
48
+ const provider = getProvider("anthropic");
49
+ console.log(provider?.name); // "Anthropic"
50
+ console.log(provider?.api_url); // "https://api.anthropic.com/v1"
51
+ ```
52
+
53
+ ### Per-provider imports
54
+
55
+ Import only the provider you need for smaller bundle size:
56
+
57
+ ```typescript
58
+ import { provider, models } from "modelpedia/openai";
59
+ console.log(provider.name); // "OpenAI"
60
+ console.log(models.length); // 151
61
+
62
+ import { models as anthropicModels } from "modelpedia/anthropic";
63
+ import { models as googleModels } from "modelpedia/google";
64
+ ```
65
+
66
+ Available: `modelpedia/openai`, `modelpedia/anthropic`, `modelpedia/google`, `modelpedia/mistral`, `modelpedia/deepseek`, `modelpedia/xai`, and 24 more.
67
+
68
+ ## Data Structure
69
+
70
+ ### Model
71
+
72
+ | Field | Type | Description |
73
+ |-------|------|-------------|
74
+ | `id` | `string` | Model identifier used in API calls |
75
+ | `name` | `string` | Human-readable display name |
76
+ | `provider` | `string` | Provider ID (e.g. `"openai"`) |
77
+ | `created_by` | `string` | Original creator (may differ from provider) |
78
+ | `family` | `string?` | Model family/series (e.g. `"gpt-4o"`) |
79
+ | `description` | `string?` | Model description |
80
+ | `tagline` | `string?` | One-line summary |
81
+ | `status` | `"active" \| "deprecated" \| "preview"` | Lifecycle status |
82
+ | `model_type` | `string?` | `chat`, `reasoning`, `embed`, `image`, `video`, `tts`, `transcription`, `moderation`, `rerank`, `code` |
83
+ | `context_window` | `number?` | Default context window (tokens) |
84
+ | `max_output_tokens` | `number?` | Maximum output tokens |
85
+ | `knowledge_cutoff` | `string?` | Training data cutoff (`YYYY-MM` or `YYYY-MM-DD`) |
86
+ | `pricing` | `ModelPricing?` | Pricing per 1M tokens + detailed tiers |
87
+ | `capabilities` | `ModelCapabilities?` | vision, tool_call, streaming, reasoning, etc. |
88
+ | `modalities` | `ModelModalities?` | Input/output modality support (text, image, audio, video) |
89
+ | `tools` | `string[]?` | Supported tools (function_calling, web_search, mcp, etc.) |
90
+ | `endpoints` | `string[]?` | Supported API endpoints (chat_completions, responses, batch, etc.) |
91
+ | `successor` | `string?` | Recommended replacement model (for deprecated models) |
92
+ | `performance` | `number?` | Intelligence rating (1-5) |
93
+ | `reasoning` | `number?` | Reasoning rating (1-5) |
94
+ | `speed` | `number?` | Speed rating (1-5) |
95
+
96
+ ### Pricing
97
+
98
+ Flat fields for quick access:
99
+
100
+ ```typescript
101
+ model.pricing?.input // USD per 1M input tokens
102
+ model.pricing?.output // USD per 1M output tokens
103
+ model.pricing?.cached_input // USD per 1M cached input tokens
104
+ model.pricing?.batch_input // USD per 1M batch input tokens
105
+ ```
106
+
107
+ Detailed tiers for models with multiple pricing categories:
108
+
109
+ ```typescript
110
+ model.pricing?.tiers // PricingTier[] — text tokens, audio tokens, image generation, etc.
111
+ ```
112
+
113
+ ### Provider
114
+
115
+ | Field | Type | Description |
116
+ |-------|------|-------------|
117
+ | `id` | `string` | Provider identifier |
118
+ | `name` | `string` | Display name |
119
+ | `region` | `string` | Country code (ISO 3166-1 alpha-2) |
120
+ | `url` | `string` | Website URL |
121
+ | `api_url` | `string` | API base URL |
122
+ | `docs_url` | `string` | Documentation URL |
123
+ | `pricing_url` | `string` | Pricing page URL |
124
+
125
+ ## Providers
126
+
127
+ Alibaba Cloud, Amazon Bedrock, Anthropic, Azure, Baseten, Cerebras, Cloudflare, Cohere, Cursor, DeepSeek, Fireworks, Google, Groq, Hugging Face, Meta, Minimax, Mistral, Moonshot, NVIDIA, Ollama, OpenAI, OpenCode, OpenRouter, Perplexity, Qwen, Together AI, Vercel, Vertex AI, xAI, Z.AI, and more.
128
+
129
+ ## Data Updates
130
+
131
+ Model data is automatically fetched from provider APIs daily. Community contributions are welcome — see [CONTRIBUTING.md](https://github.com/assistant-ui/modelpedia/blob/master/CONTRIBUTING.md).
132
+
133
+ ## License
134
+
135
+ [MIT](https://github.com/assistant-ui/modelpedia/blob/master/LICENSE)
package/dist/index.cjs CHANGED
@@ -1,101 +1 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_providers_alibaba = require("./providers/alibaba.cjs");
3
- const require_providers_amazon = require("./providers/amazon.cjs");
4
- const require_providers_anthropic = require("./providers/anthropic.cjs");
5
- const require_providers_azure = require("./providers/azure.cjs");
6
- const require_providers_baseten = require("./providers/baseten.cjs");
7
- const require_providers_cerebras = require("./providers/cerebras.cjs");
8
- const require_providers_cloudflare = require("./providers/cloudflare.cjs");
9
- const require_providers_cohere = require("./providers/cohere.cjs");
10
- const require_providers_cursor = require("./providers/cursor.cjs");
11
- const require_providers_deepseek = require("./providers/deepseek.cjs");
12
- const require_providers_fireworks = require("./providers/fireworks.cjs");
13
- const require_providers_google = require("./providers/google.cjs");
14
- const require_providers_groq = require("./providers/groq.cjs");
15
- const require_providers_huggingface = require("./providers/huggingface.cjs");
16
- const require_providers_meta = require("./providers/meta.cjs");
17
- const require_providers_minimax = require("./providers/minimax.cjs");
18
- const require_providers_mistral = require("./providers/mistral.cjs");
19
- const require_providers_moonshot = require("./providers/moonshot.cjs");
20
- const require_providers_nvidia = require("./providers/nvidia.cjs");
21
- const require_providers_ollama = require("./providers/ollama.cjs");
22
- const require_providers_openai = require("./providers/openai.cjs");
23
- const require_providers_opencode = require("./providers/opencode.cjs");
24
- const require_providers_openrouter = require("./providers/openrouter.cjs");
25
- const require_providers_perplexity = require("./providers/perplexity.cjs");
26
- const require_providers_qwen = require("./providers/qwen.cjs");
27
- const require_providers_together = require("./providers/together.cjs");
28
- const require_providers_vercel = require("./providers/vercel.cjs");
29
- const require_providers_vertex = require("./providers/vertex.cjs");
30
- const require_providers_xai = require("./providers/xai.cjs");
31
- const require_providers_zai = require("./providers/zai.cjs");
32
- //#region src/data.ts
33
- const providers = [
34
- require_providers_alibaba.provider,
35
- require_providers_amazon.provider,
36
- require_providers_anthropic.provider,
37
- require_providers_azure.provider,
38
- require_providers_baseten.provider,
39
- require_providers_cerebras.provider,
40
- require_providers_cloudflare.provider,
41
- require_providers_cohere.provider,
42
- require_providers_cursor.provider,
43
- require_providers_deepseek.provider,
44
- require_providers_fireworks.provider,
45
- require_providers_google.provider,
46
- require_providers_groq.provider,
47
- require_providers_huggingface.provider,
48
- require_providers_meta.provider,
49
- require_providers_minimax.provider,
50
- require_providers_mistral.provider,
51
- require_providers_moonshot.provider,
52
- require_providers_nvidia.provider,
53
- require_providers_ollama.provider,
54
- require_providers_openai.provider,
55
- require_providers_opencode.provider,
56
- require_providers_openrouter.provider,
57
- require_providers_perplexity.provider,
58
- require_providers_qwen.provider,
59
- require_providers_together.provider,
60
- require_providers_vercel.provider,
61
- require_providers_vertex.provider,
62
- require_providers_xai.provider,
63
- require_providers_zai.provider
64
- ];
65
- const allModels = providers.flatMap((p) => p.models.map((m) => ({
66
- ...m,
67
- provider: p.id
68
- })));
69
- //#endregion
70
- //#region src/utils.ts
71
- function getModel(provider, id) {
72
- return allModels.find((m) => m.provider === provider && m.id === id);
73
- }
74
- function getModelsByProvider(provider) {
75
- return allModels.filter((m) => m.provider === provider);
76
- }
77
- function getActiveModels() {
78
- return allModels.filter((m) => m.status !== "deprecated");
79
- }
80
- function getModelsByFamily(family) {
81
- return allModels.filter((m) => m.family === family);
82
- }
83
- function getModelsByCreator(creator) {
84
- return allModels.filter((m) => m.created_by === creator);
85
- }
86
- function getProvider(id) {
87
- return providers.find((p) => p.id === id);
88
- }
89
- function getAllProviders() {
90
- return providers;
91
- }
92
- //#endregion
93
- exports.allModels = allModels;
94
- exports.getActiveModels = getActiveModels;
95
- exports.getAllProviders = getAllProviders;
96
- exports.getModel = getModel;
97
- exports.getModelsByCreator = getModelsByCreator;
98
- exports.getModelsByFamily = getModelsByFamily;
99
- exports.getModelsByProvider = getModelsByProvider;
100
- exports.getProvider = getProvider;
101
- exports.providers = providers;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./providers/alibaba.cjs`),t=require(`./providers/amazon.cjs`),n=require(`./providers/anthropic.cjs`),r=require(`./providers/azure.cjs`),i=require(`./providers/baseten.cjs`),a=require(`./providers/cerebras.cjs`),o=require(`./providers/cloudflare.cjs`),s=require(`./providers/cohere.cjs`),c=require(`./providers/cursor.cjs`),l=require(`./providers/deepseek.cjs`),u=require(`./providers/fireworks.cjs`),d=require(`./providers/google.cjs`),f=require(`./providers/groq.cjs`),p=require(`./providers/huggingface.cjs`),m=require(`./providers/meta.cjs`),h=require(`./providers/minimax.cjs`),g=require(`./providers/mistral.cjs`),_=require(`./providers/moonshot.cjs`),v=require(`./providers/nvidia.cjs`),y=require(`./providers/ollama.cjs`),b=require(`./providers/openai.cjs`),x=require(`./providers/opencode.cjs`),S=require(`./providers/openrouter.cjs`),C=require(`./providers/perplexity.cjs`),w=require(`./providers/qwen.cjs`),T=require(`./providers/together.cjs`),E=require(`./providers/vercel.cjs`),D=require(`./providers/vertex.cjs`),O=require(`./providers/xai.cjs`),k=require(`./providers/zai.cjs`),A=[e.provider,t.provider,n.provider,r.provider,i.provider,a.provider,o.provider,s.provider,c.provider,l.provider,u.provider,d.provider,f.provider,p.provider,m.provider,h.provider,g.provider,_.provider,v.provider,y.provider,b.provider,x.provider,S.provider,C.provider,w.provider,T.provider,E.provider,D.provider,O.provider,k.provider],j=A.flatMap(e=>e.models.map(t=>({...t,provider:e.id})));function M(e,t){return j.find(n=>n.provider===e&&n.id===t)}function N(e){return j.filter(t=>t.provider===e)}function P(){return j.filter(e=>e.status!==`deprecated`)}function F(e){return j.filter(t=>t.family===e)}function I(e){return j.filter(t=>t.created_by===e)}function L(e){return A.find(t=>t.id===e)}function R(){return A}exports.allModels=j,exports.getActiveModels=P,exports.getAllProviders=R,exports.getModel=M,exports.getModelsByCreator=I,exports.getModelsByFamily=F,exports.getModelsByProvider=N,exports.getProvider=L,exports.providers=A;
package/dist/index.mjs CHANGED
@@ -1,92 +1 @@
1
- import { provider } from "./providers/alibaba.mjs";
2
- import { provider as provider$1 } from "./providers/amazon.mjs";
3
- import { provider as provider$2 } from "./providers/anthropic.mjs";
4
- import { provider as provider$3 } from "./providers/azure.mjs";
5
- import { provider as provider$4 } from "./providers/baseten.mjs";
6
- import { provider as provider$5 } from "./providers/cerebras.mjs";
7
- import { provider as provider$6 } from "./providers/cloudflare.mjs";
8
- import { provider as provider$7 } from "./providers/cohere.mjs";
9
- import { provider as provider$8 } from "./providers/cursor.mjs";
10
- import { provider as provider$9 } from "./providers/deepseek.mjs";
11
- import { provider as provider$10 } from "./providers/fireworks.mjs";
12
- import { provider as provider$11 } from "./providers/google.mjs";
13
- import { provider as provider$12 } from "./providers/groq.mjs";
14
- import { provider as provider$13 } from "./providers/huggingface.mjs";
15
- import { provider as provider$14 } from "./providers/meta.mjs";
16
- import { provider as provider$15 } from "./providers/minimax.mjs";
17
- import { provider as provider$16 } from "./providers/mistral.mjs";
18
- import { provider as provider$17 } from "./providers/moonshot.mjs";
19
- import { provider as provider$18 } from "./providers/nvidia.mjs";
20
- import { provider as provider$19 } from "./providers/ollama.mjs";
21
- import { provider as provider$20 } from "./providers/openai.mjs";
22
- import { provider as provider$21 } from "./providers/opencode.mjs";
23
- import { provider as provider$22 } from "./providers/openrouter.mjs";
24
- import { provider as provider$23 } from "./providers/perplexity.mjs";
25
- import { provider as provider$24 } from "./providers/qwen.mjs";
26
- import { provider as provider$25 } from "./providers/together.mjs";
27
- import { provider as provider$26 } from "./providers/vercel.mjs";
28
- import { provider as provider$27 } from "./providers/vertex.mjs";
29
- import { provider as provider$28 } from "./providers/xai.mjs";
30
- import { provider as provider$29 } from "./providers/zai.mjs";
31
- //#region src/data.ts
32
- const providers = [
33
- provider,
34
- provider$1,
35
- provider$2,
36
- provider$3,
37
- provider$4,
38
- provider$5,
39
- provider$6,
40
- provider$7,
41
- provider$8,
42
- provider$9,
43
- provider$10,
44
- provider$11,
45
- provider$12,
46
- provider$13,
47
- provider$14,
48
- provider$15,
49
- provider$16,
50
- provider$17,
51
- provider$18,
52
- provider$19,
53
- provider$20,
54
- provider$21,
55
- provider$22,
56
- provider$23,
57
- provider$24,
58
- provider$25,
59
- provider$26,
60
- provider$27,
61
- provider$28,
62
- provider$29
63
- ];
64
- const allModels = providers.flatMap((p) => p.models.map((m) => ({
65
- ...m,
66
- provider: p.id
67
- })));
68
- //#endregion
69
- //#region src/utils.ts
70
- function getModel(provider, id) {
71
- return allModels.find((m) => m.provider === provider && m.id === id);
72
- }
73
- function getModelsByProvider(provider) {
74
- return allModels.filter((m) => m.provider === provider);
75
- }
76
- function getActiveModels() {
77
- return allModels.filter((m) => m.status !== "deprecated");
78
- }
79
- function getModelsByFamily(family) {
80
- return allModels.filter((m) => m.family === family);
81
- }
82
- function getModelsByCreator(creator) {
83
- return allModels.filter((m) => m.created_by === creator);
84
- }
85
- function getProvider(id) {
86
- return providers.find((p) => p.id === id);
87
- }
88
- function getAllProviders() {
89
- return providers;
90
- }
91
- //#endregion
92
- export { allModels, getActiveModels, getAllProviders, getModel, getModelsByCreator, getModelsByFamily, getModelsByProvider, getProvider, providers };
1
+ import{provider as e}from"./providers/alibaba.mjs";import{provider as t}from"./providers/amazon.mjs";import{provider as n}from"./providers/anthropic.mjs";import{provider as r}from"./providers/azure.mjs";import{provider as i}from"./providers/baseten.mjs";import{provider as a}from"./providers/cerebras.mjs";import{provider as o}from"./providers/cloudflare.mjs";import{provider as s}from"./providers/cohere.mjs";import{provider as c}from"./providers/cursor.mjs";import{provider as l}from"./providers/deepseek.mjs";import{provider as u}from"./providers/fireworks.mjs";import{provider as d}from"./providers/google.mjs";import{provider as f}from"./providers/groq.mjs";import{provider as p}from"./providers/huggingface.mjs";import{provider as m}from"./providers/meta.mjs";import{provider as h}from"./providers/minimax.mjs";import{provider as g}from"./providers/mistral.mjs";import{provider as _}from"./providers/moonshot.mjs";import{provider as v}from"./providers/nvidia.mjs";import{provider as y}from"./providers/ollama.mjs";import{provider as b}from"./providers/openai.mjs";import{provider as x}from"./providers/opencode.mjs";import{provider as S}from"./providers/openrouter.mjs";import{provider as C}from"./providers/perplexity.mjs";import{provider as w}from"./providers/qwen.mjs";import{provider as T}from"./providers/together.mjs";import{provider as E}from"./providers/vercel.mjs";import{provider as D}from"./providers/vertex.mjs";import{provider as O}from"./providers/xai.mjs";import{provider as k}from"./providers/zai.mjs";const A=[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k],j=A.flatMap(e=>e.models.map(t=>({...t,provider:e.id})));function M(e,t){return j.find(n=>n.provider===e&&n.id===t)}function N(e){return j.filter(t=>t.provider===e)}function P(){return j.filter(e=>e.status!==`deprecated`)}function F(e){return j.filter(t=>t.family===e)}function I(e){return j.filter(t=>t.created_by===e)}function L(e){return A.find(t=>t.id===e)}function R(){return A}export{j as allModels,P as getActiveModels,R as getAllProviders,M as getModel,I as getModelsByCreator,F as getModelsByFamily,N as getModelsByProvider,L as getProvider,A as providers};