pi-baseten-provider 1.0.11 → 1.0.13
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 +17 -15
- package/deprecated-models.json +1 -48
- package/models.json +52 -5
- package/package.json +4 -2
- package/scripts/update-models.js +38 -8
package/README.md
CHANGED
|
@@ -67,21 +67,23 @@ pi
|
|
|
67
67
|
|
|
68
68
|
## Available Models
|
|
69
69
|
|
|
70
|
-
| Model | Context | Vision | Reasoning | Input $/M | Output $/M |
|
|
71
|
-
|
|
72
|
-
| Deepseek V4 Flash 0731 | 1.0M | ❌ | ✅ | $0.13 | $0.26 |
|
|
73
|
-
| Deepseek V4 Pro |
|
|
74
|
-
| Deepseek V4 Pro 0813 | 1.0M | ❌ | ✅ | $1.32 | $3.96 |
|
|
75
|
-
| GLM 4.7 | 200K | ❌ | ✅ | $0.60 | $2.20 |
|
|
76
|
-
| GLM 5.2 | 1.0M |
|
|
77
|
-
| GLM 5.2 Fast | 1.0M |
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| Kimi
|
|
83
|
-
|
|
|
84
|
-
|
|
|
70
|
+
| Model | Context | Vision | Reasoning | Input $/M | Cache Read $/M | Output $/M |
|
|
71
|
+
|-------|---------|--------|-----------|-----------|-----------------|------------|
|
|
72
|
+
| Deepseek V4 Flash 0731 | 1.0M | ❌ | ✅ | $0.13 | $0.03 | $0.26 |
|
|
73
|
+
| Deepseek V4 Pro | 1.0M | ❌ | ✅ | $1.74 | $0.14 | $3.48 |
|
|
74
|
+
| Deepseek V4 Pro 0813 | 1.0M | ❌ | ✅ | $1.32 | $0.13 | $3.96 |
|
|
75
|
+
| GLM 4.7 | 200K | ❌ | ✅ | $0.60 | $0.12 | $2.20 |
|
|
76
|
+
| GLM 5.2 | 1.0M | ✅ | ✅ | $1.40 | $0.14 | $4.40 |
|
|
77
|
+
| GLM 5.2 Fast | 1.0M | ✅ | ✅ | $2.10 | $0.21 | $6.60 |
|
|
78
|
+
| GLM 5.3 | 1.0M | ❌ | ✅ | $1.40 | $0.14 | $4.40 |
|
|
79
|
+
| GLM 5.3 Flash | 1.0M | ✅ | ✅ | $0.15 | $0.03 | $0.50 |
|
|
80
|
+
| Inkling | 1.0M | ✅ | ✅ | $1.00 | $0.17 | $4.05 |
|
|
81
|
+
| Inkling Small | 1.0M | ✅ | ✅ | $0.50 | $0.10 | $1.20 |
|
|
82
|
+
| Kimi K2.6 | 262K | ✅ | ✅ | $0.95 | $0.16 | $4.00 |
|
|
83
|
+
| Kimi K2.7 Code | 262K | ✅ | ✅ | $0.95 | $0.16 | $4.00 |
|
|
84
|
+
| Kimi K3 | 1.0M | ✅ | ✅ | $3.00 | $0.30 | $15.00 |
|
|
85
|
+
| Nemotron Ultra | 203K | ❌ | ✅ | $0.60 | $0.12 | $2.40 |
|
|
86
|
+
| OpenAI GPT 120B | 128K | ❌ | ✅ | $0.10 | $0.10 | $0.50 |
|
|
85
87
|
|
|
86
88
|
*Costs are per million tokens. Prices subject to change — check [baseten.co/pricing](https://www.baseten.co/pricing/) for current pricing.*
|
|
87
89
|
|
package/deprecated-models.json
CHANGED
|
@@ -1,48 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"inception/mercury-2": {
|
|
3
|
-
"id": "inception/mercury-2",
|
|
4
|
-
"name": "Mercury 2",
|
|
5
|
-
"reasoning": true,
|
|
6
|
-
"input": [
|
|
7
|
-
"text"
|
|
8
|
-
],
|
|
9
|
-
"cost": {
|
|
10
|
-
"input": 0,
|
|
11
|
-
"output": 0,
|
|
12
|
-
"cacheRead": 0,
|
|
13
|
-
"cacheWrite": 0
|
|
14
|
-
},
|
|
15
|
-
"contextWindow": 8192,
|
|
16
|
-
"maxTokens": 5000,
|
|
17
|
-
"compat": {
|
|
18
|
-
"supportsDeveloperRole": true,
|
|
19
|
-
"supportsStore": false,
|
|
20
|
-
"maxTokensField": "max_completion_tokens",
|
|
21
|
-
"thinkingFormat": "openai"
|
|
22
|
-
},
|
|
23
|
-
"deprecatedAt": "2026-08-05T02:00:12.114Z"
|
|
24
|
-
},
|
|
25
|
-
"sid/sid-1": {
|
|
26
|
-
"id": "sid/sid-1",
|
|
27
|
-
"name": "SID-1",
|
|
28
|
-
"reasoning": true,
|
|
29
|
-
"input": [
|
|
30
|
-
"text"
|
|
31
|
-
],
|
|
32
|
-
"cost": {
|
|
33
|
-
"input": 0,
|
|
34
|
-
"output": 0,
|
|
35
|
-
"cacheRead": 0,
|
|
36
|
-
"cacheWrite": 0
|
|
37
|
-
},
|
|
38
|
-
"contextWindow": 32768,
|
|
39
|
-
"maxTokens": 5000,
|
|
40
|
-
"compat": {
|
|
41
|
-
"supportsDeveloperRole": true,
|
|
42
|
-
"supportsStore": false,
|
|
43
|
-
"maxTokensField": "max_completion_tokens",
|
|
44
|
-
"thinkingFormat": "openai"
|
|
45
|
-
},
|
|
46
|
-
"deprecatedAt": "2026-08-05T02:00:12.114Z"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
{}
|
package/models.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"cacheWrite": 0
|
|
14
14
|
},
|
|
15
15
|
"contextWindow": 1048576,
|
|
16
|
-
"maxTokens":
|
|
16
|
+
"maxTokens": 384000,
|
|
17
17
|
"compat": {
|
|
18
18
|
"supportsDeveloperRole": true,
|
|
19
19
|
"supportsStore": false,
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"cacheRead": 0.145,
|
|
35
35
|
"cacheWrite": 0
|
|
36
36
|
},
|
|
37
|
-
"contextWindow":
|
|
37
|
+
"contextWindow": 1048576,
|
|
38
38
|
"maxTokens": 262144,
|
|
39
39
|
"compat": {
|
|
40
40
|
"supportsDeveloperRole": true,
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"cacheRead": 0.132,
|
|
57
57
|
"cacheWrite": 0
|
|
58
58
|
},
|
|
59
|
-
"contextWindow":
|
|
59
|
+
"contextWindow": 1048576,
|
|
60
60
|
"maxTokens": 262144,
|
|
61
61
|
"compat": {
|
|
62
62
|
"supportsDeveloperRole": true,
|
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
"name": "GLM 5.2",
|
|
93
93
|
"reasoning": true,
|
|
94
94
|
"input": [
|
|
95
|
-
"text"
|
|
95
|
+
"text",
|
|
96
|
+
"image"
|
|
96
97
|
],
|
|
97
98
|
"cost": {
|
|
98
99
|
"input": 1.4,
|
|
@@ -114,7 +115,8 @@
|
|
|
114
115
|
"name": "GLM 5.2 Fast",
|
|
115
116
|
"reasoning": true,
|
|
116
117
|
"input": [
|
|
117
|
-
"text"
|
|
118
|
+
"text",
|
|
119
|
+
"image"
|
|
118
120
|
],
|
|
119
121
|
"cost": {
|
|
120
122
|
"input": 2.1,
|
|
@@ -131,6 +133,51 @@
|
|
|
131
133
|
"thinkingFormat": "openai"
|
|
132
134
|
}
|
|
133
135
|
},
|
|
136
|
+
{
|
|
137
|
+
"id": "zai-org/GLM-5.3",
|
|
138
|
+
"name": "GLM 5.3",
|
|
139
|
+
"reasoning": true,
|
|
140
|
+
"input": [
|
|
141
|
+
"text"
|
|
142
|
+
],
|
|
143
|
+
"cost": {
|
|
144
|
+
"input": 1.4,
|
|
145
|
+
"output": 4.4,
|
|
146
|
+
"cacheRead": 0.14,
|
|
147
|
+
"cacheWrite": 0
|
|
148
|
+
},
|
|
149
|
+
"contextWindow": 1048576,
|
|
150
|
+
"maxTokens": 262144,
|
|
151
|
+
"compat": {
|
|
152
|
+
"supportsDeveloperRole": true,
|
|
153
|
+
"supportsStore": false,
|
|
154
|
+
"maxTokensField": "max_completion_tokens",
|
|
155
|
+
"thinkingFormat": "openai"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "zai-org/GLM-5.3-Flash",
|
|
160
|
+
"name": "GLM 5.3 Flash",
|
|
161
|
+
"reasoning": true,
|
|
162
|
+
"input": [
|
|
163
|
+
"text",
|
|
164
|
+
"image"
|
|
165
|
+
],
|
|
166
|
+
"cost": {
|
|
167
|
+
"input": 0.15,
|
|
168
|
+
"output": 0.5,
|
|
169
|
+
"cacheRead": 0.03,
|
|
170
|
+
"cacheWrite": 0
|
|
171
|
+
},
|
|
172
|
+
"contextWindow": 1048576,
|
|
173
|
+
"maxTokens": 131072,
|
|
174
|
+
"compat": {
|
|
175
|
+
"supportsDeveloperRole": true,
|
|
176
|
+
"supportsStore": false,
|
|
177
|
+
"maxTokensField": "max_completion_tokens",
|
|
178
|
+
"thinkingFormat": "openai"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
134
181
|
{
|
|
135
182
|
"id": "thinkingmachines/inkling",
|
|
136
183
|
"name": "Inkling",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-baseten-provider",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "Baseten provider extension for pi - Access DeepSeek, Kimi, GLM, MiniMax, Nemotron, and GPT-OSS models through the Baseten Model API",
|
|
5
5
|
"author": "monotykamary",
|
|
6
6
|
"homepage": "https://github.com/monotykamary/pi-baseten-provider#readme",
|
|
@@ -33,7 +33,9 @@
|
|
|
33
33
|
"deprecated-models.json",
|
|
34
34
|
"custom-models.json",
|
|
35
35
|
"patch.json",
|
|
36
|
-
"scripts/update-models.js"
|
|
36
|
+
"scripts/update-models.js",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
37
39
|
],
|
|
38
40
|
"pi": {
|
|
39
41
|
"extensions": [
|
package/scripts/update-models.js
CHANGED
|
@@ -340,15 +340,15 @@ function formatContext(n) {
|
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
function formatCost(cost) {
|
|
343
|
-
if (cost === 0) return '
|
|
344
|
-
if (cost === null || cost === undefined) return '
|
|
345
|
-
return
|
|
343
|
+
if (cost === 0) return '—';
|
|
344
|
+
if (cost === null || cost === undefined) return '—';
|
|
345
|
+
return '$' + cost.toFixed(2);
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
function generateReadmeTable(models) {
|
|
349
349
|
const lines = [
|
|
350
|
-
'| Model | Context | Vision | Reasoning | Input $/M | Output $/M |',
|
|
351
|
-
'
|
|
350
|
+
'| Model | Context | Vision | Reasoning | Input $/M | Cache Read $/M | Output $/M |',
|
|
351
|
+
'|-------|---------|--------|-----------|-----------|-----------------|------------|',
|
|
352
352
|
];
|
|
353
353
|
|
|
354
354
|
for (const model of models) {
|
|
@@ -356,9 +356,10 @@ function generateReadmeTable(models) {
|
|
|
356
356
|
const vision = model.input.includes('image') ? '✅' : '❌';
|
|
357
357
|
const reasoning = model.reasoning ? '✅' : '❌';
|
|
358
358
|
const inputCost = formatCost(model.cost.input);
|
|
359
|
+
const cacheReadCost = formatCost(model.cost.cacheRead);
|
|
359
360
|
const outputCost = formatCost(model.cost.output);
|
|
360
361
|
|
|
361
|
-
lines.push(`| ${model.name} | ${context} | ${vision} | ${reasoning} | ${inputCost} | ${outputCost} |`);
|
|
362
|
+
lines.push(`| ${model.name} | ${context} | ${vision} | ${reasoning} | ${inputCost} | ${cacheReadCost} | ${outputCost} |`);
|
|
362
363
|
}
|
|
363
364
|
|
|
364
365
|
return lines.join('\n');
|
|
@@ -442,6 +443,32 @@ function updateDeprecatedModels(modelsJsonPath, newModels) {
|
|
|
442
443
|
}
|
|
443
444
|
}
|
|
444
445
|
|
|
446
|
+
/**
|
|
447
|
+
* Grace-period deprecated models (deprecatedAt within TTL) with metadata stripped.
|
|
448
|
+
* Keeps the README table serving models that are delisted but still within their
|
|
449
|
+
* 14-day grace window.
|
|
450
|
+
*/
|
|
451
|
+
function withDeprecatedForReadme(models) {
|
|
452
|
+
const deprecatedPath = path.join(path.dirname(MODELS_JSON_PATH), 'deprecated-models.json');
|
|
453
|
+
let deprecated = {};
|
|
454
|
+
try {
|
|
455
|
+
const parsed = JSON.parse(fs.readFileSync(deprecatedPath, 'utf8'));
|
|
456
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) deprecated = parsed;
|
|
457
|
+
} catch { /* no graveyard yet */ }
|
|
458
|
+
const now = Date.now();
|
|
459
|
+
const seen = new Set(models.map(m => m.id));
|
|
460
|
+
const extras = [];
|
|
461
|
+
for (const entry of Object.values(deprecated)) {
|
|
462
|
+
if (!entry || !entry.id || seen.has(entry.id)) continue;
|
|
463
|
+
const removedAt = Date.parse(entry.deprecatedAt || '');
|
|
464
|
+
if (Number.isNaN(removedAt) || now - removedAt > DEPRECATED_MODEL_TTL_MS) continue;
|
|
465
|
+
const m = { ...entry };
|
|
466
|
+
delete m.deprecatedAt;
|
|
467
|
+
extras.push(m);
|
|
468
|
+
}
|
|
469
|
+
return extras.length > 0 ? [...models, ...extras] : models;
|
|
470
|
+
}
|
|
471
|
+
|
|
445
472
|
async function main() {
|
|
446
473
|
try {
|
|
447
474
|
const apiModels = await fetchModels();
|
|
@@ -469,10 +496,13 @@ async function main() {
|
|
|
469
496
|
updateDeprecatedModels(MODELS_JSON_PATH, models);
|
|
470
497
|
saveJson(MODELS_JSON_PATH, models);
|
|
471
498
|
|
|
472
|
-
// Build full model list for README: base → patch → custom
|
|
499
|
+
// Build full model list for README: (base + grace-period deprecated) → patch → custom.
|
|
500
|
+
// Including active deprecated models keeps temporarily-delisted models listed until they
|
|
501
|
+
// are evicted permanently (mirrors the runtime withDeprecated grace window).
|
|
473
502
|
const patchData = loadJson(PATCH_JSON_PATH);
|
|
474
503
|
const customModels = loadJson(CUSTOM_MODELS_JSON_PATH);
|
|
475
|
-
const
|
|
504
|
+
const readmeBase = withDeprecatedForReadme(models);
|
|
505
|
+
const readmeModels = buildModels(readmeBase, Array.isArray(customModels) ? customModels : [], patchData);
|
|
476
506
|
readmeModels.sort((a, b) => a.name.localeCompare(b.name));
|
|
477
507
|
|
|
478
508
|
// Update README
|