@archeagle087/costcrew 0.0.0-stage → 0.4.1

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 (55) hide show
  1. package/.github/workflows/ci.yml +21 -0
  2. package/.github/workflows/npm-release.yml +123 -0
  3. package/.github/workflows/prices-monthly.yml +58 -0
  4. package/.github/workflows/release.yml +45 -0
  5. package/Cargo.lock +980 -0
  6. package/Cargo.toml +22 -0
  7. package/LICENSE +21 -0
  8. package/README.md +255 -2
  9. package/assets/advise.png +0 -0
  10. package/assets/board.png +0 -0
  11. package/assets/catalog.png +0 -0
  12. package/assets/demo.png +0 -0
  13. package/assets/help.png +0 -0
  14. package/assets/mascot.png +0 -0
  15. package/assets/prices.png +0 -0
  16. package/assets/scan.png +0 -0
  17. package/assets/spend.png +0 -0
  18. package/assets/ui.png +0 -0
  19. package/bin.js +46 -0
  20. package/data/prices.json +1 -0
  21. package/dist/costcrew-linux-x86_64.tar.gz +0 -0
  22. package/dist/costcrew-macos-aarch64.tar.gz +0 -0
  23. package/dist/costcrew-macos-x86_64.tar.gz +0 -0
  24. package/dist/costcrew-windows-x86_64.zip +0 -0
  25. package/install.ps1 +38 -0
  26. package/install.sh +56 -0
  27. package/package.json +18 -4
  28. package/packaging/npm/bin.js +46 -0
  29. package/packaging/npm/package.json +20 -0
  30. package/packaging/winget/0.4.0/Arch087146.costcrew.installer.yaml +15 -0
  31. package/packaging/winget/0.4.0/Arch087146.costcrew.locale.en-US.yaml +28 -0
  32. package/packaging/winget/0.4.0/Arch087146.costcrew.yaml +5 -0
  33. package/packaging/winget/README.md +31 -0
  34. package/scripts/render_screen.py +221 -0
  35. package/src/advise.rs +154 -0
  36. package/src/args.rs +239 -0
  37. package/src/board.rs +227 -0
  38. package/src/catalog.rs +136 -0
  39. package/src/demo.rs +79 -0
  40. package/src/fetch.rs +155 -0
  41. package/src/main.rs +371 -0
  42. package/src/price.rs +218 -0
  43. package/src/prices.rs +182 -0
  44. package/src/report.rs +194 -0
  45. package/src/scan.rs +593 -0
  46. package/src/spend.rs +452 -0
  47. package/src/ui.rs +367 -0
  48. package/work/costcrew-darwin-arm64/costcrew +0 -0
  49. package/work/costcrew-darwin-arm64/package.json +9 -0
  50. package/work/costcrew-darwin-x64/costcrew +0 -0
  51. package/work/costcrew-darwin-x64/package.json +9 -0
  52. package/work/costcrew-linux-x64/costcrew +0 -0
  53. package/work/costcrew-linux-x64/package.json +9 -0
  54. package/work/costcrew-win32-x64/costcrew.exe +0 -0
  55. package/work/costcrew-win32-x64/package.json +9 -0
package/Cargo.toml ADDED
@@ -0,0 +1,22 @@
1
+ [package]
2
+ name = "costcrew"
3
+ version = "0.4.1"
4
+ edition = "2021"
5
+ description = "The AI coding price database + your spend — interactive terminal app."
6
+ license = "MIT"
7
+ repository = "https://github.com/Arch087146/costcrew"
8
+ readme = "README.md"
9
+ keywords = ["cli", "ai", "tokens", "cost", "llm"]
10
+ categories = ["command-line-utilities"]
11
+
12
+ [dependencies]
13
+ serde = { version = "1", features = ["derive"] }
14
+ serde_json = "1"
15
+ rusqlite = { version = "0.37", features = ["bundled"] }
16
+ ureq = { version = "2", default-features = false, features = ["tls"] }
17
+ crossterm = "0.29"
18
+
19
+ [profile.release]
20
+ opt-level = 2
21
+ strip = true
22
+ lto = true
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 CostCrew Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,256 @@
1
- # Temporary Holding Version
1
+ # costcrew
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ **The AI coding price database — plus what *you* spend on it.**
4
+
5
+ One binary, two halves. First: a bundled database of what every model costs —
6
+ every input/output/cache rate per 1M tokens, works offline, no API key, no
7
+ scanning, nothing to configure. Second: your own spend — recorded by you,
8
+ totaled by month and service, plus provider-reported truth from your API keys.
9
+
10
+ <p align="center">
11
+ <img src="assets/ui.png" alt="costcrew interactive app — gradient splash screen and arrow-key menu" width="680">
12
+ <br>
13
+ <img src="assets/mascot.png" alt="the costcrew coin mascot, spinning while the price database loads" width="380">
14
+ </p>
15
+
16
+ Type `costcrew` and you get the app above: splash, menu, arrow keys. All the
17
+ classic one-shot flags still work for scripting (`costcrew scan --json`, etc.).
18
+
19
+ ## The price database
20
+
21
+ `data/prices.json` ships **inside the binary** — a full OpenRouter catalog
22
+ snapshot (465 models, refreshed monthly by CI and committed to the repo) merged
23
+ with a curated vendor table. Ask it anything:
24
+
25
+ ```sh
26
+ costcrew prices # the whole database
27
+ costcrew prices claude # filter by name
28
+ costcrew prices --sort cheap # cheapest first (name | price | cheap)
29
+ costcrew prices --json # machine-readable
30
+ ```
31
+
32
+ <p align="center">
33
+ <img src="assets/prices.png" alt="costcrew prices claude — bundled database browsed and filtered" width="760">
34
+ </p>
35
+
36
+ Rules the database lives by:
37
+
38
+ - **No invented prices.** A free/unpriced model shows `?` and is excluded from
39
+ totals. Unknown stays unknown.
40
+ - **Precedence is explicit** — curated table → embedded snapshot → on-disk
41
+ cache → your `--prices` overrides. Later sources win ties, so a fresh
42
+ `costcrew fetch-prices` beats the bundled snapshot, and your overrides beat
43
+ everything.
44
+ - **It refreshes itself** — `costcrew fetch-prices` pulls all ~465 live
45
+ OpenRouter models (public endpoint, no key), and CI re-commits a fresh
46
+ snapshot monthly so source builds never go stale.
47
+ - **`per_hour` for rented GPUs** — bill wall-clock for self-hosted inference
48
+ (see overrides below).
49
+
50
+ ## Your spend on AI
51
+
52
+ The database tells you prices; this tells you what **you** paid. You record the
53
+ money that actually left your account — subscriptions, credit top-ups, GPU
54
+ rentals — and costcrew totals it by month and service:
55
+
56
+ ```sh
57
+ costcrew spend # the ledger summary
58
+ costcrew spend add 20 --service "Claude Pro"
59
+ costcrew spend add 25 --service "OpenRouter" --note "credit top-up"
60
+ costcrew spend add 1.84 --service "Vast.ai" --model llama-70b --note "2h @ $0.92/h"
61
+ ```
62
+
63
+ <p align="center">
64
+ <img src="assets/spend.png" alt="costcrew spend — monthly totals and per-service breakdown of recorded AI payments" width="760">
65
+ </p>
66
+
67
+ The ledger is a plain JSON file in `%LOCALAPPDATA%\costcrew` — nothing is
68
+ telemetered, nothing leaves your disk. Three views of money, deliberately
69
+ separate:
70
+
71
+ | view | source | meaning |
72
+ |---|---|---|
73
+ | `costcrew spend` | you record it | what actually left your bank account |
74
+ | `costcrew openrouter` | your API key | provider-reported, per-model truth |
75
+ | `costcrew scan` | local logs (optional) | per-token *estimate* of your usage |
76
+
77
+ ## Install
78
+
79
+ ```sh
80
+ # macOS / Linux (curl)
81
+ curl -fsSL https://raw.githubusercontent.com/Arch087146/costcrew/main/install.sh | sh
82
+
83
+ # Windows (PowerShell)
84
+ powershell -c "irm https://raw.githubusercontent.com/Arch087146/costcrew/main/install.ps1 | iex"
85
+
86
+ # Homebrew
87
+ brew install Arch087146/tap/costcrew
88
+
89
+ # npm (prebuilt binary — no compile step)
90
+ npm install -g @archeagle087/costcrew
91
+
92
+ # winget (Windows)
93
+ winget install Arch087146.costcrew
94
+
95
+ # from source (Rust 1.80+)
96
+ git clone https://github.com/Arch087146/costcrew
97
+ cargo install --path costcrew
98
+ ```
99
+
100
+ Prebuilt binaries also land on the [Releases](https://github.com/Arch087146/costcrew/releases)
101
+ page when a tag is pushed. No runtime dependencies — the database travels with
102
+ the binary.
103
+
104
+ ## Usage
105
+
106
+ ```sh
107
+ costcrew # the interactive app (splash + arrow-key menu)
108
+ costcrew prices claude # browse the database, filtered
109
+ costcrew spend # your recorded payments, totaled
110
+ costcrew leaderboard # arena Elo, priced — elo-per-dollar value sort
111
+ costcrew catalog # which agent ships with which models
112
+ costcrew scan --since 7d # optional: estimate from local agent logs
113
+ costcrew md > spend.md # shareable markdown report
114
+ costcrew --json # machine-readable, pipe anywhere
115
+ ```
116
+
117
+ And `--help`, for people who judge CLIs by their help text:
118
+
119
+ <p align="center">
120
+ <img src="assets/help.png" alt="costcrew --help output" width="640">
121
+ </p>
122
+
123
+ ## Optional: estimate from local agent logs
124
+
125
+ If you *also* want a per-token estimate of what you used — independent of how
126
+ you pay — `costcrew scan` reads local logs, read-only:
127
+
128
+ | Tool | Source | Status |
129
+ |---|---|---|
130
+ | OpenCode | `opencode.db` (SQLite message table, legacy JSON storage) | ✅ |
131
+ | Claude Code | `~/.claude/**/*.jsonl` transcripts | ✅ |
132
+ | Kilo Code | VS Code globalStorage task logs | ✅ best-effort |
133
+ | Cline | VS Code globalStorage task logs (incl. agent-reported costs) | ✅ best-effort |
134
+ | Roo Code | VS Code globalStorage task logs | ✅ best-effort |
135
+ | Aider | cost lines in `~/.aider*.history.md` | ✅ |
136
+ | Codex CLI | `~/.codex/sessions` JSONL | ✅ best-effort |
137
+ | Gemini CLI, Cursor, Windsurf, Copilot | — | roadmap |
138
+
139
+ Everything is read **read-only** — the SQLite connection is opened `READ_ONLY`, and
140
+ no log file is ever touched. Here it is five minutes after `cargo install`, reading
141
+ a real OpenCode database — note it found 285 requests for a model it has no price
142
+ for and *didn't bill the unknown model* instead of making a number up:
143
+
144
+ <p align="center">
145
+ <img src="assets/scan.png" alt="costcrew scanning a real OpenCode database — 285 requests, unpriced model shown with a question mark" width="620">
146
+ </p>
147
+
148
+ ## Should you have used a cheaper model?
149
+
150
+ `costcrew advise` recomputes your **actual token mix** (input/out/cache ratios
151
+ included) on every comparable model at the same or better benchmark tier, and
152
+ flags probable waste — today's most common answer is "carrier-tier sticker shock":
153
+
154
+ <p align="center">
155
+ <img src="assets/advise.png" alt="costcrew advise suggesting cheaper same-tier models with estimated savings" width="760">
156
+ </p>
157
+
158
+ It's a heuristic — quality tiers come from public coding evals, and it refuses to
159
+ suggest a downgrade it can't back with your own measured spend. The last line is
160
+ baked in: "run one task as an A/B and compare before rewiring your whole
161
+ workflow."
162
+
163
+ ## Subscriptions: the price displayed is list price
164
+
165
+ One honest caveat up front: if your agent runs on a **subscription** (Claude Code
166
+ Pro/Max, Cursor Pro, Copilot), those tokens cost you *zero marginal dollars* —
167
+ costcrew still shows what the same usage would have billed per-token, because
168
+ that's the common denominator across every tool it scans. Read subscription
169
+ values as "what this session would cost at list price," not "what you'll owe."
170
+
171
+ API keys, OpenRouter credits, and rented GPUs do map 1:1 to dollars, which is
172
+ where the totals get literal.
173
+
174
+ ## Is the leaderboard crown worth its price?
175
+
176
+ `costcrew leaderboard` answers what arena.ai can't: quality **and** the bill.
177
+ Arena Elo from ~2M blind votes, priced three ways — raw in/out $, an
178
+ `agent$` blend realistic for coding agents (20% input, 10% output,
179
+ **70% cache-read** — cache dwarfs everything in agentic loops), and
180
+ **elo/$** value points per dollar:
181
+
182
+ ```sh
183
+ costcrew leaderboard # default: by Elo
184
+ costcrew leaderboard --sort value # what a cheapskate should actually run
185
+ costcrew leaderboard --sort price
186
+ costcrew leaderboard --top 50 --json
187
+ ```
188
+
189
+ <p align="center">
190
+ <img src="assets/board.png" alt="costcrew leaderboard — LMArena Elo priced with the agentic token blend, sorted by Elo per dollar" width="780">
191
+ </p>
192
+
193
+ One caveat, stated plainly: the Elo snapshot is bundled with the binary and
194
+ dated, like the prices — trust it within ±their margin of error (±4–19 pts),
195
+ trust the prices within vendor-whim.
196
+
197
+ ## Which agent runs on what?
198
+
199
+ `costcrew catalog` prints the lay of the land — every coding agent's billing
200
+ model (subscription vs BYOK vs free tier), its model menu, and whether costcrew
201
+ can read its logs:
202
+
203
+ <p align="center">
204
+ <img src="assets/catalog.png" alt="costcrew catalog listing billing and models of Claude Code, OpenCode, Cline, Kilo Code, Aider, Cursor and more" width="720">
205
+ </p>
206
+
207
+ ## Pricing
208
+
209
+ Prices live in two places: the curated table in
210
+ [`src/price.rs`](src/price.rs) and the embedded catalog
211
+ [`data/prices.json`](data/prices.json) (committed monthly from OpenRouter's
212
+ public endpoint). Lookup is plain prefix-match, longest prefix wins, so
213
+ `claude-opus-4-5-20260115` matches `claude-opus-4`. Costs are approximate list
214
+ prices (no discounts, no pro-plan pooling) and drift — treat the totals as
215
+ ≥85% accurate.
216
+
217
+ Missing your model? Add one line and PR it. Cache reads/writes are priced
218
+ separately where the API exposes them, otherwise the bucket is collapsed.
219
+
220
+ For anything else — private models, rented GPUs — override with `--prices`:
221
+
222
+ ```json
223
+ {
224
+ "prices": [
225
+ { "prefix": "big-pickle", "input": 0.25, "output": 0.95, "cache_read": 0.13 },
226
+ { "prefix": "local/qwen3-32b", "per_hour": 2.19 }
227
+ ]
228
+ }
229
+ ```
230
+
231
+ `per_hour` is how you bill **rented GPUs / self-hosted inference** — costcrew
232
+ computes wall-clock per request from OpenCode's session timestamps (hourly rate ×
233
+ time actually spent) and adds it to the token bill.
234
+
235
+ ## Why a CLI and not a dashboard?
236
+
237
+ Because the dashboard already exists — inside each vendor's billing page — and
238
+ it'll tell you nothing about the model you ran through a different tool yesterday.
239
+ costcrew is one screen, one binary, and it works the same whether the spend came
240
+ from Claude Code, OpenCode, or whatever ships next week.
241
+
242
+ It's open source too, so "how much did I spend on agents last month" and
243
+ "show me the math" live in the same place.
244
+
245
+ ## Contributing
246
+
247
+ Spotted a tool whose logs we don't parse? The scanner is intentionally dumb —
248
+ `src/scan.rs` walks a handful of roots, parses any JSON/JSONL that smells like
249
+ `modelID` + token counts, and sqLite for the rest.
250
+
251
+ - `cargo test` — unit tests for aggregation and pricing
252
+ - `cargo clippy`-clean; fmt-checked in CI
253
+
254
+ ## License
255
+
256
+ MIT — see [LICENSE](LICENSE).
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/assets/ui.png ADDED
Binary file
package/bin.js ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ // costcrew npm wrapper: finds the platform binary installed as an
3
+ // optionalDependency and execs it with all arguments passed through.
4
+ "use strict";
5
+ const { spawnSync } = require("child_process");
6
+ const path = require("path");
7
+ const fs = require("fs");
8
+
9
+ const PLATFORMS = {
10
+ "win32-x64": "@archeagle087/costcrew-win32-x64/costcrew.exe",
11
+ "linux-x64": "@archeagle087/costcrew-linux-x64/costcrew",
12
+ "darwin-arm64": "@archeagle087/costcrew-darwin-arm64/costcrew",
13
+ "darwin-x64": "@archeagle087/costcrew-darwin-x64/costcrew",
14
+ };
15
+
16
+ const key = `${process.platform}-${process.arch}`;
17
+ const rel = PLATFORMS[key];
18
+ if (!rel) {
19
+ console.error(`costcrew: no prebuilt binary for ${key}`);
20
+ console.error("build from source: https://github.com/Arch087146/costcrew");
21
+ process.exit(1);
22
+ }
23
+
24
+ function resolveBinary() {
25
+ // __dirname is node_modules/@archeagle087/costcrew — two levels up is
26
+ // node_modules, where the platform packages live
27
+ const nm = path.join(__dirname, "..", "..");
28
+ const direct = path.join(nm, rel);
29
+ if (fs.existsSync(direct)) return direct;
30
+ // npm can hoist/reshape optionalDependencies — fall back to resolution
31
+ const [pkg, file] = rel.split("/");
32
+ try {
33
+ const dir = path.dirname(require.resolve(`${pkg}/package.json`, { paths: [nm] }));
34
+ return path.join(dir, file);
35
+ } catch {
36
+ return direct; // let spawn fail with a clear ENOENT
37
+ }
38
+ }
39
+
40
+ const bin = resolveBinary();
41
+ const result = spawnSync(bin, process.argv.slice(2), { stdio: "inherit" });
42
+ if (result.error) {
43
+ console.error(`costcrew: failed to launch ${bin}: ${result.error.message}`);
44
+ process.exit(1);
45
+ }
46
+ process.exit(result.status ?? 0);
@@ -0,0 +1 @@
1
+ {"fetched_at_ms":1794274886057,"models":[{"cache_read":0.024,"cache_write":0.0,"completion":0.39999999999999997,"id":"nex-agi/nex-n2.6","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"thinkingmachines/inkling-2-small:free","prompt":0.0},{"cache_read":0.19999999999999998,"cache_write":10.0,"completion":40.0,"id":"anthropic/claude-fable-5.2","prompt":8.0},{"cache_read":0.09999999999999999,"cache_write":5.0,"completion":20.0,"id":"anthropic/claude-fable-5.2:batch","prompt":4.0},{"cache_read":0.004,"cache_write":0.125,"completion":0.5,"id":"meta/muse-ember","prompt":0.09999999999999999},{"cache_read":0.02,"cache_write":0.0,"completion":0.19999999999999998,"id":"liquid/lfm-3-1.7b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"liquid/lfm-3-1.7b:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":9.0,"id":"google/gemini-omni-1.2-flash","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":9.0,"id":"google/gemini-omni-1.1-flash","prompt":1.5},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.6,"id":"ricursiveai/ripple-65b-preview","prompt":0.19999999999999998},{"cache_read":0.020999999999999998,"cache_write":0.0,"completion":1.2505,"id":"tencent/hy4","prompt":0.417},{"cache_read":0.075,"cache_write":0.0,"completion":1.25,"id":"z-ai/glm-5.3-flashx-legal","prompt":0.37},{"cache_read":0.003,"cache_write":0.0,"completion":0.5,"id":"particle-ai/particle-1","prompt":0.049999999999999996},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-terra-pro","prompt":1.0},{"cache_read":0.024999999999999998,"cache_write":0.625,"completion":2.5,"id":"openai/gpt-6.1-terra-pro:batch","prompt":0.5},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-terra","prompt":1.0},{"cache_read":0.024999999999999998,"cache_write":0.625,"completion":2.5,"id":"openai/gpt-6.1-terra:batch","prompt":0.5},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":10.0,"id":"moonshotai/kimi-k3.1-pro","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"recursive/flint-v1.0:free","prompt":0.0},{"cache_read":0.015,"cache_write":0.0,"completion":0.6,"id":"minimax/minimax-m3.1-flash","prompt":0.15},{"cache_read":0.005,"cache_write":0.0,"completion":0.5,"id":"deepseek/deepseek-v4.1-flash-1017","prompt":0.006},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"deepseek/deepseek-v4.1-flash-1017:batch","prompt":0.011},{"cache_read":0.06,"cache_write":0.0,"completion":3.0,"id":"elorian/glimpse","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"xingchen-agi/xing4.0-29b-a4b:free","prompt":0.0},{"cache_read":0.04,"cache_write":0.0,"completion":1.0,"id":"reflection/beam-1.0-501b-a23b","prompt":0.3},{"cache_read":0.04,"cache_write":0.0,"completion":0.13,"id":"prism-ml/ternary-bonsai-2-9b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moondream/moondream3-preview","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moondream/moondream3.1-9b-a2b","prompt":0.3},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-open","prompt":1.25},{"cache_read":0.02,"cache_write":0.0,"completion":0.47,"id":"nvidia/nemotron-3.5-super-vl","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3.5-super-vl:free","prompt":0.0},{"cache_read":0.03,"cache_write":0.0,"completion":3.1999999999999997,"id":"unbiased/pareto-26.10","prompt":0.7999999999999999},{"cache_read":0.03,"cache_write":0.0,"completion":3.1999999999999997,"id":"~unbiased/pareto-latest","prompt":0.7999999999999999},{"cache_read":0.25,"cache_write":0.0,"completion":7.5,"id":"unbiased/pareto-26.9","prompt":2.5},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":0.7,"id":"liquid/lfm-2.5-24b-a2b","prompt":0.049999999999999996},{"cache_read":0.09999999999999999,"cache_write":0.1875,"completion":10.0,"id":"google/gemini-4-argon","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":0.1875,"completion":5.0,"id":"google/gemini-4-argon:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"scaledown/summarize","prompt":0.04},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"scaledown/extract","prompt":0.04},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":20.0,"id":"meta/muse-wonder","prompt":4.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.7,"id":"stepfun/step-5-preview","prompt":1.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"anthropic/claude-haiku-5.5","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"anthropic/claude-haiku-5.5:batch","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":7.5,"id":"google/gemini-nano-banana-2.1","prompt":1.5},{"cache_read":0.07,"cache_write":0.0,"completion":2.0999999999999996,"id":"mistralai/mistral-large-4-0","prompt":0.7},{"cache_read":0.009,"cache_write":0.0,"completion":0.135,"id":"inclusionai/ling-3.1-flash","prompt":0.045},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6.1-sol-pro","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-sol-pro:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6.1-sol","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-sol:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-sonnet-5.5","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-sonnet-5.5:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"perceptron/perceptron-mk1.5","prompt":0.15},{"cache_read":0.3,"cache_write":0.0,"completion":15.0,"id":"fireworks/ember-1","prompt":3.0},{"cache_read":0.56,"cache_write":0.0,"completion":8.8,"id":"z-ai/glm-5.3-prime","prompt":2.8},{"cache_read":0.5,"cache_write":0.0,"completion":12.0,"id":"qwen/qwen3.8-max-prime","prompt":4.0},{"cache_read":0.18,"cache_write":0.0,"completion":1.4,"id":"aion-labs/aion-3.5-mini","prompt":0.7},{"cache_read":0.75,"cache_write":0.0,"completion":6.0,"id":"aion-labs/aion-3.5","prompt":3.0},{"cache_read":0.005,"cache_write":0.0,"completion":0.19999999999999998,"id":"upstage/solar-mini4","prompt":0.049999999999999996},{"cache_read":0.15,"cache_write":0.0,"completion":1.5,"id":"cohere/command-a-plus","prompt":0.3},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"openai/gpt-6-luna-pro","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"openai/gpt-6-luna-pro:batch","prompt":0.049999999999999996},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"openai/gpt-6-luna","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"openai/gpt-6-luna:batch","prompt":0.049999999999999996},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6-sol-pro","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6-sol-pro:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6-sol","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6-sol:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":5.0,"completion":20.0,"id":"anthropic/claude-opus-5.5","prompt":4.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-opus-5.5:batch","prompt":2.0},{"cache_read":0.036,"cache_write":0.0,"completion":8.7,"id":"xiaomi/mimo-v2.6-pro-ultraspeed","prompt":4.35},{"cache_read":0.0028,"cache_write":0.0,"completion":0.28,"id":"xiaomi/mimo-v2.6-flash","prompt":0.14},{"cache_read":0.0036,"cache_write":0.0,"completion":0.87,"id":"xiaomi/mimo-v2.6-pro","prompt":0.435},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.7","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":4.8,"id":"x-ai/grok-4.7:batch","prompt":1.5999999999999999},{"cache_read":0.016,"cache_write":0.0,"completion":0.47,"id":"qwen/qwen3.8-omni-flash","prompt":0.15},{"cache_read":0.0375,"cache_write":0.0,"completion":0.5,"id":"prism-ml/ternary-bonsai-2-27b","prompt":0.075},{"cache_read":0.075,"cache_write":0.0,"completion":1.25,"id":"z-ai/glm-5.3-flashx","prompt":0.37},{"cache_read":0.0999,"cache_write":0.0,"completion":8.0,"id":"~deepseek/deepseek-pro-latest","prompt":0.0999},{"cache_read":0.005,"cache_write":0.0,"completion":0.5,"id":"~deepseek/deepseek-flash-latest","prompt":0.006},{"cache_read":0.03,"cache_write":0.0,"completion":0.15,"id":"inference-net/schematron-v2-turbo","prompt":0.03},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.22999999999999998,"id":"inference-net/schematron-v2-small","prompt":0.049999999999999996},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"~openai/gpt-astra-latest","prompt":10.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"~openai/gpt-sol-latest","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"~openai/gpt-terra-latest","prompt":1.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"~openai/gpt-luna-latest","prompt":0.09999999999999999},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"sakana/fugu-ultra-v2","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"sakana/fugu-max","prompt":2.0},{"cache_read":0.012,"cache_write":0.0,"completion":0.18,"id":"inclusionai/ling-3.0-flash-vl","prompt":0.06},{"cache_read":0.018,"cache_write":0.0,"completion":0.5670000000000001,"id":"deepseek/deepseek-v4.1-flash","prompt":0.051},{"cache_read":0.00336,"cache_write":0.0,"completion":0.33599999999999997,"id":"deepseek/deepseek-v4.1-flash:batch","prompt":0.112},{"cache_read":0.0025,"cache_write":0.0,"completion":0.09999999999999999,"id":"nex-agi/nex-n2.5-mini","prompt":0.024999999999999998},{"cache_read":0.015,"cache_write":0.0,"completion":0.25,"id":"nex-agi/nex-n2.5-pro","prompt":0.075},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"openai/gpt-6-astra","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"openai/gpt-6-astra:batch","prompt":5.0},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"openai/gpt-6-astra-pro","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"openai/gpt-6-astra-pro:batch","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"qwen/qwen3.8-max-0902","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.45,"id":"qwen/qwen3.8-max-0902:batch","prompt":1.15},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"meta/muse-spark-1.3-contributor","prompt":0.09999999999999999},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.3","prompt":1.25},{"cache_read":0.0825,"cache_write":0.0416666666666667,"completion":4.125,"id":"google/gemini-3.8-flash","prompt":0.8250000000000001},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.8-flash:batch","prompt":0.375},{"cache_read":0.25,"cache_write":12.5,"completion":50.0,"id":"anthropic/claude-fable-5.1","prompt":10.0},{"cache_read":0.125,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-fable-5.1:batch","prompt":5.0},{"cache_read":0.015,"cache_write":0.0,"completion":0.25,"id":"ibm-granite/granite-4.2-8b","prompt":0.06},{"cache_read":0.041999999999999996,"cache_write":0.0,"completion":2.501,"id":"tencent/hy4-preview","prompt":0.834},{"cache_read":0.03,"cache_write":0.0,"completion":0.083,"id":"~z-ai/glm-flash-latest","prompt":0.0335},{"cache_read":0.016,"cache_write":0.0,"completion":0.47,"id":"qwen/qwen3.8-flash","prompt":0.15},{"cache_read":0.03,"cache_write":0.0,"completion":0.5,"id":"z-ai/glm-5.3-flash","prompt":0.15},{"cache_read":0.013000000000000001,"cache_write":0.0,"completion":0.061000000000000006,"id":"z-ai/glm-5.3-flash:batch","prompt":0.03},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"meta/muse-spark-1.2-contributor","prompt":0.09999999999999999},{"cache_read":0.014,"cache_write":0.0,"completion":1.32,"id":"deepseek/deepseek-v4-flash-vision-exp","prompt":0.44},{"cache_read":0.0,"cache_write":0.0,"completion":0.17700000000000002,"id":"tencent/hy-mt2-1.8b","prompt":0.044},{"cache_read":0.0,"cache_write":0.0,"completion":0.295,"id":"tencent/hy-mt2-30b-a3b","prompt":0.074},{"cache_read":0.0689,"cache_write":0.0,"completion":1.4,"id":"~z-ai/glm-latest","prompt":0.0699},{"cache_read":0.0,"cache_write":0.0,"completion":0.295,"id":"tencent/hy-mt2-7b","prompt":0.074},{"cache_read":0.0689,"cache_write":0.0,"completion":1.4,"id":"z-ai/glm-5.3","prompt":0.0699},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.0,"id":"z-ai/glm-5.3:batch","prompt":0.44999999999999996},{"cache_read":0.0375,"cache_write":0.0,"completion":1.875,"id":"qwen/qwen3.8-27b","prompt":0.15},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"qwen/qwen3.8-27b:batch","prompt":0.16},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"dots-studio/dots-3-note-preview:free","prompt":0.0},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"google/gemini-3.7-flash","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.7-flash:batch","prompt":0.375},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"bytedance-seed/seed-2-1-turbo","prompt":0.5},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"qwen/qwen3.8-2.4t-a95b","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"bytedance-seed/seed-2.0-code","prompt":0.5},{"cache_read":0.09699999999999999,"cache_write":0.0,"completion":4.4399999999999995,"id":"deepseek/deepseek-v4-pro-0813","prompt":0.111},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.6","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":4.8,"id":"x-ai/grok-4.6:batch","prompt":1.5999999999999999},{"cache_read":0.04,"cache_write":0.0,"completion":0.5,"id":"liquid/lfm-2.5-2.6b","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"liquid/lfm-2.5-2.6b:free","prompt":0.0},{"cache_read":0.04,"cache_write":0.0,"completion":0.19999999999999998,"id":"nvidia/nemotron-3.5-lightning","prompt":0.07},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3.5-lightning:free","prompt":0.0},{"cache_read":0.15,"cache_write":0.0,"completion":4.0,"id":"sakana/sakana-namazu","prompt":0.95},{"cache_read":0.03,"cache_write":0.0,"completion":0.6,"id":"upstage/solar-pro4","prompt":0.15},{"cache_read":0.04,"cache_write":0.0,"completion":1.2,"id":"meta/muse-glimmer-30b","prompt":0.3},{"cache_read":0.032,"cache_write":0.0,"completion":0.96,"id":"meta/muse-glimmer-30b:batch","prompt":0.24},{"cache_read":0.003,"cache_write":0.0,"completion":0.045,"id":"inclusionai/ling-3.0-tiny","prompt":0.015},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.2","prompt":1.25},{"cache_read":0.035,"cache_write":0.0,"completion":0.3,"id":"~deepseek/deepseek-v4-flash-latest","prompt":0.0434},{"cache_read":0.035,"cache_write":0.0,"completion":0.3,"id":"deepseek/deepseek-v4-flash-0731","prompt":0.0434},{"cache_read":0.012,"cache_write":0.0,"completion":0.144,"id":"deepseek/deepseek-v4-flash-0731:batch","prompt":0.048},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.2,"id":"thinkingmachines/inkling-small","prompt":0.44999999999999996},{"cache_read":0.08,"cache_write":0.0,"completion":0.96,"id":"thinkingmachines/inkling-small:batch","prompt":0.36},{"cache_read":0.006,"cache_write":0.038000000000000006,"completion":0.13,"id":"qwen/qwen3.7-flash","prompt":0.03},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-5","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-5:batch","prompt":2.5},{"cache_read":0.004200000000000001,"cache_write":0.0,"completion":0.063,"id":"inclusionai/ling-3.0-flash","prompt":0.020999999999999998},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"google/gemini-3.6-flash","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.6-flash:batch","prompt":0.375},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-3.5-flash-lite","prompt":0.3},{"cache_read":0.015,"cache_write":0.0,"completion":1.25,"id":"google/gemini-3.5-flash-lite:batch","prompt":0.15},{"cache_read":0.006,"cache_write":0.0,"completion":1.2,"id":"meituan/longcat-2.0","prompt":0.3},{"cache_read":0.16999999999999998,"cache_write":0.0,"completion":4.05,"id":"thinkingmachines/inkling","prompt":1.0},{"cache_read":0.182,"cache_write":0.0,"completion":16.0,"id":"moonshotai/kimi-k3","prompt":0.192},{"cache_read":0.228,"cache_write":0.0,"completion":11.399999999999999,"id":"moonshotai/kimi-k3:batch","prompt":2.2800000000000002},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.1","prompt":1.25},{"cache_read":0.02,"cache_write":0.25,"completion":1.2,"id":"openai/gpt-5.6-luna-pro","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-5.6-luna-pro:batch","prompt":0.09999999999999999},{"cache_read":0.02,"cache_write":0.25,"completion":1.2,"id":"openai/gpt-5.6-luna","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-5.6-luna:batch","prompt":0.09999999999999999},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":12.0,"id":"openai/gpt-5.6-terra-pro","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":6.0,"id":"openai/gpt-5.6-terra-pro:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":12.0,"id":"openai/gpt-5.6-terra","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":6.0,"id":"openai/gpt-5.6-terra:batch","prompt":1.0},{"cache_read":0.39999999999999997,"cache_write":5.0,"completion":20.0,"id":"openai/gpt-5.6-sol-pro","prompt":4.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-5.6-sol-pro:batch","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":5.0,"completion":20.0,"id":"openai/gpt-5.6-sol","prompt":4.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-5.6-sol:batch","prompt":2.0},{"cache_read":0.3,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.5","prompt":2.0},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"~x-ai/grok-latest","prompt":2.0},{"cache_read":0.18,"cache_write":0.0,"completion":1.4,"id":"aion-labs/aion-3.0-mini","prompt":0.7},{"cache_read":0.75,"cache_write":0.0,"completion":6.0,"id":"aion-labs/aion-3.0","prompt":3.0},{"cache_read":0.032999999999999995,"cache_write":0.0,"completion":0.5279999999999999,"id":"tencent/hy3","prompt":0.13199999999999998},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-sonnet-5","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-sonnet-5:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"google/gemini-3.1-flash-lite-image","prompt":0.25},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"sakana/fugu-ultra","prompt":5.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"google/gemini-3.1-flash-image","prompt":0.5},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3-pro-image","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"cohere/north-mini-code:free","prompt":0.0},{"cache_read":0.005,"cache_write":0.0,"completion":6.8,"id":"z-ai/glm-5.2","prompt":0.006},{"cache_read":0.19399999999999998,"cache_write":0.0,"completion":1.169,"id":"z-ai/glm-5.2:batch","prompt":0.573},{"cache_read":0.16,"cache_write":0.0,"completion":3.5,"id":"moonshotai/kimi-k2.7-code","prompt":0.6},{"cache_read":0.19999999999999998,"cache_write":10.0,"completion":40.0,"id":"~anthropic/claude-fable-latest","prompt":8.0},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"anthropic/claude-fable-5","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-fable-5:batch","prompt":5.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"nvidia/nemotron-3.5-content-safety","prompt":0.19999999999999998},{"cache_read":0.12,"cache_write":0.0,"completion":2.4,"id":"nvidia/nemotron-3-ultra-550b-a55b","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3-ultra-550b-a55b:free","prompt":0.0},{"cache_read":0.064,"cache_write":0.39999999999999997,"completion":1.28,"id":"qwen/qwen3.7-plus","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":0.9199999999999999,"id":"qwen/qwen3.7-plus:batch","prompt":0.22999999999999998},{"cache_read":0.06,"cache_write":0.0,"completion":1.2,"id":"minimax/minimax-m3","prompt":0.3},{"cache_read":0.0448,"cache_write":0.0,"completion":0.88,"id":"minimax/minimax-m3:batch","prompt":0.224},{"cache_read":0.04,"cache_write":0.0,"completion":1.15,"id":"stepfun/step-3.7-flash","prompt":0.19999999999999998},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.8","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.8:batch","prompt":2.5},{"cache_read":0.295,"cache_write":1.84375,"completion":4.425,"id":"qwen/qwen3.7-max","prompt":1.475},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.0,"id":"x-ai/grok-build-0.1","prompt":1.0},{"cache_read":0.15,"cache_write":0.0833333333333333,"completion":9.0,"id":"google/gemini-3.5-flash","prompt":1.5},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"google/gemini-3.5-flash:batch","prompt":0.75},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"perceptron/perceptron-mk1","prompt":0.15},{"cache_read":0.024999999999999998,"cache_write":0.0833333333333333,"completion":1.5,"id":"google/gemini-3.1-flash-lite","prompt":0.25},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":0.75,"id":"google/gemini-3.1-flash-lite:batch","prompt":0.125},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"openai/gpt-chat-latest","prompt":5.0},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.3","prompt":1.25},{"cache_read":0.16,"cache_write":0.0,"completion":2.0,"id":"x-ai/grok-4.3:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":7.5,"id":"mistralai/mistral-medium-3-5","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":3.75,"id":"mistralai/mistral-medium-3-5:batch","prompt":0.75},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free","prompt":0.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"~anthropic/claude-haiku-latest","prompt":0.09999999999999999},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"~openai/gpt-mini-latest","prompt":0.75},{"cache_read":0.09999999999999999,"cache_write":0.1875,"completion":10.0,"id":"~google/gemini-pro-latest","prompt":2.0},{"cache_read":0.15,"cache_write":0.0,"completion":9.7471,"id":"~moonshotai/kimi-latest","prompt":0.1529},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"~google/gemini-flash-latest","prompt":0.75},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"~anthropic/claude-sonnet-latest","prompt":2.0},{"cache_read":0.0,"cache_write":0.375,"completion":1.7999999999999998,"id":"qwen/qwen3.5-plus-20260420","prompt":0.3},{"cache_read":0.0,"cache_write":0.234375,"completion":1.125,"id":"qwen/qwen3.6-flash","prompt":0.1875},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":0.8999999999999999,"id":"qwen/qwen3.6-35b-a3b","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":3.1999999999999997,"id":"qwen/qwen3.6-27b","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":180.0,"id":"openai/gpt-5.5-pro","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":90.0,"id":"openai/gpt-5.5-pro:batch","prompt":15.0},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"openai/gpt-5.5","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.5:batch","prompt":2.5},{"cache_read":0.07960500000000001,"cache_write":0.0,"completion":1.9105199999999998,"id":"deepseek/deepseek-v4-pro","prompt":0.9552599999999999},{"cache_read":0.0182,"cache_write":0.0,"completion":0.182,"id":"deepseek/deepseek-v4-flash","prompt":0.091},{"cache_read":0.06,"cache_write":0.0,"completion":0.6,"id":"tencent/hy3-preview","prompt":0.18},{"cache_read":0.096,"cache_write":0.0,"completion":1.7999999999999998,"id":"xiaomi/mimo-v2.5-pro","prompt":0.48},{"cache_read":0.08,"cache_write":0.0,"completion":2.0,"id":"xiaomi/mimo-v2.5","prompt":0.39999999999999997},{"cache_read":2.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.4-image-2","prompt":8.0},{"cache_read":0.19999999999999998,"cache_write":5.0,"completion":20.0,"id":"~anthropic/claude-opus-latest","prompt":4.0},{"cache_read":0.15,"cache_write":0.0,"completion":3.41,"id":"moonshotai/kimi-k2.6","prompt":0.65},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.7","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.7:batch","prompt":2.5},{"cache_read":0.26,"cache_write":0.0,"completion":4.4,"id":"z-ai/glm-5.1","prompt":1.4},{"cache_read":0.046,"cache_write":0.0,"completion":0.09999999999999999,"id":"google/gemma-4-26b-a4b-it","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/gemma-4-26b-a4b-it:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"google/gemma-4-31b-it","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/gemma-4-31b-it:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.40625,"completion":1.95,"id":"qwen/qwen3.6-plus","prompt":0.325},{"cache_read":0.24,"cache_write":0.0,"completion":4.0,"id":"z-ai/glm-5v-turbo","prompt":1.2},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.20-multi-agent","prompt":1.25},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.20","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/lyria-3-pro-preview","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/lyria-3-clip-preview","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.09999999999999999,"id":"rekaai/reka-edge","prompt":0.09999999999999999},{"cache_read":0.041999999999999996,"cache_write":0.0,"completion":0.84,"id":"minimax/minimax-m2.7","prompt":0.21},{"cache_read":0.02,"cache_write":0.0,"completion":1.25,"id":"openai/gpt-5.4-nano","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.625,"id":"openai/gpt-5.4-nano:batch","prompt":0.09999999999999999},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"openai/gpt-5.4-mini","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0,"completion":2.25,"id":"openai/gpt-5.4-mini:batch","prompt":0.375},{"cache_read":0.015,"cache_write":0.0,"completion":0.6,"id":"mistralai/mistral-small-2603","prompt":0.15},{"cache_read":0.24,"cache_write":0.0,"completion":4.0,"id":"z-ai/glm-5-turbo","prompt":1.2},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"nvidia/nemotron-3-super-120b-a12b","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"bytedance-seed/seed-2.0-lite","prompt":0.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.25,"id":"qwen/qwen3.5-9b","prompt":0.16999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":180.0,"id":"openai/gpt-5.4-pro","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":90.0,"id":"openai/gpt-5.4-pro:batch","prompt":15.0},{"cache_read":0.25,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.4","prompt":2.5},{"cache_read":0.125,"cache_write":0.0,"completion":7.5,"id":"openai/gpt-5.4:batch","prompt":1.25},{"cache_read":0.024999999999999998,"cache_write":0.0833333333333333,"completion":1.5,"id":"google/gemini-3.1-flash-lite-preview","prompt":0.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"bytedance-seed/seed-2.0-mini","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"google/gemini-3.1-flash-image-preview","prompt":0.5},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3.5-35b-a3b","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":2.6,"id":"qwen/qwen3.5-27b","prompt":0.26},{"cache_read":0.0,"cache_write":0.0,"completion":2.08,"id":"qwen/qwen3.5-122b-a10b","prompt":0.26},{"cache_read":0.0,"cache_write":0.0,"completion":0.26,"id":"qwen/qwen3.5-flash-02-23","prompt":0.065},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3.1-pro-preview-customtools","prompt":2.0},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.3-codex","prompt":1.75},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":1.5999999999999999,"id":"aion-labs/aion-2.0","prompt":0.7999999999999999},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3.1-pro-preview","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":6.0,"id":"google/gemini-3.1-pro-preview:batch","prompt":1.0},{"cache_read":0.3,"cache_write":3.75,"completion":15.0,"id":"anthropic/claude-sonnet-4.6","prompt":3.0},{"cache_read":0.15,"cache_write":1.875,"completion":7.5,"id":"anthropic/claude-sonnet-4.6:batch","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":1.56,"id":"qwen/qwen3.5-plus-02-15","prompt":0.26},{"cache_read":0.12,"cache_write":0.0,"completion":3.5999999999999996,"id":"qwen/qwen3.5-397b-a17b","prompt":0.6},{"cache_read":0.06,"cache_write":0.0,"completion":1.2,"id":"minimax/minimax-m2.5","prompt":0.3},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":3.1999999999999997,"id":"z-ai/glm-5","prompt":1.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.6","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.6:batch","prompt":2.5},{"cache_read":0.07,"cache_write":0.0,"completion":0.7999999999999999,"id":"qwen/qwen3-coder-next","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"stepfun/step-3.5-flash","prompt":0.09999999999999999},{"cache_read":0.20900000000000002,"cache_write":0.0,"completion":3.3249999999999997,"id":"moonshotai/kimi-k2.5","prompt":0.532},{"cache_read":0.0,"cache_write":0.0,"completion":6.0,"id":"writer/palmyra-x5","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-audio","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":2.4,"id":"openai/gpt-audio-mini","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"z-ai/glm-4.7-flash","prompt":0.060500000000000005},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2-codex","prompt":1.75},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"bytedance-seed/seed-1.6-flash","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"bytedance-seed/seed-1.6","prompt":0.25},{"cache_read":0.11,"cache_write":0.0,"completion":2.2,"id":"z-ai/glm-4.7","prompt":0.6},{"cache_read":0.049999999999999996,"cache_write":0.0833333333333333,"completion":3.0,"id":"google/gemini-3-flash-preview","prompt":0.5},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"google/gemini-3-flash-preview:batch","prompt":0.25},{"cache_read":0.012,"cache_write":0.0,"completion":0.24,"id":"nvidia/nemotron-3-nano-30b-a3b","prompt":0.06},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2-chat","prompt":1.75},{"cache_read":0.0,"cache_write":0.0,"completion":168.0,"id":"openai/gpt-5.2-pro","prompt":21.0},{"cache_read":0.0,"cache_write":0.0,"completion":84.0,"id":"openai/gpt-5.2-pro:batch","prompt":10.5},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2","prompt":1.75},{"cache_read":0.0875,"cache_write":0.0,"completion":7.0,"id":"openai/gpt-5.2:batch","prompt":0.875},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/devstral-2512","prompt":0.39999999999999997},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"relace/relace-search","prompt":1.0},{"cache_read":0.055,"cache_write":0.0,"completion":0.8999999999999999,"id":"z-ai/glm-4.6v","prompt":0.3},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1-codex-max","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"amazon/nova-2-lite-v1","prompt":0.3},{"cache_read":0.02,"cache_write":0.0,"completion":0.19999999999999998,"id":"mistralai/ministral-14b-2512","prompt":0.19999999999999998},{"cache_read":0.015,"cache_write":0.0,"completion":0.15,"id":"mistralai/ministral-8b-2512","prompt":0.15},{"cache_read":0.01,"cache_write":0.0,"completion":0.09999999999999999,"id":"mistralai/ministral-3b-2512","prompt":0.09999999999999999},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":1.5,"id":"mistralai/mistral-large-2512","prompt":0.5},{"cache_read":0.13,"cache_write":0.0,"completion":0.38,"id":"deepseek/deepseek-v3.2","prompt":0.26},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.5","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.5:batch","prompt":2.5},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3-pro-image-preview","prompt":2.0},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1","prompt":1.25},{"cache_read":0.0625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-5.1:batch","prompt":0.625},{"cache_read":0.13,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1-codex","prompt":1.25},{"cache_read":0.03,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5.1-codex-mini","prompt":0.25},{"cache_read":0.15,"cache_write":0.0,"completion":2.5,"id":"moonshotai/kimi-k2-thinking","prompt":0.6},{"cache_read":0.625,"cache_write":0.0,"completion":12.5,"id":"amazon/nova-premier-v1","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"perplexity/sonar-pro-search","prompt":3.0},{"cache_read":0.01,"cache_write":0.0,"completion":0.3,"id":"mistralai/voxtral-small-24b-2507","prompt":0.09999999999999999},{"cache_read":0.0375,"cache_write":0.0,"completion":0.3,"id":"openai/gpt-oss-safeguard-20b","prompt":0.075},{"cache_read":0.25,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5-image-mini","prompt":2.5},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-haiku-4.5","prompt":1.0},{"cache_read":0.049999999999999996,"cache_write":0.625,"completion":2.5,"id":"anthropic/claude-haiku-4.5:batch","prompt":0.5},{"cache_read":0.12,"cache_write":0.0,"completion":0.75,"id":"qwen/qwen3-vl-8b-instruct","prompt":0.25},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5-image","prompt":10.0},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-2.5-flash-image","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3-vl-30b-a3b-thinking","prompt":0.29},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"qwen/qwen3-vl-30b-a3b-instruct","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":120.0,"id":"openai/gpt-5-pro","prompt":15.0},{"cache_read":0.0,"cache_write":0.0,"completion":60.0,"id":"openai/gpt-5-pro:batch","prompt":7.5},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.0,"id":"z-ai/glm-4.6","prompt":0.5},{"cache_read":0.3,"cache_write":3.75,"completion":15.0,"id":"anthropic/claude-sonnet-4.5","prompt":3.0},{"cache_read":0.15,"cache_write":1.875,"completion":7.5,"id":"anthropic/claude-sonnet-4.5:batch","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.41,"id":"deepseek/deepseek-v3.2-exp","prompt":0.27},{"cache_read":0.15,"cache_write":0.0,"completion":0.5,"id":"thedrummer/cydonia-24b-v4.1","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":1.25,"id":"relace/relace-apply-3","prompt":0.85},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.9,"id":"qwen/qwen3-vl-235b-a22b-instruct","prompt":0.21},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"deepseek/deepseek-v3.1-terminus","prompt":0.27},{"cache_read":0.039,"cache_write":0.24375,"completion":0.975,"id":"qwen/qwen3-coder-flash","prompt":0.195},{"cache_read":0.0,"cache_write":0.0,"completion":1.1,"id":"qwen/qwen3-next-80b-a3b-instruct","prompt":0.09},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moonshotai/kimi-k2-0905","prompt":0.6},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":3.0,"id":"nousresearch/hermes-4-405b","prompt":1.0},{"cache_read":0.13,"cache_write":0.0,"completion":0.95,"id":"deepseek/deepseek-chat-v3.1","prompt":0.25},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/mistral-medium-3.1","prompt":0.39999999999999997},{"cache_read":0.11,"cache_write":0.0,"completion":1.7999999999999998,"id":"z-ai/glm-4.5v","prompt":0.6},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5","prompt":1.25},{"cache_read":0.0625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-5:batch","prompt":0.625},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5-mini","prompt":0.25},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":1.0,"id":"openai/gpt-5-mini:batch","prompt":0.125},{"cache_read":0.005,"cache_write":0.0,"completion":0.39999999999999997,"id":"openai/gpt-5-nano","prompt":0.049999999999999996},{"cache_read":0.0025,"cache_write":0.0,"completion":0.19999999999999998,"id":"openai/gpt-5-nano:batch","prompt":0.024999999999999998},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-oss-120b","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":0.136,"id":"openai/gpt-oss-120b:batch","prompt":0.0296},{"cache_read":0.03,"cache_write":0.0,"completion":0.13,"id":"openai/gpt-oss-20b","prompt":0.03},{"cache_read":0.0,"cache_write":0.0,"completion":0.112,"id":"openai/gpt-oss-20b:batch","prompt":0.024},{"cache_read":1.5,"cache_write":18.75,"completion":75.0,"id":"anthropic/claude-opus-4.1","prompt":15.0},{"cache_read":0.75,"cache_write":9.375,"completion":37.5,"id":"anthropic/claude-opus-4.1:batch","prompt":7.5},{"cache_read":0.03,"cache_write":0.0,"completion":0.8999999999999999,"id":"mistralai/codestral-2508","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"qwen/qwen3-coder-30b-a3b-instruct","prompt":0.15},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":0.3,"id":"qwen/qwen3-30b-a3b-instruct-2507","prompt":0.09999999999999999},{"cache_read":0.11,"cache_write":0.0,"completion":2.2,"id":"z-ai/glm-4.5","prompt":0.6},{"cache_read":0.03,"cache_write":0.0,"completion":1.1,"id":"z-ai/glm-4.5-air","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":3.5,"id":"qwen/qwen3-235b-a22b-thinking-2507","prompt":0.44999999999999996},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3-coder","prompt":0.3},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":0.19999999999999998,"id":"bytedance/ui-tars-1.5-7b","prompt":0.09999999999999999},{"cache_read":0.01,"cache_write":0.0833333333333333,"completion":0.39999999999999997,"id":"google/gemini-2.5-flash-lite","prompt":0.09999999999999999},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.7999999999999999,"id":"qwen/qwen3-235b-a22b-2507","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":2.3,"id":"moonshotai/kimi-k2","prompt":0.5700000000000001},{"cache_read":0.0,"cache_write":0.0,"completion":0.8999999999999999,"id":"cognitivecomputations/dolphin-mistral-24b-venice-edition","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":0.5700000000000001,"id":"tencent/hunyuan-a13b-instruct","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":1.9,"id":"morph/morph-v3-large","prompt":0.8999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.95,"id":"morph/morph-v3-large:batch","prompt":0.44999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":1.2,"id":"morph/morph-v3-fast","prompt":0.7999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"morph/morph-v3-fast:batch","prompt":0.39999999999999997},{"cache_read":0.01,"cache_write":0.0,"completion":0.3,"id":"mistralai/mistral-small-3.2-24b-instruct","prompt":0.09999999999999999},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-2.5-flash","prompt":0.3},{"cache_read":0.125,"cache_write":0.375,"completion":10.0,"id":"google/gemini-2.5-pro","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":80.0,"id":"openai/o3-pro","prompt":20.0},{"cache_read":0.125,"cache_write":0.375,"completion":10.0,"id":"google/gemini-2.5-pro-preview","prompt":1.25},{"cache_read":0.35,"cache_write":0.0,"completion":2.1500000000000004,"id":"deepseek/deepseek-r1-0528","prompt":0.5},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/mistral-medium-3","prompt":0.39999999999999997},{"cache_read":0.0,"cache_write":0.0,"completion":0.18,"id":"meta-llama/llama-guard-4-12b","prompt":0.18},{"cache_read":0.0,"cache_write":0.0,"completion":0.5,"id":"qwen/qwen3-30b-a3b","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.22,"id":"qwen/qwen3-14b","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.28,"id":"qwen/qwen3-32b","prompt":0.08},{"cache_read":0.5,"cache_write":0.0,"completion":8.0,"id":"openai/o3","prompt":2.0},{"cache_read":0.25,"cache_write":0.0,"completion":4.0,"id":"openai/o3:batch","prompt":1.0},{"cache_read":0.1375,"cache_write":0.0,"completion":2.2,"id":"openai/o4-mini:batch","prompt":0.55},{"cache_read":0.5,"cache_write":0.0,"completion":8.0,"id":"openai/gpt-4.1","prompt":2.0},{"cache_read":0.25,"cache_write":0.0,"completion":4.0,"id":"openai/gpt-4.1:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.5999999999999999,"id":"openai/gpt-4.1-mini","prompt":0.39999999999999997},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.7999999999999999,"id":"openai/gpt-4.1-mini:batch","prompt":0.19999999999999998},{"cache_read":0.03,"cache_write":0.0,"completion":0.39999999999999997,"id":"openai/gpt-4.1-nano","prompt":0.09999999999999999},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":0.19999999999999998,"id":"openai/gpt-4.1-nano:batch","prompt":0.049999999999999996},{"cache_read":0.16999999999999998,"cache_write":0.0,"completion":1.0,"id":"meta-llama/llama-4-maverick","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"meta-llama/llama-4-scout","prompt":0.09999999999999999},{"cache_read":0.11,"cache_write":0.0,"completion":1.1400000000000001,"id":"deepseek/deepseek-chat-v3-0324","prompt":0.29},{"cache_read":0.0,"cache_write":0.0,"completion":0.5549999999999999,"id":"mistralai/mistral-small-3.1-24b-instruct","prompt":0.351},{"cache_read":0.0,"cache_write":0.0,"completion":0.09999999999999999,"id":"google/gemma-3-4b-it","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":0.15,"id":"google/gemma-3-12b-it","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"cohere/command-a","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"rekaai/reka-flash-3","prompt":0.09999999999999999},{"cache_read":0.04,"cache_write":0.0,"completion":0.44999999999999996,"id":"google/gemma-3-27b-it","prompt":0.08},{"cache_read":0.25,"cache_write":0.0,"completion":0.7999999999999999,"id":"thedrummer/skyfall-36b-v2","prompt":0.55},{"cache_read":0.0,"cache_write":0.0,"completion":8.0,"id":"perplexity/sonar-reasoning-pro","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"perplexity/sonar-pro","prompt":3.0},{"cache_read":0.0,"cache_write":0.0,"completion":8.0,"id":"perplexity/sonar-deep-research","prompt":2.0},{"cache_read":0.02,"cache_write":0.0,"completion":0.6,"id":"mistralai/mistral-saba","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":1.5999999999999999,"id":"aion-labs/aion-rp-llama-3.1-8b","prompt":0.7999999999999999},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen2.5-vl-72b-instruct","prompt":0.7999999999999999},{"cache_read":0.052000000000000005,"cache_write":0.325,"completion":0.78,"id":"qwen/qwen-plus","prompt":0.26},{"cache_read":0.275,"cache_write":0.0,"completion":2.2,"id":"openai/o3-mini:batch","prompt":0.55},{"cache_read":0.0,"cache_write":0.0,"completion":0.08,"id":"mistralai/mistral-small-24b-instruct-2501","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"perplexity/sonar","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.14,"id":"microsoft/phi-4","prompt":0.07},{"cache_read":0.0,"cache_write":0.0,"completion":0.8899999999999999,"id":"deepseek/deepseek-chat","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":0.15,"id":"cohere/command-r7b-12-2024","prompt":0.0375},{"cache_read":0.71,"cache_write":0.0,"completion":0.71,"id":"meta-llama/llama-3.3-70b-instruct","prompt":0.71},{"cache_read":0.0,"cache_write":0.0,"completion":0.24,"id":"amazon/nova-lite-v1","prompt":0.06},{"cache_read":0.0,"cache_write":0.0,"completion":0.14,"id":"amazon/nova-micro-v1","prompt":0.035},{"cache_read":0.0,"cache_write":0.0,"completion":3.1999999999999997,"id":"amazon/nova-pro-v1","prompt":0.7999999999999999},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o-2024-11-20","prompt":2.5},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mistral-large-2407","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen-2.5-coder-32b-instruct","prompt":0.66},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"thedrummer/unslopnemo-12b","prompt":0.39999999999999997},{"cache_read":2.5,"cache_write":0.0,"completion":5.0,"id":"anthracite-org/magnum-v4-72b","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"qwen/qwen-2.5-7b-instruct","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.201,"id":"meta-llama/llama-3.2-1b-instruct","prompt":0.027},{"cache_read":0.0,"cache_write":0.0,"completion":0.33,"id":"meta-llama/llama-3.2-3b-instruct","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"qwen/qwen-2.5-72b-instruct","prompt":0.36},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"cohere/command-r-08-2024","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"cohere/command-r-plus-08-2024","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.85,"id":"sao10k/l3.1-euryale-70b","prompt":0.85},{"cache_read":0.0,"cache_write":0.0,"completion":0.049999999999999996,"id":"sao10k/l3-lunaris-8b","prompt":0.04},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o-2024-08-06","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.72,"id":"meta-llama/llama-3.1-70b-instruct","prompt":0.72},{"cache_read":0.0,"cache_write":0.0,"completion":0.04,"id":"meta-llama/llama-3.1-8b-instruct","prompt":0.02},{"cache_read":0.0,"cache_write":0.0,"completion":0.03,"id":"mistralai/mistral-nemo","prompt":0.029},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-4o-mini","prompt":0.15},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-4o-mini-2024-07-18","prompt":0.15},{"cache_read":0.0375,"cache_write":0.0,"completion":0.3,"id":"openai/gpt-4o-mini:batch","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":0.65,"id":"google/gemma-2-27b-it","prompt":0.65},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-4o-2024-05-13","prompt":5.0},{"cache_read":0.625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-4o:batch","prompt":1.25},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mixtral-8x22b-instruct","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-4-turbo:batch","prompt":5.0},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mistral-large","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-3.5-turbo-0613","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":4.0,"id":"openai/gpt-3.5-turbo-16k","prompt":3.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":0.75,"id":"mancer/weaver","prompt":0.39999999999999997},{"cache_read":0.35,"cache_write":0.0,"completion":0.65,"id":"undi95/remm-slerp-l2-13b","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.11,"id":"gryphe/mythomax-l2-13b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":60.0,"id":"openai/gpt-4","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto-code","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"typesafe/jev-router","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"nvidia/switchyard","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto-beta","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/fusion","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/pareto-code","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"openrouter/free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/bodybuilder","prompt":-1000000.0}],"version":1}
Binary file
package/install.ps1 ADDED
@@ -0,0 +1,38 @@
1
+ # costcrew installer for Windows
2
+ # powershell -c "irm https://raw.githubusercontent.com/Arch087146/costcrew/main/install.ps1 | iex"
3
+ $ErrorActionPreference = "Stop"
4
+
5
+ $Repo = "Arch087146/costcrew"
6
+ $Asset = "costcrew-windows-x86_64.zip"
7
+ $Url = "https://github.com/$Repo/releases/latest/download/$Asset"
8
+
9
+ $Dest = if ($env:COSTCREW_INSTALL_DIR) {
10
+ $env:COSTCREW_INSTALL_DIR
11
+ } else {
12
+ Join-Path $env:LOCALAPPDATA "Programs\costcrew"
13
+ }
14
+ New-Item -ItemType Directory -Force -Path $Dest | Out-Null
15
+
16
+ $tmp = New-Item -ItemType Directory -Force -Path (Join-Path $env:TEMP "costcrew-install")
17
+ $zip = Join-Path $tmp $Asset
18
+
19
+ Write-Host "fetching $Asset ..."
20
+ Invoke-WebRequest -Uri $Url -OutFile $zip -UseBasicParsing
21
+ Expand-Archive -Path $zip -DestinationPath $tmp -Force
22
+
23
+ Move-Item (Join-Path $tmp "costcrew.exe") (Join-Path $Dest "costcrew.exe") -Force
24
+
25
+ # make sure it's on PATH for future sessions
26
+ $dirOnPath = [Environment]::GetEnvironmentVariable("Path", "User") -split ";" -contains $Dest
27
+ if (-not $dirOnPath) {
28
+ [Environment]::SetEnvironmentVariable(
29
+ "Path",
30
+ [Environment]::GetEnvironmentVariable("Path", "User") + ";$Dest",
31
+ "User"
32
+ )
33
+ Write-Host "added $Dest to your user PATH (new shells will see it)"
34
+ }
35
+
36
+ & (Join-Path $Dest "costcrew.exe") --version
37
+ Write-Host ""
38
+ Write-Host "run costcrew in a NEW shell to open the app"