@agentproto/model-catalog 0.10.3 → 0.11.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.
- package/dist/access/index.d.ts +3 -3
- package/dist/access/index.mjs +4 -4
- package/dist/{catalog-BAb74hY-.d.ts → catalog-C7U9nauo.d.ts} +580 -31
- package/dist/{chunk-5VXG5VZA.mjs → chunk-CP7JCOA5.mjs} +5 -5
- package/dist/{chunk-5VXG5VZA.mjs.map → chunk-CP7JCOA5.mjs.map} +1 -1
- package/dist/{chunk-PL4ALP73.mjs → chunk-D3I73UJI.mjs} +68 -87
- package/dist/chunk-D3I73UJI.mjs.map +1 -0
- package/dist/{chunk-Z6DB2FB7.mjs → chunk-FKBNW5BP.mjs} +3 -3
- package/dist/{chunk-Z6DB2FB7.mjs.map → chunk-FKBNW5BP.mjs.map} +1 -1
- package/dist/{chunk-7DKQFHCJ.mjs → chunk-GVYUTTTK.mjs} +4 -4
- package/dist/{chunk-7DKQFHCJ.mjs.map → chunk-GVYUTTTK.mjs.map} +1 -1
- package/dist/{chunk-ZQ6VOPGQ.mjs → chunk-SORQIIXD.mjs} +3 -3
- package/dist/{chunk-ZQ6VOPGQ.mjs.map → chunk-SORQIIXD.mjs.map} +1 -1
- package/dist/{chunk-DHMYBXQB.mjs → chunk-VABWB67A.mjs} +3 -3
- package/dist/{chunk-DHMYBXQB.mjs.map → chunk-VABWB67A.mjs.map} +1 -1
- package/dist/{chunk-S2EJIT6D.mjs → chunk-VZCVDFNS.mjs} +216 -128
- package/dist/chunk-VZCVDFNS.mjs.map +1 -0
- package/dist/{chunk-KJYNTETN.mjs → chunk-X4GZCBVI.mjs} +4 -4
- package/dist/{chunk-KJYNTETN.mjs.map → chunk-X4GZCBVI.mjs.map} +1 -1
- package/dist/cost/index.mjs +6 -6
- package/dist/curation/index.d.ts +2 -2
- package/dist/curation/index.mjs +6 -6
- package/dist/{evaluate-B83jX17h.d.ts → evaluate-Dm45YM9p.d.ts} +1 -1
- package/dist/{index-BWvtVzEG.d.ts → index-D9Ir5Xyq.d.ts} +2 -2
- package/dist/{index-vC37SFpk.d.ts → index-qTi3go0T.d.ts} +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.mjs +10 -10
- package/dist/llm/index.d.ts +1 -1
- package/dist/llm/index.mjs +2 -2
- package/dist/overlay/index.d.ts +1 -1
- package/dist/picker/index.d.ts +4 -4
- package/dist/route-identity/index.d.ts +1 -1
- package/dist/route-identity/index.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-PL4ALP73.mjs.map +0 -1
- package/dist/chunk-S2EJIT6D.mjs.map +0 -1
|
@@ -10,6 +10,23 @@ interface ContextWindowEntry {
|
|
|
10
10
|
}
|
|
11
11
|
declare const CONTEXT_WINDOWS: Record<string, ContextWindowEntry>;
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* OpenAI-listed ids with NO price from either source — emitted as
|
|
15
|
+
* existence-only so they are real members of `LlmModelId` and answer true
|
|
16
|
+
* to `isKnownLlmId`, without a fabricated zero in `LLM_PRICING_CATALOG`.
|
|
17
|
+
* "Does this model exist" and "what does it cost" are independent questions
|
|
18
|
+
* in this catalog by design — see `LlmModelId`'s doc comment. Most of these
|
|
19
|
+
* are dated snapshots (`gpt-5.4-2026-03-05`) and aliases the docs pricing
|
|
20
|
+
* page lists only under their undated base id; deriving a price from that
|
|
21
|
+
* base would be inference, not data, so it is not done.
|
|
22
|
+
*
|
|
23
|
+
* `chat-latest` is here for a different reason — it IS officially priced,
|
|
24
|
+
* but a bare key that generic would win `resolvePricing`'s substring scan
|
|
25
|
+
* against every `*-chat-latest` id and reprice them. See
|
|
26
|
+
* `AMBIGUOUS_BARE_IDS` in catalog-sync's `sources/openai-catalog.mjs`.
|
|
27
|
+
*/
|
|
28
|
+
declare const OPENAI_GENERATED_UNPRICED_IDS: readonly [];
|
|
29
|
+
|
|
13
30
|
/**
|
|
14
31
|
* LLM Pricing Catalog — per-token costs for all LLM models.
|
|
15
32
|
*
|
|
@@ -92,6 +109,30 @@ interface LLMPricing {
|
|
|
92
109
|
* `packages/catalog-sync/README.md` for the full convention.
|
|
93
110
|
*/
|
|
94
111
|
addedAt?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Which source supplied THIS row's numbers. Generator-owned and purely
|
|
114
|
+
* informational — nothing routes or bills on it; it exists so a reviewer
|
|
115
|
+
* reading a sync diff can tell a first-party price change from a router's
|
|
116
|
+
* passthrough rate drifting.
|
|
117
|
+
*
|
|
118
|
+
* Currently emitted only by `scripts/catalog-sync/sync-openai.mjs`, where
|
|
119
|
+
* the two sources genuinely disagree on some rows:
|
|
120
|
+
* - `"openai"` — OpenAI's own published pricing
|
|
121
|
+
* (`platform.openai.com/docs/pricing.md`).
|
|
122
|
+
* - `"openrouter"` — OpenRouter's passthrough rate, used where OpenAI's
|
|
123
|
+
* page does not list the id.
|
|
124
|
+
*/
|
|
125
|
+
priceSource?: "openai" | "openrouter";
|
|
126
|
+
/**
|
|
127
|
+
* Which list this row's ID came from. Also generator-owned and
|
|
128
|
+
* informational. `"openrouter"` marks an id that the provider's own
|
|
129
|
+
* `/v1/models` does not list — for OpenAI that is mostly ids which
|
|
130
|
+
* structurally cannot appear there (`<base>:batch` is a separate endpoint,
|
|
131
|
+
* `gpt-oss-*` is open-weights and not served by OpenAI's API) plus ids the
|
|
132
|
+
* syncing account has no entitlement to. They are kept rather than dropped
|
|
133
|
+
* precisely so the catalog is not a function of whose key ran the sync.
|
|
134
|
+
*/
|
|
135
|
+
idSource?: "openai" | "openrouter";
|
|
95
136
|
}
|
|
96
137
|
|
|
97
138
|
declare const LLM_PRICING_CATALOG: {
|
|
@@ -649,8 +690,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
649
690
|
readonly provider: "minimax";
|
|
650
691
|
};
|
|
651
692
|
"MiniMax-M2": {
|
|
652
|
-
readonly inputPer1M: 0.
|
|
653
|
-
readonly outputPer1M: 1.
|
|
693
|
+
readonly inputPer1M: 0.3;
|
|
694
|
+
readonly outputPer1M: 1.2;
|
|
654
695
|
readonly vendor: "minimax";
|
|
655
696
|
readonly provider: "minimax";
|
|
656
697
|
};
|
|
@@ -669,8 +710,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
669
710
|
readonly provider: "minimax";
|
|
670
711
|
};
|
|
671
712
|
"MiniMax-M2.7": {
|
|
672
|
-
readonly inputPer1M: 0.
|
|
673
|
-
readonly outputPer1M:
|
|
713
|
+
readonly inputPer1M: 0.21;
|
|
714
|
+
readonly outputPer1M: 0.84;
|
|
674
715
|
readonly cacheReadMultiplier: 0.2;
|
|
675
716
|
readonly vendor: "minimax";
|
|
676
717
|
readonly provider: "minimax";
|
|
@@ -680,42 +721,64 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
680
721
|
readonly outputPer1M: 1.5;
|
|
681
722
|
readonly vendor: "openai";
|
|
682
723
|
readonly provider: "openai";
|
|
724
|
+
readonly priceSource: "openai";
|
|
725
|
+
readonly idSource: "openrouter";
|
|
683
726
|
};
|
|
684
727
|
"gpt-3.5-turbo-0613": {
|
|
685
728
|
readonly inputPer1M: 1;
|
|
686
729
|
readonly outputPer1M: 2;
|
|
687
730
|
readonly vendor: "openai";
|
|
688
731
|
readonly provider: "openai";
|
|
732
|
+
readonly priceSource: "openrouter";
|
|
733
|
+
readonly idSource: "openrouter";
|
|
689
734
|
};
|
|
690
735
|
"gpt-3.5-turbo-16k": {
|
|
691
736
|
readonly inputPer1M: 3;
|
|
692
737
|
readonly outputPer1M: 4;
|
|
693
738
|
readonly vendor: "openai";
|
|
694
739
|
readonly provider: "openai";
|
|
740
|
+
readonly priceSource: "openrouter";
|
|
741
|
+
readonly idSource: "openrouter";
|
|
695
742
|
};
|
|
696
743
|
"gpt-3.5-turbo-instruct": {
|
|
697
744
|
readonly inputPer1M: 1.5;
|
|
698
745
|
readonly outputPer1M: 2;
|
|
699
746
|
readonly vendor: "openai";
|
|
700
747
|
readonly provider: "openai";
|
|
748
|
+
readonly priceSource: "openai";
|
|
749
|
+
readonly idSource: "openrouter";
|
|
750
|
+
};
|
|
751
|
+
"gpt-3.5-turbo:batch": {
|
|
752
|
+
readonly inputPer1M: 0.25;
|
|
753
|
+
readonly outputPer1M: 0.75;
|
|
754
|
+
readonly vendor: "openai";
|
|
755
|
+
readonly provider: "openai";
|
|
756
|
+
readonly priceSource: "openrouter";
|
|
757
|
+
readonly idSource: "openrouter";
|
|
701
758
|
};
|
|
702
759
|
"gpt-4": {
|
|
703
760
|
readonly inputPer1M: 30;
|
|
704
761
|
readonly outputPer1M: 60;
|
|
705
762
|
readonly vendor: "openai";
|
|
706
763
|
readonly provider: "openai";
|
|
764
|
+
readonly priceSource: "openrouter";
|
|
765
|
+
readonly idSource: "openrouter";
|
|
707
766
|
};
|
|
708
767
|
"gpt-4-turbo": {
|
|
709
768
|
readonly inputPer1M: 10;
|
|
710
769
|
readonly outputPer1M: 30;
|
|
711
770
|
readonly vendor: "openai";
|
|
712
771
|
readonly provider: "openai";
|
|
772
|
+
readonly priceSource: "openrouter";
|
|
773
|
+
readonly idSource: "openrouter";
|
|
713
774
|
};
|
|
714
|
-
"gpt-4-turbo
|
|
715
|
-
readonly inputPer1M:
|
|
716
|
-
readonly outputPer1M:
|
|
775
|
+
"gpt-4-turbo:batch": {
|
|
776
|
+
readonly inputPer1M: 5;
|
|
777
|
+
readonly outputPer1M: 15;
|
|
717
778
|
readonly vendor: "openai";
|
|
718
779
|
readonly provider: "openai";
|
|
780
|
+
readonly priceSource: "openrouter";
|
|
781
|
+
readonly idSource: "openrouter";
|
|
719
782
|
};
|
|
720
783
|
"gpt-4.1": {
|
|
721
784
|
readonly inputPer1M: 2;
|
|
@@ -723,6 +786,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
723
786
|
readonly cacheReadMultiplier: 0.25;
|
|
724
787
|
readonly vendor: "openai";
|
|
725
788
|
readonly provider: "openai";
|
|
789
|
+
readonly priceSource: "openai";
|
|
790
|
+
readonly idSource: "openrouter";
|
|
726
791
|
};
|
|
727
792
|
"gpt-4.1-mini": {
|
|
728
793
|
readonly inputPer1M: 0.4;
|
|
@@ -730,6 +795,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
730
795
|
readonly cacheReadMultiplier: 0.25;
|
|
731
796
|
readonly vendor: "openai";
|
|
732
797
|
readonly provider: "openai";
|
|
798
|
+
readonly priceSource: "openai";
|
|
799
|
+
readonly idSource: "openrouter";
|
|
800
|
+
};
|
|
801
|
+
"gpt-4.1-mini:batch": {
|
|
802
|
+
readonly inputPer1M: 0.2;
|
|
803
|
+
readonly outputPer1M: 0.8;
|
|
804
|
+
readonly vendor: "openai";
|
|
805
|
+
readonly provider: "openai";
|
|
806
|
+
readonly priceSource: "openai";
|
|
807
|
+
readonly idSource: "openrouter";
|
|
733
808
|
};
|
|
734
809
|
"gpt-4.1-nano": {
|
|
735
810
|
readonly inputPer1M: 0.1;
|
|
@@ -737,6 +812,24 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
737
812
|
readonly cacheReadMultiplier: 0.25;
|
|
738
813
|
readonly vendor: "openai";
|
|
739
814
|
readonly provider: "openai";
|
|
815
|
+
readonly priceSource: "openai";
|
|
816
|
+
readonly idSource: "openrouter";
|
|
817
|
+
};
|
|
818
|
+
"gpt-4.1-nano:batch": {
|
|
819
|
+
readonly inputPer1M: 0.05;
|
|
820
|
+
readonly outputPer1M: 0.2;
|
|
821
|
+
readonly vendor: "openai";
|
|
822
|
+
readonly provider: "openai";
|
|
823
|
+
readonly priceSource: "openai";
|
|
824
|
+
readonly idSource: "openrouter";
|
|
825
|
+
};
|
|
826
|
+
"gpt-4.1:batch": {
|
|
827
|
+
readonly inputPer1M: 1;
|
|
828
|
+
readonly outputPer1M: 4;
|
|
829
|
+
readonly vendor: "openai";
|
|
830
|
+
readonly provider: "openai";
|
|
831
|
+
readonly priceSource: "openai";
|
|
832
|
+
readonly idSource: "openrouter";
|
|
740
833
|
};
|
|
741
834
|
"gpt-4o": {
|
|
742
835
|
readonly inputPer1M: 2.5;
|
|
@@ -744,12 +837,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
744
837
|
readonly cacheReadMultiplier: 0.5;
|
|
745
838
|
readonly vendor: "openai";
|
|
746
839
|
readonly provider: "openai";
|
|
840
|
+
readonly priceSource: "openai";
|
|
841
|
+
readonly idSource: "openrouter";
|
|
747
842
|
};
|
|
748
843
|
"gpt-4o-2024-05-13": {
|
|
749
844
|
readonly inputPer1M: 5;
|
|
750
845
|
readonly outputPer1M: 15;
|
|
751
846
|
readonly vendor: "openai";
|
|
752
847
|
readonly provider: "openai";
|
|
848
|
+
readonly priceSource: "openai";
|
|
849
|
+
readonly idSource: "openrouter";
|
|
753
850
|
};
|
|
754
851
|
"gpt-4o-2024-08-06": {
|
|
755
852
|
readonly inputPer1M: 2.5;
|
|
@@ -757,6 +854,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
757
854
|
readonly cacheReadMultiplier: 0.5;
|
|
758
855
|
readonly vendor: "openai";
|
|
759
856
|
readonly provider: "openai";
|
|
857
|
+
readonly priceSource: "openrouter";
|
|
858
|
+
readonly idSource: "openrouter";
|
|
760
859
|
};
|
|
761
860
|
"gpt-4o-2024-11-20": {
|
|
762
861
|
readonly inputPer1M: 2.5;
|
|
@@ -764,6 +863,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
764
863
|
readonly cacheReadMultiplier: 0.5;
|
|
765
864
|
readonly vendor: "openai";
|
|
766
865
|
readonly provider: "openai";
|
|
866
|
+
readonly priceSource: "openrouter";
|
|
867
|
+
readonly idSource: "openrouter";
|
|
767
868
|
};
|
|
768
869
|
"gpt-4o-mini": {
|
|
769
870
|
readonly inputPer1M: 0.15;
|
|
@@ -771,6 +872,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
771
872
|
readonly cacheReadMultiplier: 0.5;
|
|
772
873
|
readonly vendor: "openai";
|
|
773
874
|
readonly provider: "openai";
|
|
875
|
+
readonly priceSource: "openai";
|
|
876
|
+
readonly idSource: "openrouter";
|
|
774
877
|
};
|
|
775
878
|
"gpt-4o-mini-2024-07-18": {
|
|
776
879
|
readonly inputPer1M: 0.15;
|
|
@@ -778,6 +881,24 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
778
881
|
readonly cacheReadMultiplier: 0.5;
|
|
779
882
|
readonly vendor: "openai";
|
|
780
883
|
readonly provider: "openai";
|
|
884
|
+
readonly priceSource: "openrouter";
|
|
885
|
+
readonly idSource: "openrouter";
|
|
886
|
+
};
|
|
887
|
+
"gpt-4o-mini:batch": {
|
|
888
|
+
readonly inputPer1M: 0.075;
|
|
889
|
+
readonly outputPer1M: 0.3;
|
|
890
|
+
readonly vendor: "openai";
|
|
891
|
+
readonly provider: "openai";
|
|
892
|
+
readonly priceSource: "openai";
|
|
893
|
+
readonly idSource: "openrouter";
|
|
894
|
+
};
|
|
895
|
+
"gpt-4o:batch": {
|
|
896
|
+
readonly inputPer1M: 1.25;
|
|
897
|
+
readonly outputPer1M: 5;
|
|
898
|
+
readonly vendor: "openai";
|
|
899
|
+
readonly provider: "openai";
|
|
900
|
+
readonly priceSource: "openai";
|
|
901
|
+
readonly idSource: "openrouter";
|
|
781
902
|
};
|
|
782
903
|
"gpt-5": {
|
|
783
904
|
readonly inputPer1M: 1.25;
|
|
@@ -785,6 +906,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
785
906
|
readonly cacheReadMultiplier: 0.1;
|
|
786
907
|
readonly vendor: "openai";
|
|
787
908
|
readonly provider: "openai";
|
|
909
|
+
readonly priceSource: "openai";
|
|
910
|
+
readonly idSource: "openrouter";
|
|
788
911
|
};
|
|
789
912
|
"gpt-5-image": {
|
|
790
913
|
readonly inputPer1M: 10;
|
|
@@ -792,6 +915,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
792
915
|
readonly cacheReadMultiplier: 0.125;
|
|
793
916
|
readonly vendor: "openai";
|
|
794
917
|
readonly provider: "openai";
|
|
918
|
+
readonly priceSource: "openrouter";
|
|
919
|
+
readonly idSource: "openrouter";
|
|
795
920
|
};
|
|
796
921
|
"gpt-5-image-mini": {
|
|
797
922
|
readonly inputPer1M: 2.5;
|
|
@@ -799,6 +924,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
799
924
|
readonly cacheReadMultiplier: 0.1;
|
|
800
925
|
readonly vendor: "openai";
|
|
801
926
|
readonly provider: "openai";
|
|
927
|
+
readonly priceSource: "openrouter";
|
|
928
|
+
readonly idSource: "openrouter";
|
|
802
929
|
};
|
|
803
930
|
"gpt-5-mini": {
|
|
804
931
|
readonly inputPer1M: 0.25;
|
|
@@ -806,6 +933,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
806
933
|
readonly cacheReadMultiplier: 0.1;
|
|
807
934
|
readonly vendor: "openai";
|
|
808
935
|
readonly provider: "openai";
|
|
936
|
+
readonly priceSource: "openai";
|
|
937
|
+
readonly idSource: "openrouter";
|
|
938
|
+
};
|
|
939
|
+
"gpt-5-mini:batch": {
|
|
940
|
+
readonly inputPer1M: 0.125;
|
|
941
|
+
readonly outputPer1M: 1;
|
|
942
|
+
readonly cacheReadMultiplier: 0.1;
|
|
943
|
+
readonly vendor: "openai";
|
|
944
|
+
readonly provider: "openai";
|
|
945
|
+
readonly priceSource: "openai";
|
|
946
|
+
readonly idSource: "openrouter";
|
|
809
947
|
};
|
|
810
948
|
"gpt-5-nano": {
|
|
811
949
|
readonly inputPer1M: 0.05;
|
|
@@ -813,12 +951,42 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
813
951
|
readonly cacheReadMultiplier: 0.1;
|
|
814
952
|
readonly vendor: "openai";
|
|
815
953
|
readonly provider: "openai";
|
|
954
|
+
readonly priceSource: "openai";
|
|
955
|
+
readonly idSource: "openrouter";
|
|
956
|
+
};
|
|
957
|
+
"gpt-5-nano:batch": {
|
|
958
|
+
readonly inputPer1M: 0.025;
|
|
959
|
+
readonly outputPer1M: 0.2;
|
|
960
|
+
readonly cacheReadMultiplier: 0.1;
|
|
961
|
+
readonly vendor: "openai";
|
|
962
|
+
readonly provider: "openai";
|
|
963
|
+
readonly priceSource: "openai";
|
|
964
|
+
readonly idSource: "openrouter";
|
|
816
965
|
};
|
|
817
966
|
"gpt-5-pro": {
|
|
818
967
|
readonly inputPer1M: 15;
|
|
819
968
|
readonly outputPer1M: 120;
|
|
820
969
|
readonly vendor: "openai";
|
|
821
970
|
readonly provider: "openai";
|
|
971
|
+
readonly priceSource: "openai";
|
|
972
|
+
readonly idSource: "openrouter";
|
|
973
|
+
};
|
|
974
|
+
"gpt-5-pro:batch": {
|
|
975
|
+
readonly inputPer1M: 7.5;
|
|
976
|
+
readonly outputPer1M: 60;
|
|
977
|
+
readonly vendor: "openai";
|
|
978
|
+
readonly provider: "openai";
|
|
979
|
+
readonly priceSource: "openai";
|
|
980
|
+
readonly idSource: "openrouter";
|
|
981
|
+
};
|
|
982
|
+
"gpt-5:batch": {
|
|
983
|
+
readonly inputPer1M: 0.625;
|
|
984
|
+
readonly outputPer1M: 5;
|
|
985
|
+
readonly cacheReadMultiplier: 0.1;
|
|
986
|
+
readonly vendor: "openai";
|
|
987
|
+
readonly provider: "openai";
|
|
988
|
+
readonly priceSource: "openai";
|
|
989
|
+
readonly idSource: "openrouter";
|
|
822
990
|
};
|
|
823
991
|
"gpt-5.1": {
|
|
824
992
|
readonly inputPer1M: 1.25;
|
|
@@ -826,6 +994,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
826
994
|
readonly cacheReadMultiplier: 0.1;
|
|
827
995
|
readonly vendor: "openai";
|
|
828
996
|
readonly provider: "openai";
|
|
997
|
+
readonly priceSource: "openai";
|
|
998
|
+
readonly idSource: "openrouter";
|
|
829
999
|
};
|
|
830
1000
|
"gpt-5.1-codex": {
|
|
831
1001
|
readonly inputPer1M: 1.25;
|
|
@@ -833,6 +1003,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
833
1003
|
readonly cacheReadMultiplier: 0.104;
|
|
834
1004
|
readonly vendor: "openai";
|
|
835
1005
|
readonly provider: "openai";
|
|
1006
|
+
readonly priceSource: "openrouter";
|
|
1007
|
+
readonly idSource: "openrouter";
|
|
836
1008
|
};
|
|
837
1009
|
"gpt-5.1-codex-max": {
|
|
838
1010
|
readonly inputPer1M: 1.25;
|
|
@@ -840,6 +1012,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
840
1012
|
readonly cacheReadMultiplier: 0.1;
|
|
841
1013
|
readonly vendor: "openai";
|
|
842
1014
|
readonly provider: "openai";
|
|
1015
|
+
readonly priceSource: "openrouter";
|
|
1016
|
+
readonly idSource: "openrouter";
|
|
843
1017
|
};
|
|
844
1018
|
"gpt-5.1-codex-mini": {
|
|
845
1019
|
readonly inputPer1M: 0.25;
|
|
@@ -847,6 +1021,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
847
1021
|
readonly cacheReadMultiplier: 0.12;
|
|
848
1022
|
readonly vendor: "openai";
|
|
849
1023
|
readonly provider: "openai";
|
|
1024
|
+
readonly priceSource: "openrouter";
|
|
1025
|
+
readonly idSource: "openrouter";
|
|
1026
|
+
};
|
|
1027
|
+
"gpt-5.1:batch": {
|
|
1028
|
+
readonly inputPer1M: 0.625;
|
|
1029
|
+
readonly outputPer1M: 5;
|
|
1030
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1031
|
+
readonly vendor: "openai";
|
|
1032
|
+
readonly provider: "openai";
|
|
1033
|
+
readonly priceSource: "openai";
|
|
1034
|
+
readonly idSource: "openrouter";
|
|
850
1035
|
};
|
|
851
1036
|
"gpt-5.2": {
|
|
852
1037
|
readonly inputPer1M: 1.75;
|
|
@@ -854,6 +1039,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
854
1039
|
readonly cacheReadMultiplier: 0.1;
|
|
855
1040
|
readonly vendor: "openai";
|
|
856
1041
|
readonly provider: "openai";
|
|
1042
|
+
readonly priceSource: "openai";
|
|
1043
|
+
readonly idSource: "openrouter";
|
|
857
1044
|
};
|
|
858
1045
|
"gpt-5.2-chat": {
|
|
859
1046
|
readonly inputPer1M: 1.75;
|
|
@@ -861,6 +1048,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
861
1048
|
readonly cacheReadMultiplier: 0.1;
|
|
862
1049
|
readonly vendor: "openai";
|
|
863
1050
|
readonly provider: "openai";
|
|
1051
|
+
readonly priceSource: "openrouter";
|
|
1052
|
+
readonly idSource: "openrouter";
|
|
864
1053
|
};
|
|
865
1054
|
"gpt-5.2-codex": {
|
|
866
1055
|
readonly inputPer1M: 1.75;
|
|
@@ -868,12 +1057,33 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
868
1057
|
readonly cacheReadMultiplier: 0.1;
|
|
869
1058
|
readonly vendor: "openai";
|
|
870
1059
|
readonly provider: "openai";
|
|
1060
|
+
readonly priceSource: "openrouter";
|
|
1061
|
+
readonly idSource: "openrouter";
|
|
871
1062
|
};
|
|
872
1063
|
"gpt-5.2-pro": {
|
|
873
1064
|
readonly inputPer1M: 21;
|
|
874
1065
|
readonly outputPer1M: 168;
|
|
875
1066
|
readonly vendor: "openai";
|
|
876
1067
|
readonly provider: "openai";
|
|
1068
|
+
readonly priceSource: "openai";
|
|
1069
|
+
readonly idSource: "openrouter";
|
|
1070
|
+
};
|
|
1071
|
+
"gpt-5.2-pro:batch": {
|
|
1072
|
+
readonly inputPer1M: 10.5;
|
|
1073
|
+
readonly outputPer1M: 84;
|
|
1074
|
+
readonly vendor: "openai";
|
|
1075
|
+
readonly provider: "openai";
|
|
1076
|
+
readonly priceSource: "openai";
|
|
1077
|
+
readonly idSource: "openrouter";
|
|
1078
|
+
};
|
|
1079
|
+
"gpt-5.2:batch": {
|
|
1080
|
+
readonly inputPer1M: 0.875;
|
|
1081
|
+
readonly outputPer1M: 7;
|
|
1082
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1083
|
+
readonly vendor: "openai";
|
|
1084
|
+
readonly provider: "openai";
|
|
1085
|
+
readonly priceSource: "openai";
|
|
1086
|
+
readonly idSource: "openrouter";
|
|
877
1087
|
};
|
|
878
1088
|
"gpt-5.3-codex": {
|
|
879
1089
|
readonly inputPer1M: 1.75;
|
|
@@ -881,6 +1091,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
881
1091
|
readonly cacheReadMultiplier: 0.1;
|
|
882
1092
|
readonly vendor: "openai";
|
|
883
1093
|
readonly provider: "openai";
|
|
1094
|
+
readonly priceSource: "openai";
|
|
1095
|
+
readonly idSource: "openrouter";
|
|
884
1096
|
};
|
|
885
1097
|
"gpt-5.4": {
|
|
886
1098
|
readonly inputPer1M: 2.5;
|
|
@@ -888,6 +1100,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
888
1100
|
readonly cacheReadMultiplier: 0.1;
|
|
889
1101
|
readonly vendor: "openai";
|
|
890
1102
|
readonly provider: "openai";
|
|
1103
|
+
readonly priceSource: "openai";
|
|
1104
|
+
readonly idSource: "openrouter";
|
|
891
1105
|
};
|
|
892
1106
|
"gpt-5.4-mini": {
|
|
893
1107
|
readonly inputPer1M: 0.75;
|
|
@@ -895,6 +1109,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
895
1109
|
readonly cacheReadMultiplier: 0.1;
|
|
896
1110
|
readonly vendor: "openai";
|
|
897
1111
|
readonly provider: "openai";
|
|
1112
|
+
readonly priceSource: "openai";
|
|
1113
|
+
readonly idSource: "openrouter";
|
|
1114
|
+
};
|
|
1115
|
+
"gpt-5.4-mini:batch": {
|
|
1116
|
+
readonly inputPer1M: 0.375;
|
|
1117
|
+
readonly outputPer1M: 2.25;
|
|
1118
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1119
|
+
readonly vendor: "openai";
|
|
1120
|
+
readonly provider: "openai";
|
|
1121
|
+
readonly priceSource: "openai";
|
|
1122
|
+
readonly idSource: "openrouter";
|
|
898
1123
|
};
|
|
899
1124
|
"gpt-5.4-nano": {
|
|
900
1125
|
readonly inputPer1M: 0.2;
|
|
@@ -902,12 +1127,42 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
902
1127
|
readonly cacheReadMultiplier: 0.1;
|
|
903
1128
|
readonly vendor: "openai";
|
|
904
1129
|
readonly provider: "openai";
|
|
1130
|
+
readonly priceSource: "openai";
|
|
1131
|
+
readonly idSource: "openrouter";
|
|
1132
|
+
};
|
|
1133
|
+
"gpt-5.4-nano:batch": {
|
|
1134
|
+
readonly inputPer1M: 0.1;
|
|
1135
|
+
readonly outputPer1M: 0.625;
|
|
1136
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1137
|
+
readonly vendor: "openai";
|
|
1138
|
+
readonly provider: "openai";
|
|
1139
|
+
readonly priceSource: "openai";
|
|
1140
|
+
readonly idSource: "openrouter";
|
|
905
1141
|
};
|
|
906
1142
|
"gpt-5.4-pro": {
|
|
907
1143
|
readonly inputPer1M: 30;
|
|
908
1144
|
readonly outputPer1M: 180;
|
|
909
1145
|
readonly vendor: "openai";
|
|
910
1146
|
readonly provider: "openai";
|
|
1147
|
+
readonly priceSource: "openai";
|
|
1148
|
+
readonly idSource: "openrouter";
|
|
1149
|
+
};
|
|
1150
|
+
"gpt-5.4-pro:batch": {
|
|
1151
|
+
readonly inputPer1M: 15;
|
|
1152
|
+
readonly outputPer1M: 90;
|
|
1153
|
+
readonly vendor: "openai";
|
|
1154
|
+
readonly provider: "openai";
|
|
1155
|
+
readonly priceSource: "openai";
|
|
1156
|
+
readonly idSource: "openrouter";
|
|
1157
|
+
};
|
|
1158
|
+
"gpt-5.4:batch": {
|
|
1159
|
+
readonly inputPer1M: 1.25;
|
|
1160
|
+
readonly outputPer1M: 7.5;
|
|
1161
|
+
readonly cacheReadMultiplier: 0.104;
|
|
1162
|
+
readonly vendor: "openai";
|
|
1163
|
+
readonly provider: "openai";
|
|
1164
|
+
readonly priceSource: "openai";
|
|
1165
|
+
readonly idSource: "openrouter";
|
|
911
1166
|
};
|
|
912
1167
|
"gpt-5.5": {
|
|
913
1168
|
readonly inputPer1M: 5;
|
|
@@ -915,12 +1170,33 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
915
1170
|
readonly cacheReadMultiplier: 0.1;
|
|
916
1171
|
readonly vendor: "openai";
|
|
917
1172
|
readonly provider: "openai";
|
|
1173
|
+
readonly priceSource: "openai";
|
|
1174
|
+
readonly idSource: "openrouter";
|
|
918
1175
|
};
|
|
919
1176
|
"gpt-5.5-pro": {
|
|
920
1177
|
readonly inputPer1M: 30;
|
|
921
1178
|
readonly outputPer1M: 180;
|
|
922
1179
|
readonly vendor: "openai";
|
|
923
1180
|
readonly provider: "openai";
|
|
1181
|
+
readonly priceSource: "openai";
|
|
1182
|
+
readonly idSource: "openrouter";
|
|
1183
|
+
};
|
|
1184
|
+
"gpt-5.5-pro:batch": {
|
|
1185
|
+
readonly inputPer1M: 15;
|
|
1186
|
+
readonly outputPer1M: 90;
|
|
1187
|
+
readonly vendor: "openai";
|
|
1188
|
+
readonly provider: "openai";
|
|
1189
|
+
readonly priceSource: "openai";
|
|
1190
|
+
readonly idSource: "openrouter";
|
|
1191
|
+
};
|
|
1192
|
+
"gpt-5.5:batch": {
|
|
1193
|
+
readonly inputPer1M: 2.5;
|
|
1194
|
+
readonly outputPer1M: 15;
|
|
1195
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1196
|
+
readonly vendor: "openai";
|
|
1197
|
+
readonly provider: "openai";
|
|
1198
|
+
readonly priceSource: "openai";
|
|
1199
|
+
readonly idSource: "openrouter";
|
|
924
1200
|
};
|
|
925
1201
|
"gpt-5.6-luna": {
|
|
926
1202
|
readonly inputPer1M: 0.2;
|
|
@@ -929,6 +1205,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
929
1205
|
readonly cacheWriteMultiplier: 1.25;
|
|
930
1206
|
readonly vendor: "openai";
|
|
931
1207
|
readonly provider: "openai";
|
|
1208
|
+
readonly priceSource: "openai";
|
|
1209
|
+
readonly idSource: "openrouter";
|
|
932
1210
|
};
|
|
933
1211
|
"gpt-5.6-luna-pro": {
|
|
934
1212
|
readonly inputPer1M: 0.2;
|
|
@@ -937,22 +1215,67 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
937
1215
|
readonly cacheWriteMultiplier: 1.25;
|
|
938
1216
|
readonly vendor: "openai";
|
|
939
1217
|
readonly provider: "openai";
|
|
1218
|
+
readonly priceSource: "openrouter";
|
|
1219
|
+
readonly idSource: "openrouter";
|
|
1220
|
+
};
|
|
1221
|
+
"gpt-5.6-luna-pro:batch": {
|
|
1222
|
+
readonly inputPer1M: 0.1;
|
|
1223
|
+
readonly outputPer1M: 0.6;
|
|
1224
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1225
|
+
readonly vendor: "openai";
|
|
1226
|
+
readonly provider: "openai";
|
|
1227
|
+
readonly priceSource: "openrouter";
|
|
1228
|
+
readonly idSource: "openrouter";
|
|
1229
|
+
};
|
|
1230
|
+
"gpt-5.6-luna:batch": {
|
|
1231
|
+
readonly inputPer1M: 0.1;
|
|
1232
|
+
readonly outputPer1M: 0.6;
|
|
1233
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1234
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1235
|
+
readonly vendor: "openai";
|
|
1236
|
+
readonly provider: "openai";
|
|
1237
|
+
readonly priceSource: "openai";
|
|
1238
|
+
readonly idSource: "openrouter";
|
|
940
1239
|
};
|
|
941
1240
|
"gpt-5.6-sol": {
|
|
1241
|
+
readonly inputPer1M: 4;
|
|
1242
|
+
readonly outputPer1M: 20;
|
|
1243
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1244
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1245
|
+
readonly vendor: "openai";
|
|
1246
|
+
readonly provider: "openai";
|
|
1247
|
+
readonly priceSource: "openai";
|
|
1248
|
+
readonly idSource: "openrouter";
|
|
1249
|
+
};
|
|
1250
|
+
"gpt-5.6-sol-pro": {
|
|
942
1251
|
readonly inputPer1M: 2;
|
|
943
1252
|
readonly outputPer1M: 10;
|
|
944
1253
|
readonly cacheReadMultiplier: 0.1;
|
|
945
1254
|
readonly cacheWriteMultiplier: 1.25;
|
|
946
1255
|
readonly vendor: "openai";
|
|
947
1256
|
readonly provider: "openai";
|
|
1257
|
+
readonly priceSource: "openrouter";
|
|
1258
|
+
readonly idSource: "openrouter";
|
|
948
1259
|
};
|
|
949
|
-
"gpt-5.6-sol-pro": {
|
|
1260
|
+
"gpt-5.6-sol-pro:batch": {
|
|
1261
|
+
readonly inputPer1M: 1;
|
|
1262
|
+
readonly outputPer1M: 5;
|
|
1263
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1264
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1265
|
+
readonly vendor: "openai";
|
|
1266
|
+
readonly provider: "openai";
|
|
1267
|
+
readonly priceSource: "openrouter";
|
|
1268
|
+
readonly idSource: "openrouter";
|
|
1269
|
+
};
|
|
1270
|
+
"gpt-5.6-sol:batch": {
|
|
950
1271
|
readonly inputPer1M: 2;
|
|
951
1272
|
readonly outputPer1M: 10;
|
|
952
1273
|
readonly cacheReadMultiplier: 0.1;
|
|
953
1274
|
readonly cacheWriteMultiplier: 1.25;
|
|
954
1275
|
readonly vendor: "openai";
|
|
955
1276
|
readonly provider: "openai";
|
|
1277
|
+
readonly priceSource: "openai";
|
|
1278
|
+
readonly idSource: "openrouter";
|
|
956
1279
|
};
|
|
957
1280
|
"gpt-5.6-terra": {
|
|
958
1281
|
readonly inputPer1M: 2;
|
|
@@ -961,6 +1284,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
961
1284
|
readonly cacheWriteMultiplier: 1.25;
|
|
962
1285
|
readonly vendor: "openai";
|
|
963
1286
|
readonly provider: "openai";
|
|
1287
|
+
readonly priceSource: "openai";
|
|
1288
|
+
readonly idSource: "openrouter";
|
|
964
1289
|
};
|
|
965
1290
|
"gpt-5.6-terra-pro": {
|
|
966
1291
|
readonly inputPer1M: 2;
|
|
@@ -969,18 +1294,163 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
969
1294
|
readonly cacheWriteMultiplier: 1.25;
|
|
970
1295
|
readonly vendor: "openai";
|
|
971
1296
|
readonly provider: "openai";
|
|
1297
|
+
readonly priceSource: "openrouter";
|
|
1298
|
+
readonly idSource: "openrouter";
|
|
1299
|
+
};
|
|
1300
|
+
"gpt-5.6-terra-pro:batch": {
|
|
1301
|
+
readonly inputPer1M: 1;
|
|
1302
|
+
readonly outputPer1M: 6;
|
|
1303
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1304
|
+
readonly vendor: "openai";
|
|
1305
|
+
readonly provider: "openai";
|
|
1306
|
+
readonly priceSource: "openrouter";
|
|
1307
|
+
readonly idSource: "openrouter";
|
|
1308
|
+
};
|
|
1309
|
+
"gpt-5.6-terra:batch": {
|
|
1310
|
+
readonly inputPer1M: 1;
|
|
1311
|
+
readonly outputPer1M: 6;
|
|
1312
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1313
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1314
|
+
readonly vendor: "openai";
|
|
1315
|
+
readonly provider: "openai";
|
|
1316
|
+
readonly priceSource: "openai";
|
|
1317
|
+
readonly idSource: "openrouter";
|
|
1318
|
+
};
|
|
1319
|
+
"gpt-6-astra": {
|
|
1320
|
+
readonly inputPer1M: 10;
|
|
1321
|
+
readonly outputPer1M: 50;
|
|
1322
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1323
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1324
|
+
readonly vendor: "openai";
|
|
1325
|
+
readonly provider: "openai";
|
|
1326
|
+
readonly priceSource: "openai";
|
|
1327
|
+
readonly idSource: "openrouter";
|
|
1328
|
+
};
|
|
1329
|
+
"gpt-6-astra-pro": {
|
|
1330
|
+
readonly inputPer1M: 10;
|
|
1331
|
+
readonly outputPer1M: 50;
|
|
1332
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1333
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1334
|
+
readonly vendor: "openai";
|
|
1335
|
+
readonly provider: "openai";
|
|
1336
|
+
readonly priceSource: "openrouter";
|
|
1337
|
+
readonly idSource: "openrouter";
|
|
1338
|
+
};
|
|
1339
|
+
"gpt-6-astra-pro:batch": {
|
|
1340
|
+
readonly inputPer1M: 5;
|
|
1341
|
+
readonly outputPer1M: 25;
|
|
1342
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1343
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1344
|
+
readonly vendor: "openai";
|
|
1345
|
+
readonly provider: "openai";
|
|
1346
|
+
readonly priceSource: "openrouter";
|
|
1347
|
+
readonly idSource: "openrouter";
|
|
1348
|
+
};
|
|
1349
|
+
"gpt-6-astra:batch": {
|
|
1350
|
+
readonly inputPer1M: 5;
|
|
1351
|
+
readonly outputPer1M: 25;
|
|
1352
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1353
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1354
|
+
readonly vendor: "openai";
|
|
1355
|
+
readonly provider: "openai";
|
|
1356
|
+
readonly priceSource: "openai";
|
|
1357
|
+
readonly idSource: "openrouter";
|
|
1358
|
+
};
|
|
1359
|
+
"gpt-6-luna": {
|
|
1360
|
+
readonly inputPer1M: 0.1;
|
|
1361
|
+
readonly outputPer1M: 0.5;
|
|
1362
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1363
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1364
|
+
readonly vendor: "openai";
|
|
1365
|
+
readonly provider: "openai";
|
|
1366
|
+
readonly priceSource: "openai";
|
|
1367
|
+
readonly idSource: "openrouter";
|
|
1368
|
+
};
|
|
1369
|
+
"gpt-6-luna-pro": {
|
|
1370
|
+
readonly inputPer1M: 0.1;
|
|
1371
|
+
readonly outputPer1M: 0.5;
|
|
1372
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1373
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1374
|
+
readonly vendor: "openai";
|
|
1375
|
+
readonly provider: "openai";
|
|
1376
|
+
readonly priceSource: "openrouter";
|
|
1377
|
+
readonly idSource: "openrouter";
|
|
1378
|
+
};
|
|
1379
|
+
"gpt-6-luna-pro:batch": {
|
|
1380
|
+
readonly inputPer1M: 0.05;
|
|
1381
|
+
readonly outputPer1M: 0.25;
|
|
1382
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1383
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1384
|
+
readonly vendor: "openai";
|
|
1385
|
+
readonly provider: "openai";
|
|
1386
|
+
readonly priceSource: "openrouter";
|
|
1387
|
+
readonly idSource: "openrouter";
|
|
1388
|
+
};
|
|
1389
|
+
"gpt-6-luna:batch": {
|
|
1390
|
+
readonly inputPer1M: 0.05;
|
|
1391
|
+
readonly outputPer1M: 0.25;
|
|
1392
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1393
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1394
|
+
readonly vendor: "openai";
|
|
1395
|
+
readonly provider: "openai";
|
|
1396
|
+
readonly priceSource: "openai";
|
|
1397
|
+
readonly idSource: "openrouter";
|
|
1398
|
+
};
|
|
1399
|
+
"gpt-6-sol": {
|
|
1400
|
+
readonly inputPer1M: 2;
|
|
1401
|
+
readonly outputPer1M: 10;
|
|
1402
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1403
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1404
|
+
readonly vendor: "openai";
|
|
1405
|
+
readonly provider: "openai";
|
|
1406
|
+
readonly priceSource: "openai";
|
|
1407
|
+
readonly idSource: "openrouter";
|
|
1408
|
+
};
|
|
1409
|
+
"gpt-6-sol-pro": {
|
|
1410
|
+
readonly inputPer1M: 2;
|
|
1411
|
+
readonly outputPer1M: 10;
|
|
1412
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1413
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1414
|
+
readonly vendor: "openai";
|
|
1415
|
+
readonly provider: "openai";
|
|
1416
|
+
readonly priceSource: "openrouter";
|
|
1417
|
+
readonly idSource: "openrouter";
|
|
1418
|
+
};
|
|
1419
|
+
"gpt-6-sol-pro:batch": {
|
|
1420
|
+
readonly inputPer1M: 1;
|
|
1421
|
+
readonly outputPer1M: 5;
|
|
1422
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1423
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1424
|
+
readonly vendor: "openai";
|
|
1425
|
+
readonly provider: "openai";
|
|
1426
|
+
readonly priceSource: "openrouter";
|
|
1427
|
+
readonly idSource: "openrouter";
|
|
1428
|
+
};
|
|
1429
|
+
"gpt-6-sol:batch": {
|
|
1430
|
+
readonly inputPer1M: 1;
|
|
1431
|
+
readonly outputPer1M: 5;
|
|
1432
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1433
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1434
|
+
readonly vendor: "openai";
|
|
1435
|
+
readonly provider: "openai";
|
|
1436
|
+
readonly priceSource: "openai";
|
|
1437
|
+
readonly idSource: "openrouter";
|
|
972
1438
|
};
|
|
973
1439
|
"gpt-audio": {
|
|
974
1440
|
readonly inputPer1M: 2.5;
|
|
975
1441
|
readonly outputPer1M: 10;
|
|
976
1442
|
readonly vendor: "openai";
|
|
977
1443
|
readonly provider: "openai";
|
|
1444
|
+
readonly priceSource: "openrouter";
|
|
1445
|
+
readonly idSource: "openrouter";
|
|
978
1446
|
};
|
|
979
1447
|
"gpt-audio-mini": {
|
|
980
1448
|
readonly inputPer1M: 0.6;
|
|
981
1449
|
readonly outputPer1M: 2.4;
|
|
982
1450
|
readonly vendor: "openai";
|
|
983
1451
|
readonly provider: "openai";
|
|
1452
|
+
readonly priceSource: "openrouter";
|
|
1453
|
+
readonly idSource: "openrouter";
|
|
984
1454
|
};
|
|
985
1455
|
"gpt-chat-latest": {
|
|
986
1456
|
readonly inputPer1M: 5;
|
|
@@ -988,31 +1458,41 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
988
1458
|
readonly cacheReadMultiplier: 0.1;
|
|
989
1459
|
readonly vendor: "openai";
|
|
990
1460
|
readonly provider: "openai";
|
|
1461
|
+
readonly priceSource: "openrouter";
|
|
1462
|
+
readonly idSource: "openrouter";
|
|
991
1463
|
};
|
|
992
1464
|
"gpt-oss-120b": {
|
|
993
|
-
readonly inputPer1M: 0.
|
|
994
|
-
readonly outputPer1M: 0.
|
|
1465
|
+
readonly inputPer1M: 0.15;
|
|
1466
|
+
readonly outputPer1M: 0.6;
|
|
1467
|
+
readonly cacheReadMultiplier: 0.5;
|
|
995
1468
|
readonly vendor: "openai";
|
|
996
1469
|
readonly provider: "openai";
|
|
1470
|
+
readonly priceSource: "openrouter";
|
|
1471
|
+
readonly idSource: "openrouter";
|
|
997
1472
|
};
|
|
998
1473
|
"gpt-oss-120b:batch": {
|
|
999
|
-
readonly inputPer1M: 0.
|
|
1000
|
-
readonly outputPer1M: 0.
|
|
1474
|
+
readonly inputPer1M: 0.0296;
|
|
1475
|
+
readonly outputPer1M: 0.136;
|
|
1001
1476
|
readonly vendor: "openai";
|
|
1002
1477
|
readonly provider: "openai";
|
|
1478
|
+
readonly priceSource: "openrouter";
|
|
1479
|
+
readonly idSource: "openrouter";
|
|
1003
1480
|
};
|
|
1004
1481
|
"gpt-oss-20b": {
|
|
1005
|
-
readonly inputPer1M: 0.
|
|
1006
|
-
readonly outputPer1M: 0.
|
|
1007
|
-
readonly cacheReadMultiplier: 1;
|
|
1482
|
+
readonly inputPer1M: 0.018;
|
|
1483
|
+
readonly outputPer1M: 0.09;
|
|
1008
1484
|
readonly vendor: "openai";
|
|
1009
1485
|
readonly provider: "openai";
|
|
1486
|
+
readonly priceSource: "openrouter";
|
|
1487
|
+
readonly idSource: "openrouter";
|
|
1010
1488
|
};
|
|
1011
1489
|
"gpt-oss-20b:batch": {
|
|
1012
|
-
readonly inputPer1M: 0.
|
|
1013
|
-
readonly outputPer1M: 0.
|
|
1490
|
+
readonly inputPer1M: 0.024;
|
|
1491
|
+
readonly outputPer1M: 0.112;
|
|
1014
1492
|
readonly vendor: "openai";
|
|
1015
1493
|
readonly provider: "openai";
|
|
1494
|
+
readonly priceSource: "openrouter";
|
|
1495
|
+
readonly idSource: "openrouter";
|
|
1016
1496
|
};
|
|
1017
1497
|
"gpt-oss-safeguard-20b": {
|
|
1018
1498
|
readonly inputPer1M: 0.075;
|
|
@@ -1020,6 +1500,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1020
1500
|
readonly cacheReadMultiplier: 0.5;
|
|
1021
1501
|
readonly vendor: "openai";
|
|
1022
1502
|
readonly provider: "openai";
|
|
1503
|
+
readonly priceSource: "openrouter";
|
|
1504
|
+
readonly idSource: "openrouter";
|
|
1023
1505
|
};
|
|
1024
1506
|
o1: {
|
|
1025
1507
|
readonly inputPer1M: 15;
|
|
@@ -1027,12 +1509,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1027
1509
|
readonly cacheReadMultiplier: 0.5;
|
|
1028
1510
|
readonly vendor: "openai";
|
|
1029
1511
|
readonly provider: "openai";
|
|
1512
|
+
readonly priceSource: "openai";
|
|
1513
|
+
readonly idSource: "openrouter";
|
|
1030
1514
|
};
|
|
1031
1515
|
"o1-pro": {
|
|
1032
1516
|
readonly inputPer1M: 150;
|
|
1033
1517
|
readonly outputPer1M: 600;
|
|
1034
1518
|
readonly vendor: "openai";
|
|
1035
1519
|
readonly provider: "openai";
|
|
1520
|
+
readonly priceSource: "openai";
|
|
1521
|
+
readonly idSource: "openrouter";
|
|
1036
1522
|
};
|
|
1037
1523
|
o3: {
|
|
1038
1524
|
readonly inputPer1M: 2;
|
|
@@ -1040,6 +1526,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1040
1526
|
readonly cacheReadMultiplier: 0.25;
|
|
1041
1527
|
readonly vendor: "openai";
|
|
1042
1528
|
readonly provider: "openai";
|
|
1529
|
+
readonly priceSource: "openai";
|
|
1530
|
+
readonly idSource: "openrouter";
|
|
1043
1531
|
};
|
|
1044
1532
|
"o3-mini": {
|
|
1045
1533
|
readonly inputPer1M: 1.1;
|
|
@@ -1047,6 +1535,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1047
1535
|
readonly cacheReadMultiplier: 0.5;
|
|
1048
1536
|
readonly vendor: "openai";
|
|
1049
1537
|
readonly provider: "openai";
|
|
1538
|
+
readonly priceSource: "openai";
|
|
1539
|
+
readonly idSource: "openrouter";
|
|
1050
1540
|
};
|
|
1051
1541
|
"o3-mini-high": {
|
|
1052
1542
|
readonly inputPer1M: 1.1;
|
|
@@ -1054,12 +1544,32 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1054
1544
|
readonly cacheReadMultiplier: 0.5;
|
|
1055
1545
|
readonly vendor: "openai";
|
|
1056
1546
|
readonly provider: "openai";
|
|
1547
|
+
readonly priceSource: "openrouter";
|
|
1548
|
+
readonly idSource: "openrouter";
|
|
1549
|
+
};
|
|
1550
|
+
"o3-mini:batch": {
|
|
1551
|
+
readonly inputPer1M: 0.55;
|
|
1552
|
+
readonly outputPer1M: 2.2;
|
|
1553
|
+
readonly vendor: "openai";
|
|
1554
|
+
readonly provider: "openai";
|
|
1555
|
+
readonly priceSource: "openai";
|
|
1556
|
+
readonly idSource: "openrouter";
|
|
1057
1557
|
};
|
|
1058
1558
|
"o3-pro": {
|
|
1059
1559
|
readonly inputPer1M: 20;
|
|
1060
1560
|
readonly outputPer1M: 80;
|
|
1061
1561
|
readonly vendor: "openai";
|
|
1062
1562
|
readonly provider: "openai";
|
|
1563
|
+
readonly priceSource: "openai";
|
|
1564
|
+
readonly idSource: "openrouter";
|
|
1565
|
+
};
|
|
1566
|
+
"o3:batch": {
|
|
1567
|
+
readonly inputPer1M: 1;
|
|
1568
|
+
readonly outputPer1M: 4;
|
|
1569
|
+
readonly vendor: "openai";
|
|
1570
|
+
readonly provider: "openai";
|
|
1571
|
+
readonly priceSource: "openai";
|
|
1572
|
+
readonly idSource: "openrouter";
|
|
1063
1573
|
};
|
|
1064
1574
|
"o4-mini": {
|
|
1065
1575
|
readonly inputPer1M: 1.1;
|
|
@@ -1067,6 +1577,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1067
1577
|
readonly cacheReadMultiplier: 0.25;
|
|
1068
1578
|
readonly vendor: "openai";
|
|
1069
1579
|
readonly provider: "openai";
|
|
1580
|
+
readonly priceSource: "openai";
|
|
1581
|
+
readonly idSource: "openrouter";
|
|
1070
1582
|
};
|
|
1071
1583
|
"o4-mini-high": {
|
|
1072
1584
|
readonly inputPer1M: 1.1;
|
|
@@ -1074,6 +1586,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1074
1586
|
readonly cacheReadMultiplier: 0.25;
|
|
1075
1587
|
readonly vendor: "openai";
|
|
1076
1588
|
readonly provider: "openai";
|
|
1589
|
+
readonly priceSource: "openrouter";
|
|
1590
|
+
readonly idSource: "openrouter";
|
|
1591
|
+
};
|
|
1592
|
+
"o4-mini:batch": {
|
|
1593
|
+
readonly inputPer1M: 0.55;
|
|
1594
|
+
readonly outputPer1M: 2.2;
|
|
1595
|
+
readonly vendor: "openai";
|
|
1596
|
+
readonly provider: "openai";
|
|
1597
|
+
readonly priceSource: "openai";
|
|
1598
|
+
readonly idSource: "openrouter";
|
|
1077
1599
|
};
|
|
1078
1600
|
"gemini-2.5-flash": {
|
|
1079
1601
|
readonly inputPer1M: 0.3;
|
|
@@ -1236,9 +1758,9 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1236
1758
|
readonly provider: "moonshot";
|
|
1237
1759
|
};
|
|
1238
1760
|
"kimi-k2.7-code": {
|
|
1239
|
-
readonly inputPer1M: 0.
|
|
1240
|
-
readonly outputPer1M: 3.
|
|
1241
|
-
readonly cacheReadMultiplier: 0.
|
|
1761
|
+
readonly inputPer1M: 0.6562;
|
|
1762
|
+
readonly outputPer1M: 3.3;
|
|
1763
|
+
readonly cacheReadMultiplier: 0.2743;
|
|
1242
1764
|
readonly vendor: "moonshot";
|
|
1243
1765
|
readonly provider: "moonshot";
|
|
1244
1766
|
};
|
|
@@ -1322,15 +1844,28 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1322
1844
|
* `LlmModelId` now unions the pricing keys with `CONTEXT_WINDOWS` (each
|
|
1323
1845
|
* provider's own synced `/v1/models` id list — see
|
|
1324
1846
|
* `packages/catalog-sync/src/generators/llm-context-windows.ts` — carries
|
|
1325
|
-
* ids independent of whether a price has synced yet)
|
|
1326
|
-
* (thousands of ids, self-updating)
|
|
1847
|
+
* ids independent of whether a price has synced yet), `OPENROUTER_ROUTES`
|
|
1848
|
+
* (thousands of ids, self-updating), and `OPENAI_GENERATED_UNPRICED_IDS`
|
|
1849
|
+
* (ids `api.openai.com/v1/models` lists that neither OpenAI's pricing page
|
|
1850
|
+
* nor OpenRouter prices — mostly dated snapshots like `gpt-5.4-2026-03-05`.
|
|
1851
|
+
* OpenAI's `/v1/models` publishes no context window, so unlike the other
|
|
1852
|
+
* providers these ids cannot ride in via `CONTEXT_WINDOWS`; they need their
|
|
1853
|
+
* own existence-only list, which is exactly what that export is).
|
|
1854
|
+
* A model can be a member of this type
|
|
1327
1855
|
* with `resolvePricing` returning `undefined` for it — callers MUST treat
|
|
1328
1856
|
* that as "price not yet known," never as "doesn't exist" (see
|
|
1329
1857
|
* `ResolvedModel`'s `pricing?` in `registry/index.ts`, and `isKnownLlmId`
|
|
1330
1858
|
* below for an existence-only check). Downstream curation/config should
|
|
1331
1859
|
* still constrain ids to this type so a typo is a build error.
|
|
1860
|
+
*
|
|
1861
|
+
* That last point is why the generator emits `OPENAI_GENERATED_UNPRICED_IDS`
|
|
1862
|
+
* as a literal tuple (`[...] as const`, and `[] as const` when empty) and
|
|
1863
|
+
* never as `readonly string[]`: indexing the latter with `[number]` yields
|
|
1864
|
+
* plain `string`, which would widen this whole union to `string` and turn
|
|
1865
|
+
* every id typo back into a silent runtime miss. Tested at the source, in
|
|
1866
|
+
* catalog-sync's `openai-catalog.test.ts`.
|
|
1332
1867
|
*/
|
|
1333
|
-
type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOWS | keyof typeof OPENROUTER_ROUTES;
|
|
1868
|
+
type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOWS | keyof typeof OPENROUTER_ROUTES | (typeof OPENAI_GENERATED_UNPRICED_IDS)[number];
|
|
1334
1869
|
/**
|
|
1335
1870
|
* True iff `modelId` is a real, known catalog id — regardless of whether it
|
|
1336
1871
|
* has a price yet. Use this (not `resolvePricing(id) !== undefined`) to
|
|
@@ -1341,10 +1876,11 @@ type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOW
|
|
|
1341
1876
|
declare function isKnownLlmId(modelId: string): boolean;
|
|
1342
1877
|
/**
|
|
1343
1878
|
* Every known LLM id that has NO pricing row (`CONTEXT_WINDOWS` ∪
|
|
1344
|
-
* `OPENROUTER_ROUTES`, minus whatever
|
|
1345
|
-
* — the enumeration `listModels`'s
|
|
1346
|
-
* known-but-unpriced model instead of
|
|
1347
|
-
* carries its provider when derivable (see
|
|
1879
|
+
* `OPENROUTER_ROUTES` ∪ `OPENAI_GENERATED_UNPRICED_IDS`, minus whatever
|
|
1880
|
+
* `LLM_PRICING_CATALOG` already prices) — the enumeration `listModels`'s
|
|
1881
|
+
* `llm` branch needs to surface a known-but-unpriced model instead of
|
|
1882
|
+
* silently dropping it. Each entry carries its provider when derivable (see
|
|
1883
|
+
* `getModelProvider`).
|
|
1348
1884
|
*/
|
|
1349
1885
|
declare function listUnpricedKnownLlmIds(): Array<{
|
|
1350
1886
|
id: string;
|
|
@@ -1410,7 +1946,7 @@ type KnownLlmId = LlmModelId | LlmModelAlias;
|
|
|
1410
1946
|
* partial-prefix match. Used both for cost computation and BYOK shadow
|
|
1411
1947
|
* accounting; semantics are load-bearing for migration.
|
|
1412
1948
|
*/
|
|
1413
|
-
declare function resolvePricing(
|
|
1949
|
+
declare function resolvePricing(rawModelId: string): LLMPricing | undefined;
|
|
1414
1950
|
/**
|
|
1415
1951
|
* Like {@link resolvePricing} but WITHOUT the substring/partial-prefix
|
|
1416
1952
|
* fallback — an id resolves ONLY on an exact catalog key or an exact alias.
|
|
@@ -1423,13 +1959,13 @@ declare function resolvePricing(modelId: string): LLMPricing | undefined;
|
|
|
1423
1959
|
* `resolvePricing`/`resolveAlias` are intentionally left unchanged for their
|
|
1424
1960
|
* existing callers.
|
|
1425
1961
|
*/
|
|
1426
|
-
declare function resolvePricingExact(
|
|
1962
|
+
declare function resolvePricingExact(rawModelId: string): LLMPricing | undefined;
|
|
1427
1963
|
/**
|
|
1428
1964
|
* Resolves a model id to its canonical catalog key (or the original id if no
|
|
1429
1965
|
* match). Public surface for consumers that need the canonical id without
|
|
1430
1966
|
* the pricing payload.
|
|
1431
1967
|
*/
|
|
1432
|
-
declare function resolveAlias(
|
|
1968
|
+
declare function resolveAlias(rawModelId: string): string;
|
|
1433
1969
|
/**
|
|
1434
1970
|
* Resolves a model id to its live context window (max input tokens) and max
|
|
1435
1971
|
* output tokens, sourced from `CONTEXT_WINDOWS`
|
|
@@ -1442,6 +1978,19 @@ declare function resolveAlias(modelId: string): string;
|
|
|
1442
1978
|
* older aliases. Returns undefined for ids no synced provider carries.
|
|
1443
1979
|
*/
|
|
1444
1980
|
declare function resolveContextWindow(modelId: string): ContextWindowEntry | undefined;
|
|
1981
|
+
/**
|
|
1982
|
+
* Split a trailing context-lane hint off a model id: `"claude-opus-5-5[1m]"`
|
|
1983
|
+
* → `{ id: "claude-opus-5-5", contextWindow: 1_000_000 }`. Claude Code (and
|
|
1984
|
+
* claude-agent-acp's model picker) spell the extended-context lane of a
|
|
1985
|
+
* model this way; the bracket is not part of the model's identity (pricing,
|
|
1986
|
+
* provider, catalog key) but IS an authoritative statement of its window.
|
|
1987
|
+
* Ids without a well-formed `[<n>k]` / `[<n>m]` suffix come back unchanged
|
|
1988
|
+
* with no `contextWindow`.
|
|
1989
|
+
*/
|
|
1990
|
+
declare function splitContextWindowHint(modelId: string): {
|
|
1991
|
+
id: string;
|
|
1992
|
+
contextWindow?: number;
|
|
1993
|
+
};
|
|
1445
1994
|
/**
|
|
1446
1995
|
* Every live model id `CONTEXT_WINDOWS` carries for one provider — sourced
|
|
1447
1996
|
* straight from that provider's own `/v1/models` sync (`llm-context-windows.ts`
|
|
@@ -1605,4 +2154,4 @@ interface CacheStats {
|
|
|
1605
2154
|
*/
|
|
1606
2155
|
declare function getCacheStats(modelId: string, usage: LLMUsageBreakdown, opts?: CalculateLLMCreditCostOptions): CacheStats;
|
|
1607
2156
|
|
|
1608
|
-
export { type CacheStats as C, DEFAULT_PRICING as D, type KnownLlmId as K, type LLMPricing as L, MODEL_ALIASES as M, type LLMCreditCostResult as a, type LLMUsageBreakdown as b, LLM_PRICING_CATALOG as c, calculateLLMCreditCost as d, type CalculateLLMCreditCostOptions as e, type ContextWindowEntry as f, type LlmModelAlias as g, type LlmModelId as h, type ModelRoute as i, getCacheStats as j, getModelProvider as k, isKnownLlmId as l, listNativeModelIds as m, listUnpricedKnownLlmIds as n, resolveAlias as o, resolveContextWindow as p, resolveModelRoute as q, resolvePricing as r, resolvePricingExact as s };
|
|
2157
|
+
export { type CacheStats as C, DEFAULT_PRICING as D, type KnownLlmId as K, type LLMPricing as L, MODEL_ALIASES as M, type LLMCreditCostResult as a, type LLMUsageBreakdown as b, LLM_PRICING_CATALOG as c, calculateLLMCreditCost as d, type CalculateLLMCreditCostOptions as e, type ContextWindowEntry as f, type LlmModelAlias as g, type LlmModelId as h, type ModelRoute as i, getCacheStats as j, getModelProvider as k, isKnownLlmId as l, listNativeModelIds as m, listUnpricedKnownLlmIds as n, resolveAlias as o, resolveContextWindow as p, resolveModelRoute as q, resolvePricing as r, resolvePricingExact as s, splitContextWindowHint as t };
|