@alexnetrebskii/hive-agent 2.24.0 → 2.26.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Output sanitizer — strips reasoning-channel artifacts that some OpenRouter
3
+ * models (e.g. Gemma-4 harmony-style) emit as plain text in message content.
4
+ * Applied inside OpenRouterProvider so sanitized text flows out as part of
5
+ * LLMResponse; downstream code never sees raw artifacts.
6
+ */
7
+ export declare function defaultSanitize(text: string): string;
8
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOpD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Output sanitizer — strips reasoning-channel artifacts that some OpenRouter
3
+ * models (e.g. Gemma-4 harmony-style) emit as plain text in message content.
4
+ * Applied inside OpenRouterProvider so sanitized text flows out as part of
5
+ * LLMResponse; downstream code never sees raw artifacts.
6
+ */
7
+ const CHANNEL_HEADER_RE = /<\|?channel\|?>\s*\w+\s*<\|?(channel|message)\|?>/gi;
8
+ const STRAY_MARKER_RE = /<\|?(message|end|start|return)\|?>/gi;
9
+ const LEADING_THOUGHT_RE = /^[\t ]*thought[\t ]*\r?\n/;
10
+ export function defaultSanitize(text) {
11
+ let out = text.replace(CHANNEL_HEADER_RE, '');
12
+ out = out.replace(STRAY_MARKER_RE, '');
13
+ while (LEADING_THOUGHT_RE.test(out)) {
14
+ out = out.replace(LEADING_THOUGHT_RE, '');
15
+ }
16
+ return out.replace(/^\s+/, '');
17
+ }
18
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,iBAAiB,GAAG,qDAAqD,CAAA;AAC/E,MAAM,eAAe,GAAG,sCAAsC,CAAA;AAC9D,MAAM,kBAAkB,GAAG,2BAA2B,CAAA;AAEtD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC7C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IACtC,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sanitize.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.test.d.ts","sourceRoot":"","sources":["../src/sanitize.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { defaultSanitize } from './sanitize.js';
3
+ describe('defaultSanitize', () => {
4
+ it('strips leading thought\\n', () => {
5
+ expect(defaultSanitize('thought\nHello')).toBe('Hello');
6
+ });
7
+ it('strips harmony channel wrapper', () => {
8
+ const input = 'thought\n<|channel>thought\n<channel|>Real reply';
9
+ expect(defaultSanitize(input)).toBe('Real reply');
10
+ });
11
+ it('handles symmetric harmony tokens', () => {
12
+ const input = '<|channel|>analysis<|message|>reasoning<|end|><|channel|>final<|message|>Answer<|end|>';
13
+ const out = defaultSanitize(input);
14
+ expect(out).not.toMatch(/<\|?/);
15
+ expect(out).not.toContain('channel');
16
+ expect(out).not.toContain('message');
17
+ expect(out).not.toContain('end');
18
+ expect(out).toContain('Answer');
19
+ });
20
+ it('is a no-op on clean text', () => {
21
+ expect(defaultSanitize('Hello world')).toBe('Hello world');
22
+ });
23
+ it('returns empty string when the entire text is an artifact', () => {
24
+ expect(defaultSanitize('thought\n')).toBe('');
25
+ });
26
+ });
27
+ //# sourceMappingURL=sanitize.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.test.js","sourceRoot":"","sources":["../src/sanitize.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,KAAK,GAAG,kDAAkD,CAAA;QAChE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GACT,wFAAwF,CAAA;QAC1F,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * OpenRouter Model Pricing (auto-generated)
3
3
  *
4
- * Fetched from https://openrouter.ai/api/v1/models on 2026-02-08
4
+ * Fetched from https://openrouter.ai/api/v1/models on 2026-04-11
5
5
  * To refresh: OpenRouterProvider.fetchModelPricing()
6
6
  */
7
7
  import type { ModelPricing } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-pricing.d.ts","sourceRoot":"","sources":["../../src/trace/openrouter-pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAyTjE,CAAA"}
1
+ {"version":3,"file":"openrouter-pricing.d.ts","sourceRoot":"","sources":["../../src/trace/openrouter-pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAoUjE,CAAA"}
@@ -1,24 +1,20 @@
1
1
  /**
2
2
  * OpenRouter Model Pricing (auto-generated)
3
3
  *
4
- * Fetched from https://openrouter.ai/api/v1/models on 2026-02-08
4
+ * Fetched from https://openrouter.ai/api/v1/models on 2026-04-11
5
5
  * To refresh: OpenRouterProvider.fetchModelPricing()
6
6
  */
7
7
  export const OPENROUTER_MODEL_PRICING = {
8
8
  'openrouter:ai21/jamba-large-1.7': { inputPer1M: 2, outputPer1M: 8 },
9
- 'openrouter:ai21/jamba-mini-1.7': { inputPer1M: 0.2, outputPer1M: 0.4 },
10
9
  'openrouter:aion-labs/aion-1.0': { inputPer1M: 4, outputPer1M: 8 },
11
10
  'openrouter:aion-labs/aion-1.0-mini': { inputPer1M: 0.7, outputPer1M: 1.4 },
11
+ 'openrouter:aion-labs/aion-2.0': { inputPer1M: 0.8, outputPer1M: 1.6, cacheReadPer1M: 0.2 },
12
12
  'openrouter:aion-labs/aion-rp-llama-3.1-8b': { inputPer1M: 0.8, outputPer1M: 1.6 },
13
13
  'openrouter:alfredpros/codellama-7b-instruct-solidity': { inputPer1M: 0.8, outputPer1M: 1.2 },
14
14
  'openrouter:alibaba/tongyi-deepresearch-30b-a3b': { inputPer1M: 0.09, outputPer1M: 0.45, cacheReadPer1M: 0.09 },
15
- 'openrouter:allenai/molmo-2-8b': { inputPer1M: 0.2, outputPer1M: 0.2 },
16
15
  'openrouter:allenai/olmo-2-0325-32b-instruct': { inputPer1M: 0.05, outputPer1M: 0.2 },
17
16
  'openrouter:allenai/olmo-3-32b-think': { inputPer1M: 0.15, outputPer1M: 0.5 },
18
- 'openrouter:allenai/olmo-3-7b-instruct': { inputPer1M: 0.1, outputPer1M: 0.2 },
19
- 'openrouter:allenai/olmo-3-7b-think': { inputPer1M: 0.12, outputPer1M: 0.2 },
20
17
  'openrouter:allenai/olmo-3.1-32b-instruct': { inputPer1M: 0.2, outputPer1M: 0.6 },
21
- 'openrouter:allenai/olmo-3.1-32b-think': { inputPer1M: 0.15, outputPer1M: 0.5 },
22
18
  'openrouter:alpindale/goliath-120b': { inputPer1M: 3.75, outputPer1M: 7.5 },
23
19
  'openrouter:amazon/nova-2-lite-v1': { inputPer1M: 0.3, outputPer1M: 2.5 },
24
20
  'openrouter:amazon/nova-lite-v1': { inputPer1M: 0.06, outputPer1M: 0.24 },
@@ -28,7 +24,6 @@ export const OPENROUTER_MODEL_PRICING = {
28
24
  'openrouter:anthracite-org/magnum-v4-72b': { inputPer1M: 3, outputPer1M: 5 },
29
25
  'openrouter:anthropic/claude-3-haiku': { inputPer1M: 0.25, outputPer1M: 1.25, cacheWritePer1M: 0.3, cacheReadPer1M: 0.03 },
30
26
  'openrouter:anthropic/claude-3.5-haiku': { inputPer1M: 0.8, outputPer1M: 4, cacheWritePer1M: 1, cacheReadPer1M: 0.08 },
31
- 'openrouter:anthropic/claude-3.5-sonnet': { inputPer1M: 6, outputPer1M: 30 },
32
27
  'openrouter:anthropic/claude-3.7-sonnet': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
33
28
  'openrouter:anthropic/claude-3.7-sonnet:thinking': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
34
29
  'openrouter:anthropic/claude-haiku-4.5': { inputPer1M: 1, outputPer1M: 5, cacheWritePer1M: 1.25, cacheReadPer1M: 0.1 },
@@ -36,11 +31,14 @@ export const OPENROUTER_MODEL_PRICING = {
36
31
  'openrouter:anthropic/claude-opus-4.1': { inputPer1M: 15, outputPer1M: 75, cacheWritePer1M: 18.75, cacheReadPer1M: 1.5 },
37
32
  'openrouter:anthropic/claude-opus-4.5': { inputPer1M: 5, outputPer1M: 25, cacheWritePer1M: 6.25, cacheReadPer1M: 0.5 },
38
33
  'openrouter:anthropic/claude-opus-4.6': { inputPer1M: 5, outputPer1M: 25, cacheWritePer1M: 6.25, cacheReadPer1M: 0.5 },
34
+ 'openrouter:anthropic/claude-opus-4.6-fast': { inputPer1M: 30, outputPer1M: 150, cacheWritePer1M: 37.5, cacheReadPer1M: 3 },
39
35
  'openrouter:anthropic/claude-sonnet-4': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
40
36
  'openrouter:anthropic/claude-sonnet-4.5': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
37
+ 'openrouter:anthropic/claude-sonnet-4.6': { inputPer1M: 3, outputPer1M: 15, cacheWritePer1M: 3.75, cacheReadPer1M: 0.3 },
41
38
  'openrouter:arcee-ai/coder-large': { inputPer1M: 0.5, outputPer1M: 0.8 },
42
39
  'openrouter:arcee-ai/maestro-reasoning': { inputPer1M: 0.9, outputPer1M: 3.3 },
43
40
  'openrouter:arcee-ai/spotlight': { inputPer1M: 0.18, outputPer1M: 0.18 },
41
+ 'openrouter:arcee-ai/trinity-large-thinking': { inputPer1M: 0.22, outputPer1M: 0.85 },
44
42
  'openrouter:arcee-ai/trinity-mini': { inputPer1M: 0.045, outputPer1M: 0.15 },
45
43
  'openrouter:arcee-ai/virtuoso-large': { inputPer1M: 0.75, outputPer1M: 1.2 },
46
44
  'openrouter:baidu/ernie-4.5-21b-a3b': { inputPer1M: 0.07, outputPer1M: 0.28 },
@@ -50,133 +48,126 @@ export const OPENROUTER_MODEL_PRICING = {
50
48
  'openrouter:baidu/ernie-4.5-vl-424b-a47b': { inputPer1M: 0.42, outputPer1M: 1.25 },
51
49
  'openrouter:bytedance-seed/seed-1.6': { inputPer1M: 0.25, outputPer1M: 2 },
52
50
  'openrouter:bytedance-seed/seed-1.6-flash': { inputPer1M: 0.075, outputPer1M: 0.3 },
51
+ 'openrouter:bytedance-seed/seed-2.0-lite': { inputPer1M: 0.25, outputPer1M: 2 },
52
+ 'openrouter:bytedance-seed/seed-2.0-mini': { inputPer1M: 0.1, outputPer1M: 0.4 },
53
53
  'openrouter:bytedance/ui-tars-1.5-7b': { inputPer1M: 0.1, outputPer1M: 0.2 },
54
54
  'openrouter:cohere/command-a': { inputPer1M: 2.5, outputPer1M: 10 },
55
55
  'openrouter:cohere/command-r-08-2024': { inputPer1M: 0.15, outputPer1M: 0.6 },
56
56
  'openrouter:cohere/command-r-plus-08-2024': { inputPer1M: 2.5, outputPer1M: 10 },
57
57
  'openrouter:cohere/command-r7b-12-2024': { inputPer1M: 0.0375, outputPer1M: 0.15 },
58
58
  'openrouter:deepcogito/cogito-v2.1-671b': { inputPer1M: 1.25, outputPer1M: 1.25 },
59
- 'openrouter:deepseek/deepseek-chat': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.15 },
60
- 'openrouter:deepseek/deepseek-chat-v3-0324': { inputPer1M: 0.19, outputPer1M: 0.87, cacheReadPer1M: 0.095 },
59
+ 'openrouter:deepseek/deepseek-chat': { inputPer1M: 0.32, outputPer1M: 0.89 },
60
+ 'openrouter:deepseek/deepseek-chat-v3-0324': { inputPer1M: 0.2, outputPer1M: 0.77, cacheReadPer1M: 0.135 },
61
61
  'openrouter:deepseek/deepseek-chat-v3.1': { inputPer1M: 0.15, outputPer1M: 0.75 },
62
62
  'openrouter:deepseek/deepseek-r1': { inputPer1M: 0.7, outputPer1M: 2.5 },
63
- 'openrouter:deepseek/deepseek-r1-0528': { inputPer1M: 0.4, outputPer1M: 1.75, cacheReadPer1M: 0.2 },
64
- 'openrouter:deepseek/deepseek-r1-distill-llama-70b': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
63
+ 'openrouter:deepseek/deepseek-r1-0528': { inputPer1M: 0.45, outputPer1M: 2.15, cacheReadPer1M: 0.225 },
64
+ 'openrouter:deepseek/deepseek-r1-distill-llama-70b': { inputPer1M: 0.7, outputPer1M: 0.8 },
65
65
  'openrouter:deepseek/deepseek-r1-distill-qwen-32b': { inputPer1M: 0.29, outputPer1M: 0.29 },
66
- 'openrouter:deepseek/deepseek-v3.1-terminus': { inputPer1M: 0.21, outputPer1M: 0.79, cacheReadPer1M: 0.13 },
67
- 'openrouter:deepseek/deepseek-v3.1-terminus:exacto': { inputPer1M: 0.21, outputPer1M: 0.79, cacheReadPer1M: 0.168 },
68
- 'openrouter:deepseek/deepseek-v3.2': { inputPer1M: 0.25, outputPer1M: 0.38, cacheReadPer1M: 0.125 },
66
+ 'openrouter:deepseek/deepseek-v3.1-terminus': { inputPer1M: 0.21, outputPer1M: 0.79, cacheReadPer1M: 0.1300000002 },
67
+ 'openrouter:deepseek/deepseek-v3.2': { inputPer1M: 0.26, outputPer1M: 0.38, cacheReadPer1M: 0.13 },
69
68
  'openrouter:deepseek/deepseek-v3.2-exp': { inputPer1M: 0.27, outputPer1M: 0.41 },
70
- 'openrouter:deepseek/deepseek-v3.2-speciale': { inputPer1M: 0.27, outputPer1M: 0.41, cacheReadPer1M: 0.135 },
69
+ 'openrouter:deepseek/deepseek-v3.2-speciale': { inputPer1M: 0.4, outputPer1M: 1.2, cacheReadPer1M: 0.2 },
71
70
  'openrouter:eleutherai/llemma_7b': { inputPer1M: 0.8, outputPer1M: 1.2 },
72
71
  'openrouter:essentialai/rnj-1-instruct': { inputPer1M: 0.15, outputPer1M: 0.15 },
73
- 'openrouter:google/gemini-2.0-flash-001': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.025 },
72
+ 'openrouter:google/gemini-2.0-flash-001': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.025 },
74
73
  'openrouter:google/gemini-2.0-flash-lite-001': { inputPer1M: 0.075, outputPer1M: 0.3 },
75
- 'openrouter:google/gemini-2.5-flash': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
76
- 'openrouter:google/gemini-2.5-flash-image': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
77
- 'openrouter:google/gemini-2.5-flash-lite': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.01 },
78
- 'openrouter:google/gemini-2.5-flash-lite-preview-09-2025': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.01 },
79
- 'openrouter:google/gemini-2.5-flash-preview-09-2025': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.03 },
74
+ 'openrouter:google/gemini-2.5-flash': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.03 },
75
+ 'openrouter:google/gemini-2.5-flash-image': { inputPer1M: 0.3, outputPer1M: 2.5, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.03 },
76
+ 'openrouter:google/gemini-2.5-flash-lite': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.01 },
77
+ 'openrouter:google/gemini-2.5-flash-lite-preview-09-2025': { inputPer1M: 0.1, outputPer1M: 0.4, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.01 },
80
78
  'openrouter:google/gemini-2.5-pro': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
81
79
  'openrouter:google/gemini-2.5-pro-preview': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
82
80
  'openrouter:google/gemini-2.5-pro-preview-05-06': { inputPer1M: 1.25, outputPer1M: 10, cacheWritePer1M: 0.375, cacheReadPer1M: 0.125 },
83
- 'openrouter:google/gemini-3-flash-preview': { inputPer1M: 0.5, outputPer1M: 3, cacheWritePer1M: 0.0833333, cacheReadPer1M: 0.05 },
81
+ 'openrouter:google/gemini-3-flash-preview': { inputPer1M: 0.5, outputPer1M: 3, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.05 },
84
82
  'openrouter:google/gemini-3-pro-image-preview': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
85
- 'openrouter:google/gemini-3-pro-preview': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
83
+ 'openrouter:google/gemini-3.1-flash-image-preview': { inputPer1M: 0.5, outputPer1M: 3 },
84
+ 'openrouter:google/gemini-3.1-flash-lite-preview': { inputPer1M: 0.25, outputPer1M: 1.5, cacheWritePer1M: 0.0833333333333333, cacheReadPer1M: 0.025 },
85
+ 'openrouter:google/gemini-3.1-pro-preview': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
86
+ 'openrouter:google/gemini-3.1-pro-preview-customtools': { inputPer1M: 2, outputPer1M: 12, cacheWritePer1M: 0.375, cacheReadPer1M: 0.2 },
86
87
  'openrouter:google/gemma-2-27b-it': { inputPer1M: 0.65, outputPer1M: 0.65 },
87
88
  'openrouter:google/gemma-2-9b-it': { inputPer1M: 0.03, outputPer1M: 0.09 },
88
- 'openrouter:google/gemma-3-12b-it': { inputPer1M: 0.03, outputPer1M: 0.1, cacheReadPer1M: 0.015 },
89
- 'openrouter:google/gemma-3-27b-it': { inputPer1M: 0.04, outputPer1M: 0.15, cacheReadPer1M: 0.02 },
90
- 'openrouter:google/gemma-3-4b-it': { inputPer1M: 0.0170301, outputPer1M: 0.0681536 },
89
+ 'openrouter:google/gemma-3-12b-it': { inputPer1M: 0.04, outputPer1M: 0.13 },
90
+ 'openrouter:google/gemma-3-27b-it': { inputPer1M: 0.08, outputPer1M: 0.16 },
91
+ 'openrouter:google/gemma-3-4b-it': { inputPer1M: 0.04, outputPer1M: 0.08 },
91
92
  'openrouter:google/gemma-3n-e4b-it': { inputPer1M: 0.02, outputPer1M: 0.04 },
93
+ 'openrouter:google/gemma-4-26b-a4b-it': { inputPer1M: 0.12, outputPer1M: 0.4 },
94
+ 'openrouter:google/gemma-4-31b-it': { inputPer1M: 0.14, outputPer1M: 0.4 },
92
95
  'openrouter:gryphe/mythomax-l2-13b': { inputPer1M: 0.06, outputPer1M: 0.06 },
93
96
  'openrouter:ibm-granite/granite-4.0-h-micro': { inputPer1M: 0.017, outputPer1M: 0.11 },
94
- 'openrouter:inception/mercury': { inputPer1M: 0.25, outputPer1M: 1 },
95
- 'openrouter:inception/mercury-coder': { inputPer1M: 0.25, outputPer1M: 1 },
97
+ 'openrouter:inception/mercury': { inputPer1M: 0.25, outputPer1M: 0.75, cacheReadPer1M: 0.025 },
98
+ 'openrouter:inception/mercury-2': { inputPer1M: 0.25, outputPer1M: 0.75, cacheReadPer1M: 0.025 },
99
+ 'openrouter:inception/mercury-coder': { inputPer1M: 0.25, outputPer1M: 0.75, cacheReadPer1M: 0.025 },
96
100
  'openrouter:inflection/inflection-3-pi': { inputPer1M: 2.5, outputPer1M: 10 },
97
101
  'openrouter:inflection/inflection-3-productivity': { inputPer1M: 2.5, outputPer1M: 10 },
98
- 'openrouter:kwaipilot/kat-coder-pro': { inputPer1M: 0.207, outputPer1M: 0.828, cacheReadPer1M: 0.0414 },
99
- 'openrouter:liquid/lfm-2.2-6b': { inputPer1M: 0.01, outputPer1M: 0.02 },
100
- 'openrouter:liquid/lfm2-8b-a1b': { inputPer1M: 0.01, outputPer1M: 0.02 },
102
+ 'openrouter:kwaipilot/kat-coder-pro-v2': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.06 },
103
+ 'openrouter:liquid/lfm-2-24b-a2b': { inputPer1M: 0.03, outputPer1M: 0.12 },
101
104
  'openrouter:mancer/weaver': { inputPer1M: 0.75, outputPer1M: 1 },
102
105
  'openrouter:meituan/longcat-flash-chat': { inputPer1M: 0.2, outputPer1M: 0.8, cacheReadPer1M: 0.2 },
103
106
  'openrouter:meta-llama/llama-3-70b-instruct': { inputPer1M: 0.51, outputPer1M: 0.74 },
104
107
  'openrouter:meta-llama/llama-3-8b-instruct': { inputPer1M: 0.03, outputPer1M: 0.04 },
105
- 'openrouter:meta-llama/llama-3.1-405b': { inputPer1M: 4, outputPer1M: 4 },
106
- 'openrouter:meta-llama/llama-3.1-405b-instruct': { inputPer1M: 4, outputPer1M: 4 },
107
108
  'openrouter:meta-llama/llama-3.1-70b-instruct': { inputPer1M: 0.4, outputPer1M: 0.4 },
108
109
  'openrouter:meta-llama/llama-3.1-8b-instruct': { inputPer1M: 0.02, outputPer1M: 0.05 },
109
- 'openrouter:meta-llama/llama-3.2-11b-vision-instruct': { inputPer1M: 0.049, outputPer1M: 0.049 },
110
+ 'openrouter:meta-llama/llama-3.2-11b-vision-instruct': { inputPer1M: 0.245, outputPer1M: 0.245 },
110
111
  'openrouter:meta-llama/llama-3.2-1b-instruct': { inputPer1M: 0.027, outputPer1M: 0.2 },
111
- 'openrouter:meta-llama/llama-3.2-3b-instruct': { inputPer1M: 0.02, outputPer1M: 0.02 },
112
+ 'openrouter:meta-llama/llama-3.2-3b-instruct': { inputPer1M: 0.051, outputPer1M: 0.34 },
112
113
  'openrouter:meta-llama/llama-3.3-70b-instruct': { inputPer1M: 0.1, outputPer1M: 0.32 },
113
114
  'openrouter:meta-llama/llama-4-maverick': { inputPer1M: 0.15, outputPer1M: 0.6 },
114
115
  'openrouter:meta-llama/llama-4-scout': { inputPer1M: 0.08, outputPer1M: 0.3 },
115
- 'openrouter:meta-llama/llama-guard-2-8b': { inputPer1M: 0.2, outputPer1M: 0.2 },
116
116
  'openrouter:meta-llama/llama-guard-3-8b': { inputPer1M: 0.02, outputPer1M: 0.06 },
117
117
  'openrouter:meta-llama/llama-guard-4-12b': { inputPer1M: 0.18, outputPer1M: 0.18 },
118
- 'openrouter:microsoft/phi-4': { inputPer1M: 0.06, outputPer1M: 0.14 },
119
- 'openrouter:microsoft/wizardlm-2-8x22b': { inputPer1M: 0.48, outputPer1M: 0.48 },
118
+ 'openrouter:microsoft/phi-4': { inputPer1M: 0.065, outputPer1M: 0.14 },
119
+ 'openrouter:microsoft/wizardlm-2-8x22b': { inputPer1M: 0.62, outputPer1M: 0.62 },
120
120
  'openrouter:minimax/minimax-01': { inputPer1M: 0.2, outputPer1M: 1.1 },
121
121
  'openrouter:minimax/minimax-m1': { inputPer1M: 0.4, outputPer1M: 2.2 },
122
122
  'openrouter:minimax/minimax-m2': { inputPer1M: 0.255, outputPer1M: 1, cacheReadPer1M: 0.03 },
123
123
  'openrouter:minimax/minimax-m2-her': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.03 },
124
- 'openrouter:minimax/minimax-m2.1': { inputPer1M: 0.27, outputPer1M: 0.95, cacheReadPer1M: 0.03 },
125
- 'openrouter:mistralai/codestral-2508': { inputPer1M: 0.3, outputPer1M: 0.9 },
126
- 'openrouter:mistralai/devstral-2512': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
127
- 'openrouter:mistralai/devstral-medium': { inputPer1M: 0.4, outputPer1M: 2 },
128
- 'openrouter:mistralai/devstral-small': { inputPer1M: 0.1, outputPer1M: 0.3 },
129
- 'openrouter:mistralai/ministral-14b-2512': { inputPer1M: 0.2, outputPer1M: 0.2 },
130
- 'openrouter:mistralai/ministral-3b': { inputPer1M: 0.04, outputPer1M: 0.04 },
131
- 'openrouter:mistralai/ministral-3b-2512': { inputPer1M: 0.1, outputPer1M: 0.1 },
132
- 'openrouter:mistralai/ministral-8b': { inputPer1M: 0.1, outputPer1M: 0.1 },
133
- 'openrouter:mistralai/ministral-8b-2512': { inputPer1M: 0.15, outputPer1M: 0.15 },
134
- 'openrouter:mistralai/mistral-7b-instruct': { inputPer1M: 0.2, outputPer1M: 0.2 },
124
+ 'openrouter:minimax/minimax-m2.1': { inputPer1M: 0.29, outputPer1M: 0.95, cacheReadPer1M: 0.03 },
125
+ 'openrouter:minimax/minimax-m2.5': { inputPer1M: 0.118, outputPer1M: 0.99, cacheReadPer1M: 0.059 },
126
+ 'openrouter:minimax/minimax-m2.7': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.06 },
127
+ 'openrouter:mistralai/codestral-2508': { inputPer1M: 0.3, outputPer1M: 0.9, cacheReadPer1M: 0.03 },
128
+ 'openrouter:mistralai/devstral-2512': { inputPer1M: 0.4, outputPer1M: 2, cacheReadPer1M: 0.04 },
129
+ 'openrouter:mistralai/devstral-medium': { inputPer1M: 0.4, outputPer1M: 2, cacheReadPer1M: 0.04 },
130
+ 'openrouter:mistralai/devstral-small': { inputPer1M: 0.1, outputPer1M: 0.3, cacheReadPer1M: 0.01 },
131
+ 'openrouter:mistralai/ministral-14b-2512': { inputPer1M: 0.2, outputPer1M: 0.2, cacheReadPer1M: 0.02 },
132
+ 'openrouter:mistralai/ministral-3b-2512': { inputPer1M: 0.1, outputPer1M: 0.1, cacheReadPer1M: 0.01 },
133
+ 'openrouter:mistralai/ministral-8b-2512': { inputPer1M: 0.15, outputPer1M: 0.15, cacheReadPer1M: 0.015 },
135
134
  'openrouter:mistralai/mistral-7b-instruct-v0.1': { inputPer1M: 0.11, outputPer1M: 0.19 },
136
- 'openrouter:mistralai/mistral-7b-instruct-v0.2': { inputPer1M: 0.2, outputPer1M: 0.2 },
137
- 'openrouter:mistralai/mistral-7b-instruct-v0.3': { inputPer1M: 0.2, outputPer1M: 0.2 },
138
- 'openrouter:mistralai/mistral-large': { inputPer1M: 2, outputPer1M: 6 },
139
- 'openrouter:mistralai/mistral-large-2407': { inputPer1M: 2, outputPer1M: 6 },
140
- 'openrouter:mistralai/mistral-large-2411': { inputPer1M: 2, outputPer1M: 6 },
141
- 'openrouter:mistralai/mistral-large-2512': { inputPer1M: 0.5, outputPer1M: 1.5 },
142
- 'openrouter:mistralai/mistral-medium-3': { inputPer1M: 0.4, outputPer1M: 2 },
143
- 'openrouter:mistralai/mistral-medium-3.1': { inputPer1M: 0.4, outputPer1M: 2 },
135
+ 'openrouter:mistralai/mistral-large': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
136
+ 'openrouter:mistralai/mistral-large-2407': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
137
+ 'openrouter:mistralai/mistral-large-2411': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
138
+ 'openrouter:mistralai/mistral-large-2512': { inputPer1M: 0.5, outputPer1M: 1.5, cacheReadPer1M: 0.05 },
139
+ 'openrouter:mistralai/mistral-medium-3': { inputPer1M: 0.4, outputPer1M: 2, cacheReadPer1M: 0.04 },
140
+ 'openrouter:mistralai/mistral-medium-3.1': { inputPer1M: 0.4, outputPer1M: 2, cacheReadPer1M: 0.04 },
144
141
  'openrouter:mistralai/mistral-nemo': { inputPer1M: 0.02, outputPer1M: 0.04 },
145
- 'openrouter:mistralai/mistral-saba': { inputPer1M: 0.2, outputPer1M: 0.6 },
142
+ 'openrouter:mistralai/mistral-saba': { inputPer1M: 0.2, outputPer1M: 0.6, cacheReadPer1M: 0.02 },
146
143
  'openrouter:mistralai/mistral-small-24b-instruct-2501': { inputPer1M: 0.05, outputPer1M: 0.08 },
144
+ 'openrouter:mistralai/mistral-small-2603': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.015 },
147
145
  'openrouter:mistralai/mistral-small-3.1-24b-instruct': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
148
- 'openrouter:mistralai/mistral-small-3.2-24b-instruct': { inputPer1M: 0.06, outputPer1M: 0.18, cacheReadPer1M: 0.03 },
149
- 'openrouter:mistralai/mistral-small-creative': { inputPer1M: 0.1, outputPer1M: 0.3 },
150
- 'openrouter:mistralai/mistral-tiny': { inputPer1M: 0.25, outputPer1M: 0.25 },
151
- 'openrouter:mistralai/mixtral-8x22b-instruct': { inputPer1M: 2, outputPer1M: 6 },
146
+ 'openrouter:mistralai/mistral-small-3.2-24b-instruct': { inputPer1M: 0.075, outputPer1M: 0.2 },
147
+ 'openrouter:mistralai/mistral-small-creative': { inputPer1M: 0.1, outputPer1M: 0.3, cacheReadPer1M: 0.01 },
148
+ 'openrouter:mistralai/mixtral-8x22b-instruct': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
152
149
  'openrouter:mistralai/mixtral-8x7b-instruct': { inputPer1M: 0.54, outputPer1M: 0.54 },
153
- 'openrouter:mistralai/pixtral-12b': { inputPer1M: 0.1, outputPer1M: 0.1 },
154
- 'openrouter:mistralai/pixtral-large-2411': { inputPer1M: 2, outputPer1M: 6 },
155
- 'openrouter:mistralai/voxtral-small-24b-2507': { inputPer1M: 0.1, outputPer1M: 0.3 },
156
- 'openrouter:moonshotai/kimi-dev-72b': { inputPer1M: 0.29, outputPer1M: 1.15 },
157
- 'openrouter:moonshotai/kimi-k2': { inputPer1M: 0.5, outputPer1M: 2.4 },
158
- 'openrouter:moonshotai/kimi-k2-0905': { inputPer1M: 0.39, outputPer1M: 1.9, cacheReadPer1M: 0.195 },
159
- 'openrouter:moonshotai/kimi-k2-0905:exacto': { inputPer1M: 0.6, outputPer1M: 2.5 },
160
- 'openrouter:moonshotai/kimi-k2-thinking': { inputPer1M: 0.4, outputPer1M: 1.75, cacheReadPer1M: 0.2 },
161
- 'openrouter:moonshotai/kimi-k2.5': { inputPer1M: 0.45, outputPer1M: 2.25, cacheReadPer1M: 0.07 },
150
+ 'openrouter:mistralai/pixtral-large-2411': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
151
+ 'openrouter:mistralai/voxtral-small-24b-2507': { inputPer1M: 0.1, outputPer1M: 0.3, cacheReadPer1M: 0.01 },
152
+ 'openrouter:moonshotai/kimi-k2': { inputPer1M: 0.57, outputPer1M: 2.3 },
153
+ 'openrouter:moonshotai/kimi-k2-0905': { inputPer1M: 0.4, outputPer1M: 2 },
154
+ 'openrouter:moonshotai/kimi-k2-thinking': { inputPer1M: 0.6, outputPer1M: 2.5 },
155
+ 'openrouter:moonshotai/kimi-k2.5': { inputPer1M: 0.3827, outputPer1M: 1.72, cacheReadPer1M: 0.19135 },
162
156
  'openrouter:morph/morph-v3-fast': { inputPer1M: 0.8, outputPer1M: 1.2 },
163
157
  'openrouter:morph/morph-v3-large': { inputPer1M: 0.9, outputPer1M: 1.9 },
164
- 'openrouter:neversleep/llama-3.1-lumimaid-8b': { inputPer1M: 0.09, outputPer1M: 0.6 },
165
- 'openrouter:neversleep/noromaid-20b': { inputPer1M: 1, outputPer1M: 1.75 },
166
- 'openrouter:nex-agi/deepseek-v3.1-nex-n1': { inputPer1M: 0.27, outputPer1M: 1 },
167
- 'openrouter:nousresearch/deephermes-3-mistral-24b-preview': { inputPer1M: 0.02, outputPer1M: 0.1, cacheReadPer1M: 0.01 },
158
+ 'openrouter:nex-agi/deepseek-v3.1-nex-n1': { inputPer1M: 0.135, outputPer1M: 0.5 },
168
159
  'openrouter:nousresearch/hermes-2-pro-llama-3-8b': { inputPer1M: 0.14, outputPer1M: 0.14 },
169
160
  'openrouter:nousresearch/hermes-3-llama-3.1-405b': { inputPer1M: 1, outputPer1M: 1 },
170
161
  'openrouter:nousresearch/hermes-3-llama-3.1-70b': { inputPer1M: 0.3, outputPer1M: 0.3 },
171
162
  'openrouter:nousresearch/hermes-4-405b': { inputPer1M: 1, outputPer1M: 3 },
172
- 'openrouter:nousresearch/hermes-4-70b': { inputPer1M: 0.11, outputPer1M: 0.38, cacheReadPer1M: 0.055 },
163
+ 'openrouter:nousresearch/hermes-4-70b': { inputPer1M: 0.13, outputPer1M: 0.4 },
173
164
  'openrouter:nvidia/llama-3.1-nemotron-70b-instruct': { inputPer1M: 1.2, outputPer1M: 1.2 },
174
165
  'openrouter:nvidia/llama-3.1-nemotron-ultra-253b-v1': { inputPer1M: 0.6, outputPer1M: 1.8 },
175
166
  'openrouter:nvidia/llama-3.3-nemotron-super-49b-v1.5': { inputPer1M: 0.1, outputPer1M: 0.4 },
176
167
  'openrouter:nvidia/nemotron-3-nano-30b-a3b': { inputPer1M: 0.05, outputPer1M: 0.2 },
168
+ 'openrouter:nvidia/nemotron-3-super-120b-a12b': { inputPer1M: 0.1, outputPer1M: 0.5, cacheReadPer1M: 0.1 },
177
169
  'openrouter:nvidia/nemotron-nano-12b-v2-vl': { inputPer1M: 0.2, outputPer1M: 0.6 },
178
170
  'openrouter:nvidia/nemotron-nano-9b-v2': { inputPer1M: 0.04, outputPer1M: 0.16 },
179
- 'openrouter:openai/chatgpt-4o-latest': { inputPer1M: 5, outputPer1M: 15 },
180
171
  'openrouter:openai/gpt-3.5-turbo': { inputPer1M: 0.5, outputPer1M: 1.5 },
181
172
  'openrouter:openai/gpt-3.5-turbo-0613': { inputPer1M: 1, outputPer1M: 2 },
182
173
  'openrouter:openai/gpt-3.5-turbo-16k': { inputPer1M: 3, outputPer1M: 4 },
@@ -216,10 +207,15 @@ export const OPENROUTER_MODEL_PRICING = {
216
207
  'openrouter:openai/gpt-5.2-chat': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
217
208
  'openrouter:openai/gpt-5.2-codex': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
218
209
  'openrouter:openai/gpt-5.2-pro': { inputPer1M: 21, outputPer1M: 168 },
210
+ 'openrouter:openai/gpt-5.3-chat': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
211
+ 'openrouter:openai/gpt-5.3-codex': { inputPer1M: 1.75, outputPer1M: 14, cacheReadPer1M: 0.175 },
212
+ 'openrouter:openai/gpt-5.4': { inputPer1M: 2.5, outputPer1M: 15, cacheReadPer1M: 0.25 },
213
+ 'openrouter:openai/gpt-5.4-mini': { inputPer1M: 0.75, outputPer1M: 4.5, cacheReadPer1M: 0.075 },
214
+ 'openrouter:openai/gpt-5.4-nano': { inputPer1M: 0.2, outputPer1M: 1.25, cacheReadPer1M: 0.02 },
215
+ 'openrouter:openai/gpt-5.4-pro': { inputPer1M: 30, outputPer1M: 180 },
219
216
  'openrouter:openai/gpt-audio': { inputPer1M: 2.5, outputPer1M: 10 },
220
217
  'openrouter:openai/gpt-audio-mini': { inputPer1M: 0.6, outputPer1M: 2.4 },
221
218
  'openrouter:openai/gpt-oss-120b': { inputPer1M: 0.039, outputPer1M: 0.19 },
222
- 'openrouter:openai/gpt-oss-120b:exacto': { inputPer1M: 0.039, outputPer1M: 0.19 },
223
219
  'openrouter:openai/gpt-oss-20b': { inputPer1M: 0.03, outputPer1M: 0.14 },
224
220
  'openrouter:openai/gpt-oss-safeguard-20b': { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadPer1M: 0.037 },
225
221
  'openrouter:openai/o1': { inputPer1M: 15, outputPer1M: 60, cacheReadPer1M: 7.5 },
@@ -232,7 +228,8 @@ export const OPENROUTER_MODEL_PRICING = {
232
228
  'openrouter:openai/o4-mini': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.275 },
233
229
  'openrouter:openai/o4-mini-deep-research': { inputPer1M: 2, outputPer1M: 8, cacheReadPer1M: 0.5 },
234
230
  'openrouter:openai/o4-mini-high': { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadPer1M: 0.275 },
235
- 'openrouter:opengvlab/internvl3-78b': { inputPer1M: 0.1, outputPer1M: 0.39, cacheReadPer1M: 0.05 },
231
+ 'openrouter:openrouter/auto': { inputPer1M: -1000000, outputPer1M: -1000000 },
232
+ 'openrouter:openrouter/bodybuilder': { inputPer1M: -1000000, outputPer1M: -1000000 },
236
233
  'openrouter:perplexity/sonar': { inputPer1M: 1, outputPer1M: 1 },
237
234
  'openrouter:perplexity/sonar-deep-research': { inputPer1M: 2, outputPer1M: 8 },
238
235
  'openrouter:perplexity/sonar-pro': { inputPer1M: 3, outputPer1M: 15 },
@@ -241,63 +238,70 @@ export const OPENROUTER_MODEL_PRICING = {
241
238
  'openrouter:prime-intellect/intellect-3': { inputPer1M: 0.2, outputPer1M: 1.1 },
242
239
  'openrouter:qwen/qwen-2.5-72b-instruct': { inputPer1M: 0.12, outputPer1M: 0.39 },
243
240
  'openrouter:qwen/qwen-2.5-7b-instruct': { inputPer1M: 0.04, outputPer1M: 0.1 },
244
- 'openrouter:qwen/qwen-2.5-coder-32b-instruct': { inputPer1M: 0.03, outputPer1M: 0.11, cacheReadPer1M: 0.015 },
245
- 'openrouter:qwen/qwen-2.5-vl-7b-instruct': { inputPer1M: 0.2, outputPer1M: 0.2 },
246
- 'openrouter:qwen/qwen-max': { inputPer1M: 1.6, outputPer1M: 6.4, cacheReadPer1M: 0.64 },
247
- 'openrouter:qwen/qwen-plus': { inputPer1M: 0.4, outputPer1M: 1.2, cacheReadPer1M: 0.16 },
248
- 'openrouter:qwen/qwen-plus-2025-07-28': { inputPer1M: 0.4, outputPer1M: 1.2 },
249
- 'openrouter:qwen/qwen-plus-2025-07-28:thinking': { inputPer1M: 0.4, outputPer1M: 4 },
250
- 'openrouter:qwen/qwen-turbo': { inputPer1M: 0.05, outputPer1M: 0.2, cacheReadPer1M: 0.02 },
251
- 'openrouter:qwen/qwen-vl-max': { inputPer1M: 0.8, outputPer1M: 3.2 },
252
- 'openrouter:qwen/qwen-vl-plus': { inputPer1M: 0.21, outputPer1M: 0.63 },
241
+ 'openrouter:qwen/qwen-2.5-coder-32b-instruct': { inputPer1M: 0.66, outputPer1M: 1 },
242
+ 'openrouter:qwen/qwen-max': { inputPer1M: 1.04, outputPer1M: 4.16, cacheReadPer1M: 0.208 },
243
+ 'openrouter:qwen/qwen-plus': { inputPer1M: 0.26, outputPer1M: 0.78, cacheReadPer1M: 0.052 },
244
+ 'openrouter:qwen/qwen-plus-2025-07-28': { inputPer1M: 0.26, outputPer1M: 0.78 },
245
+ 'openrouter:qwen/qwen-plus-2025-07-28:thinking': { inputPer1M: 0.26, outputPer1M: 0.78 },
246
+ 'openrouter:qwen/qwen-turbo': { inputPer1M: 0.0325, outputPer1M: 0.13, cacheReadPer1M: 0.0065 },
247
+ 'openrouter:qwen/qwen-vl-max': { inputPer1M: 0.52, outputPer1M: 2.08 },
248
+ 'openrouter:qwen/qwen-vl-plus': { inputPer1M: 0.1365, outputPer1M: 0.4095, cacheReadPer1M: 0.0273 },
253
249
  'openrouter:qwen/qwen2.5-coder-7b-instruct': { inputPer1M: 0.03, outputPer1M: 0.09 },
254
- 'openrouter:qwen/qwen2.5-vl-32b-instruct': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
255
- 'openrouter:qwen/qwen2.5-vl-72b-instruct': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
256
- 'openrouter:qwen/qwen3-14b': { inputPer1M: 0.05, outputPer1M: 0.22, cacheReadPer1M: 0.025 },
257
- 'openrouter:qwen/qwen3-235b-a22b': { inputPer1M: 0.2, outputPer1M: 0.6 },
250
+ 'openrouter:qwen/qwen2.5-vl-32b-instruct': { inputPer1M: 0.2, outputPer1M: 0.6 },
251
+ 'openrouter:qwen/qwen2.5-vl-72b-instruct': { inputPer1M: 0.8, outputPer1M: 0.8 },
252
+ 'openrouter:qwen/qwen3-14b': { inputPer1M: 0.06, outputPer1M: 0.24 },
253
+ 'openrouter:qwen/qwen3-235b-a22b': { inputPer1M: 0.455, outputPer1M: 1.82 },
258
254
  'openrouter:qwen/qwen3-235b-a22b-2507': { inputPer1M: 0.071, outputPer1M: 0.1 },
259
- 'openrouter:qwen/qwen3-235b-a22b-thinking-2507': { inputPer1M: 0.11, outputPer1M: 0.6, cacheReadPer1M: 0.055 },
260
- 'openrouter:qwen/qwen3-30b-a3b': { inputPer1M: 0.06, outputPer1M: 0.22, cacheReadPer1M: 0.03 },
261
- 'openrouter:qwen/qwen3-30b-a3b-instruct-2507': { inputPer1M: 0.08, outputPer1M: 0.33, cacheReadPer1M: 0.04 },
262
- 'openrouter:qwen/qwen3-30b-a3b-thinking-2507': { inputPer1M: 0.051, outputPer1M: 0.34 },
255
+ 'openrouter:qwen/qwen3-235b-a22b-thinking-2507': { inputPer1M: 0.1495, outputPer1M: 1.495 },
256
+ 'openrouter:qwen/qwen3-30b-a3b': { inputPer1M: 0.08, outputPer1M: 0.28 },
257
+ 'openrouter:qwen/qwen3-30b-a3b-instruct-2507': { inputPer1M: 0.09, outputPer1M: 0.3 },
258
+ 'openrouter:qwen/qwen3-30b-a3b-thinking-2507': { inputPer1M: 0.08, outputPer1M: 0.4, cacheReadPer1M: 0.08 },
263
259
  'openrouter:qwen/qwen3-32b': { inputPer1M: 0.08, outputPer1M: 0.24, cacheReadPer1M: 0.04 },
264
260
  'openrouter:qwen/qwen3-8b': { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadPer1M: 0.05 },
265
261
  'openrouter:qwen/qwen3-coder': { inputPer1M: 0.22, outputPer1M: 1, cacheReadPer1M: 0.022 },
266
262
  'openrouter:qwen/qwen3-coder-30b-a3b-instruct': { inputPer1M: 0.07, outputPer1M: 0.27 },
267
- 'openrouter:qwen/qwen3-coder-flash': { inputPer1M: 0.3, outputPer1M: 1.5, cacheReadPer1M: 0.08 },
268
- 'openrouter:qwen/qwen3-coder-next': { inputPer1M: 0.07, outputPer1M: 0.3, cacheReadPer1M: 0.035 },
269
- 'openrouter:qwen/qwen3-coder-plus': { inputPer1M: 1, outputPer1M: 5, cacheReadPer1M: 0.1 },
270
- 'openrouter:qwen/qwen3-coder:exacto': { inputPer1M: 0.22, outputPer1M: 1.8, cacheReadPer1M: 0.022 },
271
- 'openrouter:qwen/qwen3-max': { inputPer1M: 1.2, outputPer1M: 6, cacheReadPer1M: 0.24 },
263
+ 'openrouter:qwen/qwen3-coder-flash': { inputPer1M: 0.195, outputPer1M: 0.975, cacheReadPer1M: 0.039 },
264
+ 'openrouter:qwen/qwen3-coder-next': { inputPer1M: 0.12, outputPer1M: 0.75, cacheReadPer1M: 0.06 },
265
+ 'openrouter:qwen/qwen3-coder-plus': { inputPer1M: 0.65, outputPer1M: 3.25, cacheReadPer1M: 0.13 },
266
+ 'openrouter:qwen/qwen3-max': { inputPer1M: 0.78, outputPer1M: 3.9, cacheReadPer1M: 0.156 },
267
+ 'openrouter:qwen/qwen3-max-thinking': { inputPer1M: 0.78, outputPer1M: 3.9 },
272
268
  'openrouter:qwen/qwen3-next-80b-a3b-instruct': { inputPer1M: 0.09, outputPer1M: 1.1 },
273
- 'openrouter:qwen/qwen3-next-80b-a3b-thinking': { inputPer1M: 0.15, outputPer1M: 1.2 },
269
+ 'openrouter:qwen/qwen3-next-80b-a3b-thinking': { inputPer1M: 0.0975, outputPer1M: 0.78 },
274
270
  'openrouter:qwen/qwen3-vl-235b-a22b-instruct': { inputPer1M: 0.2, outputPer1M: 0.88, cacheReadPer1M: 0.11 },
275
- 'openrouter:qwen/qwen3-vl-235b-a22b-thinking': { inputPer1M: 0.45, outputPer1M: 3.5 },
276
- 'openrouter:qwen/qwen3-vl-30b-a3b-instruct': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.075 },
277
- 'openrouter:qwen/qwen3-vl-30b-a3b-thinking': { inputPer1M: 0.2, outputPer1M: 1 },
278
- 'openrouter:qwen/qwen3-vl-32b-instruct': { inputPer1M: 0.5, outputPer1M: 1.5 },
271
+ 'openrouter:qwen/qwen3-vl-235b-a22b-thinking': { inputPer1M: 0.26, outputPer1M: 2.6 },
272
+ 'openrouter:qwen/qwen3-vl-30b-a3b-instruct': { inputPer1M: 0.13, outputPer1M: 0.52 },
273
+ 'openrouter:qwen/qwen3-vl-30b-a3b-thinking': { inputPer1M: 0.13, outputPer1M: 1.56 },
274
+ 'openrouter:qwen/qwen3-vl-32b-instruct': { inputPer1M: 0.104, outputPer1M: 0.416 },
279
275
  'openrouter:qwen/qwen3-vl-8b-instruct': { inputPer1M: 0.08, outputPer1M: 0.5 },
280
- 'openrouter:qwen/qwen3-vl-8b-thinking': { inputPer1M: 0.18, outputPer1M: 2.1 },
281
- 'openrouter:qwen/qwq-32b': { inputPer1M: 0.15, outputPer1M: 0.4 },
282
- 'openrouter:raifle/sorcererlm-8x22b': { inputPer1M: 4.5, outputPer1M: 4.5 },
276
+ 'openrouter:qwen/qwen3-vl-8b-thinking': { inputPer1M: 0.117, outputPer1M: 1.365 },
277
+ 'openrouter:qwen/qwen3.5-122b-a10b': { inputPer1M: 0.26, outputPer1M: 2.08 },
278
+ 'openrouter:qwen/qwen3.5-27b': { inputPer1M: 0.195, outputPer1M: 1.56 },
279
+ 'openrouter:qwen/qwen3.5-35b-a3b': { inputPer1M: 0.1625, outputPer1M: 1.3 },
280
+ 'openrouter:qwen/qwen3.5-397b-a17b': { inputPer1M: 0.39, outputPer1M: 2.34 },
281
+ 'openrouter:qwen/qwen3.5-9b': { inputPer1M: 0.05, outputPer1M: 0.15 },
282
+ 'openrouter:qwen/qwen3.5-flash-02-23': { inputPer1M: 0.065, outputPer1M: 0.26 },
283
+ 'openrouter:qwen/qwen3.5-plus-02-15': { inputPer1M: 0.26, outputPer1M: 1.56 },
284
+ 'openrouter:qwen/qwen3.6-plus': { inputPer1M: 0.325, outputPer1M: 1.95 },
285
+ 'openrouter:qwen/qwq-32b': { inputPer1M: 0.15, outputPer1M: 0.58 },
286
+ 'openrouter:rekaai/reka-edge': { inputPer1M: 0.1, outputPer1M: 0.1 },
287
+ 'openrouter:rekaai/reka-flash-3': { inputPer1M: 0.1, outputPer1M: 0.2 },
283
288
  'openrouter:relace/relace-apply-3': { inputPer1M: 0.85, outputPer1M: 1.25 },
284
289
  'openrouter:relace/relace-search': { inputPer1M: 1, outputPer1M: 3 },
285
290
  'openrouter:sao10k/l3-euryale-70b': { inputPer1M: 1.48, outputPer1M: 1.48 },
286
291
  'openrouter:sao10k/l3-lunaris-8b': { inputPer1M: 0.04, outputPer1M: 0.05 },
287
292
  'openrouter:sao10k/l3.1-70b-hanami-x1': { inputPer1M: 3, outputPer1M: 3 },
288
- 'openrouter:sao10k/l3.1-euryale-70b': { inputPer1M: 0.65, outputPer1M: 0.75 },
293
+ 'openrouter:sao10k/l3.1-euryale-70b': { inputPer1M: 0.85, outputPer1M: 0.85 },
289
294
  'openrouter:sao10k/l3.3-euryale-70b': { inputPer1M: 0.65, outputPer1M: 0.75 },
290
- 'openrouter:stepfun-ai/step3': { inputPer1M: 0.57, outputPer1M: 1.42 },
295
+ 'openrouter:stepfun/step-3.5-flash': { inputPer1M: 0.1, outputPer1M: 0.3 },
291
296
  'openrouter:switchpoint/router': { inputPer1M: 0.85, outputPer1M: 3.4 },
292
297
  'openrouter:tencent/hunyuan-a13b-instruct': { inputPer1M: 0.14, outputPer1M: 0.57 },
293
298
  'openrouter:thedrummer/cydonia-24b-v4.1': { inputPer1M: 0.3, outputPer1M: 0.5 },
294
299
  'openrouter:thedrummer/rocinante-12b': { inputPer1M: 0.17, outputPer1M: 0.43 },
295
300
  'openrouter:thedrummer/skyfall-36b-v2': { inputPer1M: 0.55, outputPer1M: 0.8 },
296
301
  'openrouter:thedrummer/unslopnemo-12b': { inputPer1M: 0.4, outputPer1M: 0.4 },
297
- 'openrouter:tngtech/deepseek-r1t-chimera': { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadPer1M: 0.15 },
298
- 'openrouter:tngtech/deepseek-r1t2-chimera': { inputPer1M: 0.25, outputPer1M: 0.85, cacheReadPer1M: 0.125 },
299
- 'openrouter:tngtech/tng-r1t-chimera': { inputPer1M: 0.25, outputPer1M: 0.85, cacheReadPer1M: 0.125 },
302
+ 'openrouter:tngtech/deepseek-r1t2-chimera': { inputPer1M: 0.3, outputPer1M: 1.1, cacheReadPer1M: 0.15 },
300
303
  'openrouter:undi95/remm-slerp-l2-13b': { inputPer1M: 0.45, outputPer1M: 0.65 },
304
+ 'openrouter:upstage/solar-pro-3': { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadPer1M: 0.015 },
301
305
  'openrouter:writer/palmyra-x5': { inputPer1M: 0.6, outputPer1M: 6 },
302
306
  'openrouter:x-ai/grok-3': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
303
307
  'openrouter:x-ai/grok-3-beta': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
@@ -306,16 +310,23 @@ export const OPENROUTER_MODEL_PRICING = {
306
310
  'openrouter:x-ai/grok-4': { inputPer1M: 3, outputPer1M: 15, cacheReadPer1M: 0.75 },
307
311
  'openrouter:x-ai/grok-4-fast': { inputPer1M: 0.2, outputPer1M: 0.5, cacheReadPer1M: 0.05 },
308
312
  'openrouter:x-ai/grok-4.1-fast': { inputPer1M: 0.2, outputPer1M: 0.5, cacheReadPer1M: 0.05 },
313
+ 'openrouter:x-ai/grok-4.20': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
314
+ 'openrouter:x-ai/grok-4.20-multi-agent': { inputPer1M: 2, outputPer1M: 6, cacheReadPer1M: 0.2 },
309
315
  'openrouter:x-ai/grok-code-fast-1': { inputPer1M: 0.2, outputPer1M: 1.5, cacheReadPer1M: 0.02 },
310
316
  'openrouter:xiaomi/mimo-v2-flash': { inputPer1M: 0.09, outputPer1M: 0.29, cacheReadPer1M: 0.045 },
317
+ 'openrouter:xiaomi/mimo-v2-omni': { inputPer1M: 0.4, outputPer1M: 2, cacheReadPer1M: 0.08 },
318
+ 'openrouter:xiaomi/mimo-v2-pro': { inputPer1M: 1, outputPer1M: 3, cacheReadPer1M: 0.2 },
311
319
  'openrouter:z-ai/glm-4-32b': { inputPer1M: 0.1, outputPer1M: 0.1 },
312
- 'openrouter:z-ai/glm-4.5': { inputPer1M: 0.35, outputPer1M: 1.55, cacheReadPer1M: 0.175 },
320
+ 'openrouter:z-ai/glm-4.5': { inputPer1M: 0.6, outputPer1M: 2.2, cacheReadPer1M: 0.11 },
313
321
  'openrouter:z-ai/glm-4.5-air': { inputPer1M: 0.13, outputPer1M: 0.85, cacheReadPer1M: 0.025 },
314
322
  'openrouter:z-ai/glm-4.5v': { inputPer1M: 0.6, outputPer1M: 1.8, cacheReadPer1M: 0.11 },
315
- 'openrouter:z-ai/glm-4.6': { inputPer1M: 0.35, outputPer1M: 1.5, cacheReadPer1M: 0.175 },
316
- 'openrouter:z-ai/glm-4.6:exacto': { inputPer1M: 0.44, outputPer1M: 1.76, cacheReadPer1M: 0.11 },
323
+ 'openrouter:z-ai/glm-4.6': { inputPer1M: 0.39, outputPer1M: 1.9 },
317
324
  'openrouter:z-ai/glm-4.6v': { inputPer1M: 0.3, outputPer1M: 0.9 },
318
- 'openrouter:z-ai/glm-4.7': { inputPer1M: 0.4, outputPer1M: 1.5, cacheReadPer1M: 0.2 },
319
- 'openrouter:z-ai/glm-4.7-flash': { inputPer1M: 0.06, outputPer1M: 0.4, cacheReadPer1M: 0.01 },
325
+ 'openrouter:z-ai/glm-4.7': { inputPer1M: 0.39, outputPer1M: 1.75, cacheReadPer1M: 0.195 },
326
+ 'openrouter:z-ai/glm-4.7-flash': { inputPer1M: 0.06, outputPer1M: 0.4, cacheReadPer1M: 0.0100000002 },
327
+ 'openrouter:z-ai/glm-5': { inputPer1M: 0.72, outputPer1M: 2.3 },
328
+ 'openrouter:z-ai/glm-5-turbo': { inputPer1M: 1.2, outputPer1M: 4, cacheReadPer1M: 0.24 },
329
+ 'openrouter:z-ai/glm-5.1': { inputPer1M: 0.95, outputPer1M: 3.15, cacheReadPer1M: 0.475 },
330
+ 'openrouter:z-ai/glm-5v-turbo': { inputPer1M: 1.2, outputPer1M: 4, cacheReadPer1M: 0.24 },
320
331
  };
321
332
  //# sourceMappingURL=openrouter-pricing.js.map