modelpedia 0.0.1 → 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.
- package/README.md +44 -9
- package/dist/index.cjs +1 -35601
- package/dist/index.d.cts +3 -156
- package/dist/index.d.mts +3 -156
- package/dist/index.mjs +1 -35592
- package/dist/providers/alibaba.cjs +4 -0
- package/dist/providers/alibaba.d.cts +7 -0
- package/dist/providers/alibaba.d.mts +7 -0
- package/dist/providers/alibaba.mjs +4 -0
- package/dist/providers/amazon.cjs +4 -0
- package/dist/providers/amazon.d.cts +7 -0
- package/dist/providers/amazon.d.mts +7 -0
- package/dist/providers/amazon.mjs +4 -0
- package/dist/providers/anthropic.cjs +3 -0
- package/dist/providers/anthropic.d.cts +7 -0
- package/dist/providers/anthropic.d.mts +7 -0
- package/dist/providers/anthropic.mjs +3 -0
- package/dist/providers/azure.cjs +6 -0
- package/dist/providers/azure.d.cts +7 -0
- package/dist/providers/azure.d.mts +7 -0
- package/dist/providers/azure.mjs +6 -0
- package/dist/providers/baseten.cjs +3 -0
- package/dist/providers/baseten.d.cts +7 -0
- package/dist/providers/baseten.d.mts +7 -0
- package/dist/providers/baseten.mjs +3 -0
- package/dist/providers/cerebras.cjs +4 -0
- package/dist/providers/cerebras.d.cts +7 -0
- package/dist/providers/cerebras.d.mts +7 -0
- package/dist/providers/cerebras.mjs +4 -0
- package/dist/providers/cloudflare.cjs +4 -0
- package/dist/providers/cloudflare.d.cts +7 -0
- package/dist/providers/cloudflare.d.mts +7 -0
- package/dist/providers/cloudflare.mjs +4 -0
- package/dist/providers/cohere.cjs +5 -0
- package/dist/providers/cohere.d.cts +7 -0
- package/dist/providers/cohere.d.mts +7 -0
- package/dist/providers/cohere.mjs +5 -0
- package/dist/providers/cursor.cjs +1 -0
- package/dist/providers/cursor.d.cts +7 -0
- package/dist/providers/cursor.d.mts +7 -0
- package/dist/providers/cursor.mjs +1 -0
- package/dist/providers/deepseek.cjs +3 -0
- package/dist/providers/deepseek.d.cts +7 -0
- package/dist/providers/deepseek.d.mts +7 -0
- package/dist/providers/deepseek.mjs +3 -0
- package/dist/providers/fireworks.cjs +3 -0
- package/dist/providers/fireworks.d.cts +7 -0
- package/dist/providers/fireworks.d.mts +7 -0
- package/dist/providers/fireworks.mjs +3 -0
- package/dist/providers/google.cjs +6 -0
- package/dist/providers/google.d.cts +7 -0
- package/dist/providers/google.d.mts +7 -0
- package/dist/providers/google.mjs +6 -0
- package/dist/providers/groq.cjs +3 -0
- package/dist/providers/groq.d.cts +7 -0
- package/dist/providers/groq.d.mts +7 -0
- package/dist/providers/groq.mjs +3 -0
- package/dist/providers/huggingface.cjs +3 -0
- package/dist/providers/huggingface.d.cts +7 -0
- package/dist/providers/huggingface.d.mts +7 -0
- package/dist/providers/huggingface.mjs +3 -0
- package/dist/providers/meta.cjs +3 -0
- package/dist/providers/meta.d.cts +7 -0
- package/dist/providers/meta.d.mts +7 -0
- package/dist/providers/meta.mjs +3 -0
- package/dist/providers/minimax.cjs +3 -0
- package/dist/providers/minimax.d.cts +7 -0
- package/dist/providers/minimax.d.mts +7 -0
- package/dist/providers/minimax.mjs +3 -0
- package/dist/providers/mistral.cjs +3 -0
- package/dist/providers/mistral.d.cts +7 -0
- package/dist/providers/mistral.d.mts +7 -0
- package/dist/providers/mistral.mjs +3 -0
- package/dist/providers/moonshot.cjs +3 -0
- package/dist/providers/moonshot.d.cts +7 -0
- package/dist/providers/moonshot.d.mts +7 -0
- package/dist/providers/moonshot.mjs +3 -0
- package/dist/providers/nvidia.cjs +3 -0
- package/dist/providers/nvidia.d.cts +7 -0
- package/dist/providers/nvidia.d.mts +7 -0
- package/dist/providers/nvidia.mjs +3 -0
- package/dist/providers/ollama.cjs +3 -0
- package/dist/providers/ollama.d.cts +7 -0
- package/dist/providers/ollama.d.mts +7 -0
- package/dist/providers/ollama.mjs +3 -0
- package/dist/providers/openai.cjs +3 -0
- package/dist/providers/openai.d.cts +7 -0
- package/dist/providers/openai.d.mts +7 -0
- package/dist/providers/openai.mjs +3 -0
- package/dist/providers/opencode.cjs +3 -0
- package/dist/providers/opencode.d.cts +7 -0
- package/dist/providers/opencode.d.mts +7 -0
- package/dist/providers/opencode.mjs +3 -0
- package/dist/providers/openrouter.cjs +12 -0
- package/dist/providers/openrouter.d.cts +7 -0
- package/dist/providers/openrouter.d.mts +7 -0
- package/dist/providers/openrouter.mjs +12 -0
- package/dist/providers/perplexity.cjs +3 -0
- package/dist/providers/perplexity.d.cts +7 -0
- package/dist/providers/perplexity.d.mts +7 -0
- package/dist/providers/perplexity.mjs +3 -0
- package/dist/providers/qwen.cjs +3 -0
- package/dist/providers/qwen.d.cts +7 -0
- package/dist/providers/qwen.d.mts +7 -0
- package/dist/providers/qwen.mjs +3 -0
- package/dist/providers/together.cjs +4 -0
- package/dist/providers/together.d.cts +7 -0
- package/dist/providers/together.d.mts +7 -0
- package/dist/providers/together.mjs +4 -0
- package/dist/providers/vercel.cjs +3 -0
- package/dist/providers/vercel.d.cts +7 -0
- package/dist/providers/vercel.d.mts +7 -0
- package/dist/providers/vercel.mjs +3 -0
- package/dist/providers/vertex.cjs +10 -0
- package/dist/providers/vertex.d.cts +7 -0
- package/dist/providers/vertex.d.mts +7 -0
- package/dist/providers/vertex.mjs +10 -0
- package/dist/providers/xai.cjs +3 -0
- package/dist/providers/xai.d.cts +7 -0
- package/dist/providers/xai.d.mts +7 -0
- package/dist/providers/xai.mjs +3 -0
- package/dist/providers/zai.cjs +3 -0
- package/dist/providers/zai.d.cts +7 -0
- package/dist/providers/zai.d.mts +7 -0
- package/dist/providers/zai.mjs +3 -0
- package/dist/types.d.cts +186 -0
- package/dist/types.d.mts +186 -0
- package/package.json +14 -38
package/dist/types.d.cts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
/** Model lifecycle status */
|
|
3
|
+
type ModelStatus = "active" | "deprecated" | "preview";
|
|
4
|
+
/** Data source: "official" (auto-fetched, scripts can overwrite) or "community" (manual, scripts skip) */
|
|
5
|
+
type ModelSource = "official" | "community";
|
|
6
|
+
/** Supported input/output data types */
|
|
7
|
+
type Modality = "text" | "image" | "audio" | "video";
|
|
8
|
+
/**
|
|
9
|
+
* Model capabilities.
|
|
10
|
+
* All fields optional — omit if unknown, present if known.
|
|
11
|
+
*/
|
|
12
|
+
interface ModelCapabilities {
|
|
13
|
+
/** Can process image inputs */
|
|
14
|
+
vision?: boolean;
|
|
15
|
+
/** Supports function/tool calling */
|
|
16
|
+
tool_call?: boolean;
|
|
17
|
+
/** Supports structured JSON output (schema-constrained) */
|
|
18
|
+
structured_output?: boolean;
|
|
19
|
+
/** Uses chain-of-thought reasoning (o1/o3-style) */
|
|
20
|
+
reasoning?: boolean;
|
|
21
|
+
/** Supports JSON mode output */
|
|
22
|
+
json_mode?: boolean;
|
|
23
|
+
/** Supports streaming responses */
|
|
24
|
+
streaming?: boolean;
|
|
25
|
+
/** Available for fine-tuning */
|
|
26
|
+
fine_tuning?: boolean;
|
|
27
|
+
/** Supports batch API */
|
|
28
|
+
batch?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Input and output modality support */
|
|
31
|
+
interface ModelModalities {
|
|
32
|
+
/** Accepted input types (e.g. ["text", "image"]) */
|
|
33
|
+
input?: Modality[];
|
|
34
|
+
/** Produced output types (e.g. ["text"]) */
|
|
35
|
+
output?: Modality[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Pricing in USD per 1M tokens.
|
|
39
|
+
* - field omitted = price unknown
|
|
40
|
+
* - null = not supported / not applicable
|
|
41
|
+
* - number = known price
|
|
42
|
+
*/
|
|
43
|
+
interface ModelPricing {
|
|
44
|
+
/** Cost per 1M input tokens */
|
|
45
|
+
input?: number | null;
|
|
46
|
+
/** Cost per 1M output tokens */
|
|
47
|
+
output?: number | null;
|
|
48
|
+
/** Cost per 1M cached input tokens (cache read) */
|
|
49
|
+
cached_input?: number | null;
|
|
50
|
+
/** Cost per 1M tokens written to cache (cache write) */
|
|
51
|
+
cache_write?: number | null;
|
|
52
|
+
/** Cost per 1M batch input tokens */
|
|
53
|
+
batch_input?: number | null;
|
|
54
|
+
/** Cost per 1M batch output tokens */
|
|
55
|
+
batch_output?: number | null;
|
|
56
|
+
/** Cost per 1M cached output tokens (reasoning models) */
|
|
57
|
+
cached_output?: number | null;
|
|
58
|
+
/** Detailed pricing breakdown by category (text/audio/image tokens, per-image, etc.) */
|
|
59
|
+
tiers?: PricingTier[];
|
|
60
|
+
}
|
|
61
|
+
/** A pricing section for a specific category (e.g. "Text tokens", "Image generation") */
|
|
62
|
+
interface PricingTier {
|
|
63
|
+
/** Section label (e.g. "Text tokens", "Audio tokens", "Image generation") */
|
|
64
|
+
label: string;
|
|
65
|
+
/** Pricing unit (e.g. "Per 1M tokens", "Per image") */
|
|
66
|
+
unit: string;
|
|
67
|
+
/** Column headers (e.g. ["Input", "Cached input", "Output"] or ["1024x1024", "1024x1536"]) */
|
|
68
|
+
columns: string[];
|
|
69
|
+
/** Rows of pricing data (e.g. Standard, Batch, Flex, Priority or Low, Medium, High) */
|
|
70
|
+
rows: PricingTierRow[];
|
|
71
|
+
}
|
|
72
|
+
/** A single row in a pricing tier table */
|
|
73
|
+
interface PricingTierRow {
|
|
74
|
+
/** Row label (e.g. "Standard", "Batch", "Low quality") */
|
|
75
|
+
label: string;
|
|
76
|
+
/** Values aligned with columns, null if not applicable */
|
|
77
|
+
values: (number | null)[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Raw model data as stored in JSON files.
|
|
81
|
+
* Optional fields: omit if unknown, null if not applicable.
|
|
82
|
+
*/
|
|
83
|
+
interface ModelData {
|
|
84
|
+
/** Unique model identifier used in API calls (e.g. "gpt-5.4", "anthropic/claude-opus-4.6") */
|
|
85
|
+
id: string;
|
|
86
|
+
/** Human-readable display name (e.g. "GPT-5.4", "Claude Opus 4.6") */
|
|
87
|
+
name: string;
|
|
88
|
+
/** Original model creator (e.g. "openai", "anthropic"). May differ from provider for aggregators. */
|
|
89
|
+
created_by: string;
|
|
90
|
+
/** Data source: "official" (auto-fetched) or "community" (manual contribution) */
|
|
91
|
+
source: ModelSource;
|
|
92
|
+
/** Last data update date (YYYY-MM-DD) */
|
|
93
|
+
last_updated: string;
|
|
94
|
+
/** Model family/series for grouping (e.g. "gpt-5.4", "claude-opus", "gemini-2.5") */
|
|
95
|
+
family?: string;
|
|
96
|
+
/** Short description of the model */
|
|
97
|
+
description?: string;
|
|
98
|
+
/** One-line tagline / subtitle */
|
|
99
|
+
tagline?: string;
|
|
100
|
+
/** Current lifecycle status */
|
|
101
|
+
status?: ModelStatus;
|
|
102
|
+
/** Release date (YYYY-MM-DD), null if not applicable */
|
|
103
|
+
release_date?: string | null;
|
|
104
|
+
/** Deprecation date (YYYY-MM-DD), null if not deprecated */
|
|
105
|
+
deprecation_date?: string | null;
|
|
106
|
+
/** Training data cutoff (YYYY-MM or YYYY-MM-DD), null if not disclosed */
|
|
107
|
+
knowledge_cutoff?: string | null;
|
|
108
|
+
/** Default context window in tokens, null if unlimited */
|
|
109
|
+
context_window?: number | null;
|
|
110
|
+
/** Extended context window in tokens (e.g. Max Mode, long-context tier). Omit if same as context_window. */
|
|
111
|
+
max_context_window?: number | null;
|
|
112
|
+
/** Maximum output tokens per request, null if unlimited */
|
|
113
|
+
max_output_tokens?: number | null;
|
|
114
|
+
/** Maximum input tokens per request (if different from context_window), null if same */
|
|
115
|
+
max_input_tokens?: number | null;
|
|
116
|
+
/** Model capabilities */
|
|
117
|
+
capabilities?: ModelCapabilities;
|
|
118
|
+
/** Supported input/output modalities */
|
|
119
|
+
modalities?: ModelModalities;
|
|
120
|
+
/** Pricing per 1M tokens */
|
|
121
|
+
pricing?: ModelPricing;
|
|
122
|
+
/** Model type classification */
|
|
123
|
+
model_type?: "chat" | "reasoning" | "embed" | "rerank" | "image" | "video" | "audio" | "tts" | "transcription" | "moderation" | "code" | "translation" | "other";
|
|
124
|
+
/** Supported tools and integrations (e.g. "function_calling", "web_search", "computer_use", "mcp") */
|
|
125
|
+
tools?: string[];
|
|
126
|
+
/** Supported API endpoints (e.g. "chat_completions", "responses", "batch") */
|
|
127
|
+
endpoints?: string[];
|
|
128
|
+
/** Whether output includes reasoning/thinking tokens (o-series, extended thinking) */
|
|
129
|
+
reasoning_tokens?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* For alias models: list of snapshot IDs this alias has pointed to.
|
|
132
|
+
* e.g. on "claude-opus-4-6": ["claude-opus-4-6-20260101", "claude-opus-4-6-20260701"]
|
|
133
|
+
* Each snapshot has its own file with its own specs.
|
|
134
|
+
*/
|
|
135
|
+
snapshots?: string[];
|
|
136
|
+
/**
|
|
137
|
+
* For snapshot models: the stable alias ID this snapshot belongs to.
|
|
138
|
+
* e.g. on "claude-opus-4-6-20260101": "claude-opus-4-6"
|
|
139
|
+
*/
|
|
140
|
+
alias?: string;
|
|
141
|
+
/** Intelligence/performance rating (1-5 scale, provider-defined) */
|
|
142
|
+
performance?: number;
|
|
143
|
+
/** Reasoning capability level (1-5 scale, null if not supported) */
|
|
144
|
+
reasoning?: number;
|
|
145
|
+
/** Speed/latency rating (1-5 scale, 1=slow 5=fast) */
|
|
146
|
+
speed?: number;
|
|
147
|
+
/** Recommended successor model ID (for deprecated models) */
|
|
148
|
+
successor?: string;
|
|
149
|
+
/** Pricing notes/caveats (e.g. long-context surcharges, regional uplifts) */
|
|
150
|
+
pricing_notes?: string[];
|
|
151
|
+
}
|
|
152
|
+
/** Model data with provider context, used at runtime */
|
|
153
|
+
interface Model extends ModelData {
|
|
154
|
+
/** Provider this model belongs to (directory name, e.g. "openai", "openrouter") */
|
|
155
|
+
provider: string;
|
|
156
|
+
}
|
|
157
|
+
/** AI model provider / API service */
|
|
158
|
+
interface Provider {
|
|
159
|
+
/** Unique provider identifier (directory name, e.g. "openai", "openrouter") */
|
|
160
|
+
id: string;
|
|
161
|
+
/** Display name (e.g. "OpenAI", "OpenRouter") */
|
|
162
|
+
name: string;
|
|
163
|
+
/** Headquarters country, ISO 3166-1 alpha-2 (e.g. "US", "CN", "FR") */
|
|
164
|
+
region: string;
|
|
165
|
+
/** General training data cutoff for this provider's latest models (YYYY-MM or YYYY-MM-DD) */
|
|
166
|
+
knowledge_cutoff?: string;
|
|
167
|
+
/** Provider website URL */
|
|
168
|
+
url: string;
|
|
169
|
+
/** API base URL */
|
|
170
|
+
api_url: string;
|
|
171
|
+
/** Documentation URL */
|
|
172
|
+
docs_url: string;
|
|
173
|
+
/** Pricing page URL */
|
|
174
|
+
pricing_url: string;
|
|
175
|
+
/** Playground base URL (model ID appended via query param) */
|
|
176
|
+
playground_url?: string;
|
|
177
|
+
/** Inline SVG icon (monochrome, viewBox 0 0 24 24, fill="currentColor"). Auto-read from icon.svg. */
|
|
178
|
+
icon?: string;
|
|
179
|
+
}
|
|
180
|
+
/** Provider with its full model list, used in generated data */
|
|
181
|
+
interface ProviderWithModels extends Provider {
|
|
182
|
+
/** All models under this provider */
|
|
183
|
+
models: ModelData[];
|
|
184
|
+
}
|
|
185
|
+
//#endregion
|
|
186
|
+
export { ModelModalities as a, ModelStatus as c, Provider as d, ProviderWithModels as f, ModelData as i, PricingTier as l, Model as n, ModelPricing as o, ModelCapabilities as r, ModelSource as s, Modality as t, PricingTierRow as u };
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
/** Model lifecycle status */
|
|
3
|
+
type ModelStatus = "active" | "deprecated" | "preview";
|
|
4
|
+
/** Data source: "official" (auto-fetched, scripts can overwrite) or "community" (manual, scripts skip) */
|
|
5
|
+
type ModelSource = "official" | "community";
|
|
6
|
+
/** Supported input/output data types */
|
|
7
|
+
type Modality = "text" | "image" | "audio" | "video";
|
|
8
|
+
/**
|
|
9
|
+
* Model capabilities.
|
|
10
|
+
* All fields optional — omit if unknown, present if known.
|
|
11
|
+
*/
|
|
12
|
+
interface ModelCapabilities {
|
|
13
|
+
/** Can process image inputs */
|
|
14
|
+
vision?: boolean;
|
|
15
|
+
/** Supports function/tool calling */
|
|
16
|
+
tool_call?: boolean;
|
|
17
|
+
/** Supports structured JSON output (schema-constrained) */
|
|
18
|
+
structured_output?: boolean;
|
|
19
|
+
/** Uses chain-of-thought reasoning (o1/o3-style) */
|
|
20
|
+
reasoning?: boolean;
|
|
21
|
+
/** Supports JSON mode output */
|
|
22
|
+
json_mode?: boolean;
|
|
23
|
+
/** Supports streaming responses */
|
|
24
|
+
streaming?: boolean;
|
|
25
|
+
/** Available for fine-tuning */
|
|
26
|
+
fine_tuning?: boolean;
|
|
27
|
+
/** Supports batch API */
|
|
28
|
+
batch?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Input and output modality support */
|
|
31
|
+
interface ModelModalities {
|
|
32
|
+
/** Accepted input types (e.g. ["text", "image"]) */
|
|
33
|
+
input?: Modality[];
|
|
34
|
+
/** Produced output types (e.g. ["text"]) */
|
|
35
|
+
output?: Modality[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Pricing in USD per 1M tokens.
|
|
39
|
+
* - field omitted = price unknown
|
|
40
|
+
* - null = not supported / not applicable
|
|
41
|
+
* - number = known price
|
|
42
|
+
*/
|
|
43
|
+
interface ModelPricing {
|
|
44
|
+
/** Cost per 1M input tokens */
|
|
45
|
+
input?: number | null;
|
|
46
|
+
/** Cost per 1M output tokens */
|
|
47
|
+
output?: number | null;
|
|
48
|
+
/** Cost per 1M cached input tokens (cache read) */
|
|
49
|
+
cached_input?: number | null;
|
|
50
|
+
/** Cost per 1M tokens written to cache (cache write) */
|
|
51
|
+
cache_write?: number | null;
|
|
52
|
+
/** Cost per 1M batch input tokens */
|
|
53
|
+
batch_input?: number | null;
|
|
54
|
+
/** Cost per 1M batch output tokens */
|
|
55
|
+
batch_output?: number | null;
|
|
56
|
+
/** Cost per 1M cached output tokens (reasoning models) */
|
|
57
|
+
cached_output?: number | null;
|
|
58
|
+
/** Detailed pricing breakdown by category (text/audio/image tokens, per-image, etc.) */
|
|
59
|
+
tiers?: PricingTier[];
|
|
60
|
+
}
|
|
61
|
+
/** A pricing section for a specific category (e.g. "Text tokens", "Image generation") */
|
|
62
|
+
interface PricingTier {
|
|
63
|
+
/** Section label (e.g. "Text tokens", "Audio tokens", "Image generation") */
|
|
64
|
+
label: string;
|
|
65
|
+
/** Pricing unit (e.g. "Per 1M tokens", "Per image") */
|
|
66
|
+
unit: string;
|
|
67
|
+
/** Column headers (e.g. ["Input", "Cached input", "Output"] or ["1024x1024", "1024x1536"]) */
|
|
68
|
+
columns: string[];
|
|
69
|
+
/** Rows of pricing data (e.g. Standard, Batch, Flex, Priority or Low, Medium, High) */
|
|
70
|
+
rows: PricingTierRow[];
|
|
71
|
+
}
|
|
72
|
+
/** A single row in a pricing tier table */
|
|
73
|
+
interface PricingTierRow {
|
|
74
|
+
/** Row label (e.g. "Standard", "Batch", "Low quality") */
|
|
75
|
+
label: string;
|
|
76
|
+
/** Values aligned with columns, null if not applicable */
|
|
77
|
+
values: (number | null)[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Raw model data as stored in JSON files.
|
|
81
|
+
* Optional fields: omit if unknown, null if not applicable.
|
|
82
|
+
*/
|
|
83
|
+
interface ModelData {
|
|
84
|
+
/** Unique model identifier used in API calls (e.g. "gpt-5.4", "anthropic/claude-opus-4.6") */
|
|
85
|
+
id: string;
|
|
86
|
+
/** Human-readable display name (e.g. "GPT-5.4", "Claude Opus 4.6") */
|
|
87
|
+
name: string;
|
|
88
|
+
/** Original model creator (e.g. "openai", "anthropic"). May differ from provider for aggregators. */
|
|
89
|
+
created_by: string;
|
|
90
|
+
/** Data source: "official" (auto-fetched) or "community" (manual contribution) */
|
|
91
|
+
source: ModelSource;
|
|
92
|
+
/** Last data update date (YYYY-MM-DD) */
|
|
93
|
+
last_updated: string;
|
|
94
|
+
/** Model family/series for grouping (e.g. "gpt-5.4", "claude-opus", "gemini-2.5") */
|
|
95
|
+
family?: string;
|
|
96
|
+
/** Short description of the model */
|
|
97
|
+
description?: string;
|
|
98
|
+
/** One-line tagline / subtitle */
|
|
99
|
+
tagline?: string;
|
|
100
|
+
/** Current lifecycle status */
|
|
101
|
+
status?: ModelStatus;
|
|
102
|
+
/** Release date (YYYY-MM-DD), null if not applicable */
|
|
103
|
+
release_date?: string | null;
|
|
104
|
+
/** Deprecation date (YYYY-MM-DD), null if not deprecated */
|
|
105
|
+
deprecation_date?: string | null;
|
|
106
|
+
/** Training data cutoff (YYYY-MM or YYYY-MM-DD), null if not disclosed */
|
|
107
|
+
knowledge_cutoff?: string | null;
|
|
108
|
+
/** Default context window in tokens, null if unlimited */
|
|
109
|
+
context_window?: number | null;
|
|
110
|
+
/** Extended context window in tokens (e.g. Max Mode, long-context tier). Omit if same as context_window. */
|
|
111
|
+
max_context_window?: number | null;
|
|
112
|
+
/** Maximum output tokens per request, null if unlimited */
|
|
113
|
+
max_output_tokens?: number | null;
|
|
114
|
+
/** Maximum input tokens per request (if different from context_window), null if same */
|
|
115
|
+
max_input_tokens?: number | null;
|
|
116
|
+
/** Model capabilities */
|
|
117
|
+
capabilities?: ModelCapabilities;
|
|
118
|
+
/** Supported input/output modalities */
|
|
119
|
+
modalities?: ModelModalities;
|
|
120
|
+
/** Pricing per 1M tokens */
|
|
121
|
+
pricing?: ModelPricing;
|
|
122
|
+
/** Model type classification */
|
|
123
|
+
model_type?: "chat" | "reasoning" | "embed" | "rerank" | "image" | "video" | "audio" | "tts" | "transcription" | "moderation" | "code" | "translation" | "other";
|
|
124
|
+
/** Supported tools and integrations (e.g. "function_calling", "web_search", "computer_use", "mcp") */
|
|
125
|
+
tools?: string[];
|
|
126
|
+
/** Supported API endpoints (e.g. "chat_completions", "responses", "batch") */
|
|
127
|
+
endpoints?: string[];
|
|
128
|
+
/** Whether output includes reasoning/thinking tokens (o-series, extended thinking) */
|
|
129
|
+
reasoning_tokens?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* For alias models: list of snapshot IDs this alias has pointed to.
|
|
132
|
+
* e.g. on "claude-opus-4-6": ["claude-opus-4-6-20260101", "claude-opus-4-6-20260701"]
|
|
133
|
+
* Each snapshot has its own file with its own specs.
|
|
134
|
+
*/
|
|
135
|
+
snapshots?: string[];
|
|
136
|
+
/**
|
|
137
|
+
* For snapshot models: the stable alias ID this snapshot belongs to.
|
|
138
|
+
* e.g. on "claude-opus-4-6-20260101": "claude-opus-4-6"
|
|
139
|
+
*/
|
|
140
|
+
alias?: string;
|
|
141
|
+
/** Intelligence/performance rating (1-5 scale, provider-defined) */
|
|
142
|
+
performance?: number;
|
|
143
|
+
/** Reasoning capability level (1-5 scale, null if not supported) */
|
|
144
|
+
reasoning?: number;
|
|
145
|
+
/** Speed/latency rating (1-5 scale, 1=slow 5=fast) */
|
|
146
|
+
speed?: number;
|
|
147
|
+
/** Recommended successor model ID (for deprecated models) */
|
|
148
|
+
successor?: string;
|
|
149
|
+
/** Pricing notes/caveats (e.g. long-context surcharges, regional uplifts) */
|
|
150
|
+
pricing_notes?: string[];
|
|
151
|
+
}
|
|
152
|
+
/** Model data with provider context, used at runtime */
|
|
153
|
+
interface Model extends ModelData {
|
|
154
|
+
/** Provider this model belongs to (directory name, e.g. "openai", "openrouter") */
|
|
155
|
+
provider: string;
|
|
156
|
+
}
|
|
157
|
+
/** AI model provider / API service */
|
|
158
|
+
interface Provider {
|
|
159
|
+
/** Unique provider identifier (directory name, e.g. "openai", "openrouter") */
|
|
160
|
+
id: string;
|
|
161
|
+
/** Display name (e.g. "OpenAI", "OpenRouter") */
|
|
162
|
+
name: string;
|
|
163
|
+
/** Headquarters country, ISO 3166-1 alpha-2 (e.g. "US", "CN", "FR") */
|
|
164
|
+
region: string;
|
|
165
|
+
/** General training data cutoff for this provider's latest models (YYYY-MM or YYYY-MM-DD) */
|
|
166
|
+
knowledge_cutoff?: string;
|
|
167
|
+
/** Provider website URL */
|
|
168
|
+
url: string;
|
|
169
|
+
/** API base URL */
|
|
170
|
+
api_url: string;
|
|
171
|
+
/** Documentation URL */
|
|
172
|
+
docs_url: string;
|
|
173
|
+
/** Pricing page URL */
|
|
174
|
+
pricing_url: string;
|
|
175
|
+
/** Playground base URL (model ID appended via query param) */
|
|
176
|
+
playground_url?: string;
|
|
177
|
+
/** Inline SVG icon (monochrome, viewBox 0 0 24 24, fill="currentColor"). Auto-read from icon.svg. */
|
|
178
|
+
icon?: string;
|
|
179
|
+
}
|
|
180
|
+
/** Provider with its full model list, used in generated data */
|
|
181
|
+
interface ProviderWithModels extends Provider {
|
|
182
|
+
/** All models under this provider */
|
|
183
|
+
models: ModelData[];
|
|
184
|
+
}
|
|
185
|
+
//#endregion
|
|
186
|
+
export { ModelModalities as a, ModelStatus as c, Provider as d, ProviderWithModels as f, ModelData as i, PricingTier as l, Model as n, ModelPricing as o, ModelCapabilities as r, ModelSource as s, Modality as t, PricingTierRow as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modelpedia",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Open catalog of AI model data — specs, pricing, and capabilities across 30+ providers and 2000+ models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -16,50 +16,26 @@
|
|
|
16
16
|
"types": "./dist/index.d.cts",
|
|
17
17
|
"default": "./dist/index.cjs"
|
|
18
18
|
}
|
|
19
|
+
},
|
|
20
|
+
"./*": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/providers/*.d.mts",
|
|
23
|
+
"default": "./dist/providers/*.mjs"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/providers/*.d.cts",
|
|
27
|
+
"default": "./dist/providers/*.cjs"
|
|
28
|
+
}
|
|
19
29
|
}
|
|
20
30
|
},
|
|
21
31
|
"files": [
|
|
22
32
|
"dist"
|
|
23
33
|
],
|
|
24
34
|
"scripts": {
|
|
25
|
-
"generate": "bun scripts/generate.ts",
|
|
35
|
+
"generate": "bun ../data/scripts/generate.ts",
|
|
26
36
|
"prebuild": "bun run generate",
|
|
27
37
|
"build": "tsdown",
|
|
28
38
|
"lint": "tsc --noEmit",
|
|
29
|
-
"validate": "bun scripts/validate.ts",
|
|
30
|
-
"validate:changes": "bun scripts/validate-changes.ts",
|
|
31
|
-
"changes": "bun scripts/detect-changes.ts",
|
|
32
|
-
"fetch:openai": "bun scripts/fetch-openai.ts",
|
|
33
|
-
"fetch:anthropic": "bun scripts/fetch-anthropic.ts",
|
|
34
|
-
"fetch:google": "bun scripts/fetch-google.ts",
|
|
35
|
-
"fetch:mistral": "bun scripts/fetch-mistral.ts",
|
|
36
|
-
"fetch:deepseek": "bun scripts/fetch-deepseek.ts",
|
|
37
|
-
"fetch:xai": "bun scripts/fetch-xai.ts",
|
|
38
|
-
"fetch:cohere": "bun scripts/fetch-cohere.ts",
|
|
39
|
-
"fetch:openrouter": "bun scripts/fetch-openrouter.ts",
|
|
40
|
-
"fetch:perplexity": "bun scripts/fetch-perplexity.ts",
|
|
41
|
-
"fetch:azure": "bun scripts/fetch-azure.ts",
|
|
42
|
-
"fetch:groq": "bun scripts/fetch-groq.ts",
|
|
43
|
-
"fetch:nvidia": "bun scripts/fetch-nvidia.ts",
|
|
44
|
-
"fetch:together": "bun scripts/fetch-together.ts",
|
|
45
|
-
"fetch:fireworks": "bun scripts/fetch-fireworks.ts",
|
|
46
|
-
"fetch:amazon": "bun scripts/fetch-amazon.ts",
|
|
47
|
-
"fetch:vercel": "bun scripts/fetch-vercel.ts",
|
|
48
|
-
"fetch:cloudflare": "bun scripts/fetch-cloudflare.ts",
|
|
49
|
-
"fetch:zai": "bun scripts/fetch-zai.ts",
|
|
50
|
-
"fetch:opencode": "bun scripts/fetch-opencode.ts",
|
|
51
|
-
"fetch:ollama": "bun scripts/fetch-ollama.ts",
|
|
52
|
-
"fetch:minimax": "bun scripts/fetch-minimax.ts",
|
|
53
|
-
"fetch:huggingface": "bun scripts/fetch-huggingface.ts",
|
|
54
|
-
"fetch:alibaba": "bun scripts/fetch-alibaba.ts",
|
|
55
|
-
"fetch:cerebras": "bun scripts/fetch-cerebras.ts",
|
|
56
|
-
"fetch:meta": "bun scripts/fetch-meta.ts",
|
|
57
|
-
"fetch:baseten": "bun scripts/fetch-baseten.ts",
|
|
58
|
-
"fetch:qwen": "bun scripts/fetch-qwen.ts",
|
|
59
|
-
"fetch:vertex": "bun scripts/fetch-vertex.ts",
|
|
60
|
-
"fetch:moonshot": "bun scripts/fetch-moonshot.ts",
|
|
61
|
-
"fetch:cursor": "bun scripts/fetch-cursor.ts",
|
|
62
|
-
"fetch:all": "bun run fetch:openai && bun run fetch:anthropic && bun run fetch:google && bun run fetch:mistral && bun run fetch:deepseek && bun run fetch:xai && bun run fetch:cohere && bun run fetch:zai && bun run fetch:minimax && bun run fetch:alibaba && bun run fetch:meta && bun run fetch:moonshot && bun run fetch:cerebras && bun run fetch:baseten && bun run fetch:openrouter && bun run fetch:perplexity && bun run fetch:azure && bun run fetch:groq && bun run fetch:nvidia && bun run fetch:together && bun run fetch:fireworks && bun run fetch:amazon && bun run fetch:vercel && bun run fetch:vertex && bun run fetch:cloudflare && bun run fetch:opencode && bun run fetch:ollama && bun run fetch:huggingface && bun run fetch:qwen && bun run fetch:cursor",
|
|
63
39
|
"prepublishOnly": "bun run build"
|
|
64
40
|
},
|
|
65
41
|
"keywords": [
|
|
@@ -85,7 +61,7 @@
|
|
|
85
61
|
"repository": {
|
|
86
62
|
"type": "git",
|
|
87
63
|
"url": "https://github.com/assistant-ui/modelpedia",
|
|
88
|
-
"directory": "packages/
|
|
64
|
+
"directory": "packages/npm"
|
|
89
65
|
},
|
|
90
66
|
"publishConfig": {
|
|
91
67
|
"access": "public"
|
|
@@ -94,4 +70,4 @@
|
|
|
94
70
|
"tsdown": "^0.21.4",
|
|
95
71
|
"typescript": "catalog:"
|
|
96
72
|
}
|
|
97
|
-
}
|
|
73
|
+
}
|