@agentproto/model-catalog 0.10.1 → 0.11.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.
- package/dist/access/index.d.ts +3 -3
- package/dist/access/index.mjs +4 -4
- package/dist/{catalog-BAb74hY-.d.ts → catalog-BMcj8odg.d.ts} +612 -22
- package/dist/{chunk-B67THXMQ.mjs → chunk-3CU3W43Q.mjs} +3 -3
- package/dist/{chunk-B67THXMQ.mjs.map → chunk-3CU3W43Q.mjs.map} +1 -1
- package/dist/{chunk-I5E7F6KY.mjs → chunk-3RHYOFVS.mjs} +498 -190
- package/dist/chunk-3RHYOFVS.mjs.map +1 -0
- package/dist/{chunk-TC6S3SY3.mjs → chunk-ARK2DCFR.mjs} +3 -3
- package/dist/{chunk-TC6S3SY3.mjs.map → chunk-ARK2DCFR.mjs.map} +1 -1
- package/dist/{chunk-UZDL26T7.mjs → chunk-GE56A2NL.mjs} +4 -4
- package/dist/{chunk-UZDL26T7.mjs.map → chunk-GE56A2NL.mjs.map} +1 -1
- package/dist/{chunk-E3IERKDC.mjs → chunk-S26LSXTN.mjs} +3 -3
- package/dist/{chunk-E3IERKDC.mjs.map → chunk-S26LSXTN.mjs.map} +1 -1
- package/dist/{chunk-G6CA3BXI.mjs → chunk-U5O444SC.mjs} +91 -57
- package/dist/chunk-U5O444SC.mjs.map +1 -0
- package/dist/{chunk-O6SQMVPM.mjs → chunk-UI3BUHUO.mjs} +4 -4
- package/dist/{chunk-O6SQMVPM.mjs.map → chunk-UI3BUHUO.mjs.map} +1 -1
- package/dist/{chunk-E5CVTRPJ.mjs → chunk-YBEL3JLY.mjs} +5 -5
- package/dist/{chunk-E5CVTRPJ.mjs.map → chunk-YBEL3JLY.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-C77bYu0f.d.ts} +1 -1
- package/dist/{index-vC37SFpk.d.ts → index-CJ7uYbnm.d.ts} +1 -1
- package/dist/{index-BWvtVzEG.d.ts → index-VyKByfsk.d.ts} +2 -2
- 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-G6CA3BXI.mjs.map +0 -1
- package/dist/chunk-I5E7F6KY.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 ["chat-latest", "gpt-3.5-turbo-instruct-0914", "gpt-4.1-2025-04-14", "gpt-4.1-mini-2025-04-14", "gpt-4.1-nano-2025-04-14", "gpt-4o-mini-search-preview", "gpt-4o-mini-search-preview-2025-03-11", "gpt-4o-search-preview", "gpt-4o-search-preview-2025-03-11", "gpt-5-2025-08-07", "gpt-5-chat-latest", "gpt-5-codex", "gpt-5-mini-2025-08-07", "gpt-5-nano-2025-08-07", "gpt-5-pro-2025-10-06", "gpt-5-search-api-2025-10-14", "gpt-5.1-2025-11-13", "gpt-5.1-chat-latest", "gpt-5.2-2025-12-11", "gpt-5.2-chat-latest", "gpt-5.2-pro-2025-12-11", "gpt-5.3-chat-latest", "gpt-5.4-2026-03-05", "gpt-5.4-mini-2026-03-17", "gpt-5.4-nano-2026-03-17", "gpt-5.4-pro-2026-03-05", "gpt-5.5-2026-04-23", "gpt-5.5-pro-2026-04-23", "gpt-audio-1.5", "gpt-audio-2025-08-28", "gpt-audio-mini-2025-10-06", "gpt-audio-mini-2025-12-15", "o1-2024-12-17", "o1-pro-2025-03-19", "o3-2025-04-16", "o3-mini-2025-01-31", "o4-mini-2025-04-16"];
|
|
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: {
|
|
@@ -680,42 +721,96 @@ 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: "openai";
|
|
726
|
+
};
|
|
727
|
+
"gpt-3.5-turbo-0125": {
|
|
728
|
+
readonly inputPer1M: 0.5;
|
|
729
|
+
readonly outputPer1M: 1.5;
|
|
730
|
+
readonly vendor: "openai";
|
|
731
|
+
readonly provider: "openai";
|
|
732
|
+
readonly priceSource: "openai";
|
|
733
|
+
readonly idSource: "openai";
|
|
683
734
|
};
|
|
684
735
|
"gpt-3.5-turbo-0613": {
|
|
685
736
|
readonly inputPer1M: 1;
|
|
686
737
|
readonly outputPer1M: 2;
|
|
687
738
|
readonly vendor: "openai";
|
|
688
739
|
readonly provider: "openai";
|
|
740
|
+
readonly priceSource: "openrouter";
|
|
741
|
+
readonly idSource: "openrouter";
|
|
742
|
+
};
|
|
743
|
+
"gpt-3.5-turbo-1106": {
|
|
744
|
+
readonly inputPer1M: 1;
|
|
745
|
+
readonly outputPer1M: 2;
|
|
746
|
+
readonly vendor: "openai";
|
|
747
|
+
readonly provider: "openai";
|
|
748
|
+
readonly priceSource: "openai";
|
|
749
|
+
readonly idSource: "openai";
|
|
689
750
|
};
|
|
690
751
|
"gpt-3.5-turbo-16k": {
|
|
691
752
|
readonly inputPer1M: 3;
|
|
692
753
|
readonly outputPer1M: 4;
|
|
693
754
|
readonly vendor: "openai";
|
|
694
755
|
readonly provider: "openai";
|
|
756
|
+
readonly priceSource: "openrouter";
|
|
757
|
+
readonly idSource: "openai";
|
|
695
758
|
};
|
|
696
759
|
"gpt-3.5-turbo-instruct": {
|
|
697
760
|
readonly inputPer1M: 1.5;
|
|
698
761
|
readonly outputPer1M: 2;
|
|
699
762
|
readonly vendor: "openai";
|
|
700
763
|
readonly provider: "openai";
|
|
764
|
+
readonly priceSource: "openai";
|
|
765
|
+
readonly idSource: "openai";
|
|
766
|
+
};
|
|
767
|
+
"gpt-3.5-turbo:batch": {
|
|
768
|
+
readonly inputPer1M: 0.25;
|
|
769
|
+
readonly outputPer1M: 0.75;
|
|
770
|
+
readonly vendor: "openai";
|
|
771
|
+
readonly provider: "openai";
|
|
772
|
+
readonly priceSource: "openrouter";
|
|
773
|
+
readonly idSource: "openrouter";
|
|
701
774
|
};
|
|
702
775
|
"gpt-4": {
|
|
703
776
|
readonly inputPer1M: 30;
|
|
704
777
|
readonly outputPer1M: 60;
|
|
705
778
|
readonly vendor: "openai";
|
|
706
779
|
readonly provider: "openai";
|
|
780
|
+
readonly priceSource: "openrouter";
|
|
781
|
+
readonly idSource: "openai";
|
|
782
|
+
};
|
|
783
|
+
"gpt-4-0613": {
|
|
784
|
+
readonly inputPer1M: 30;
|
|
785
|
+
readonly outputPer1M: 60;
|
|
786
|
+
readonly vendor: "openai";
|
|
787
|
+
readonly provider: "openai";
|
|
788
|
+
readonly priceSource: "openai";
|
|
789
|
+
readonly idSource: "openai";
|
|
707
790
|
};
|
|
708
791
|
"gpt-4-turbo": {
|
|
709
792
|
readonly inputPer1M: 10;
|
|
710
793
|
readonly outputPer1M: 30;
|
|
711
794
|
readonly vendor: "openai";
|
|
712
795
|
readonly provider: "openai";
|
|
796
|
+
readonly priceSource: "openrouter";
|
|
797
|
+
readonly idSource: "openai";
|
|
713
798
|
};
|
|
714
|
-
"gpt-4-turbo-
|
|
799
|
+
"gpt-4-turbo-2024-04-09": {
|
|
715
800
|
readonly inputPer1M: 10;
|
|
716
801
|
readonly outputPer1M: 30;
|
|
717
802
|
readonly vendor: "openai";
|
|
718
803
|
readonly provider: "openai";
|
|
804
|
+
readonly priceSource: "openai";
|
|
805
|
+
readonly idSource: "openai";
|
|
806
|
+
};
|
|
807
|
+
"gpt-4-turbo:batch": {
|
|
808
|
+
readonly inputPer1M: 5;
|
|
809
|
+
readonly outputPer1M: 15;
|
|
810
|
+
readonly vendor: "openai";
|
|
811
|
+
readonly provider: "openai";
|
|
812
|
+
readonly priceSource: "openrouter";
|
|
813
|
+
readonly idSource: "openrouter";
|
|
719
814
|
};
|
|
720
815
|
"gpt-4.1": {
|
|
721
816
|
readonly inputPer1M: 2;
|
|
@@ -723,6 +818,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
723
818
|
readonly cacheReadMultiplier: 0.25;
|
|
724
819
|
readonly vendor: "openai";
|
|
725
820
|
readonly provider: "openai";
|
|
821
|
+
readonly priceSource: "openai";
|
|
822
|
+
readonly idSource: "openai";
|
|
726
823
|
};
|
|
727
824
|
"gpt-4.1-mini": {
|
|
728
825
|
readonly inputPer1M: 0.4;
|
|
@@ -730,6 +827,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
730
827
|
readonly cacheReadMultiplier: 0.25;
|
|
731
828
|
readonly vendor: "openai";
|
|
732
829
|
readonly provider: "openai";
|
|
830
|
+
readonly priceSource: "openai";
|
|
831
|
+
readonly idSource: "openai";
|
|
832
|
+
};
|
|
833
|
+
"gpt-4.1-mini:batch": {
|
|
834
|
+
readonly inputPer1M: 0.2;
|
|
835
|
+
readonly outputPer1M: 0.8;
|
|
836
|
+
readonly vendor: "openai";
|
|
837
|
+
readonly provider: "openai";
|
|
838
|
+
readonly priceSource: "openai";
|
|
839
|
+
readonly idSource: "openrouter";
|
|
733
840
|
};
|
|
734
841
|
"gpt-4.1-nano": {
|
|
735
842
|
readonly inputPer1M: 0.1;
|
|
@@ -737,6 +844,24 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
737
844
|
readonly cacheReadMultiplier: 0.25;
|
|
738
845
|
readonly vendor: "openai";
|
|
739
846
|
readonly provider: "openai";
|
|
847
|
+
readonly priceSource: "openai";
|
|
848
|
+
readonly idSource: "openai";
|
|
849
|
+
};
|
|
850
|
+
"gpt-4.1-nano:batch": {
|
|
851
|
+
readonly inputPer1M: 0.05;
|
|
852
|
+
readonly outputPer1M: 0.2;
|
|
853
|
+
readonly vendor: "openai";
|
|
854
|
+
readonly provider: "openai";
|
|
855
|
+
readonly priceSource: "openai";
|
|
856
|
+
readonly idSource: "openrouter";
|
|
857
|
+
};
|
|
858
|
+
"gpt-4.1:batch": {
|
|
859
|
+
readonly inputPer1M: 1;
|
|
860
|
+
readonly outputPer1M: 4;
|
|
861
|
+
readonly vendor: "openai";
|
|
862
|
+
readonly provider: "openai";
|
|
863
|
+
readonly priceSource: "openai";
|
|
864
|
+
readonly idSource: "openrouter";
|
|
740
865
|
};
|
|
741
866
|
"gpt-4o": {
|
|
742
867
|
readonly inputPer1M: 2.5;
|
|
@@ -744,12 +869,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
744
869
|
readonly cacheReadMultiplier: 0.5;
|
|
745
870
|
readonly vendor: "openai";
|
|
746
871
|
readonly provider: "openai";
|
|
872
|
+
readonly priceSource: "openai";
|
|
873
|
+
readonly idSource: "openai";
|
|
747
874
|
};
|
|
748
875
|
"gpt-4o-2024-05-13": {
|
|
749
876
|
readonly inputPer1M: 5;
|
|
750
877
|
readonly outputPer1M: 15;
|
|
751
878
|
readonly vendor: "openai";
|
|
752
879
|
readonly provider: "openai";
|
|
880
|
+
readonly priceSource: "openai";
|
|
881
|
+
readonly idSource: "openai";
|
|
753
882
|
};
|
|
754
883
|
"gpt-4o-2024-08-06": {
|
|
755
884
|
readonly inputPer1M: 2.5;
|
|
@@ -757,6 +886,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
757
886
|
readonly cacheReadMultiplier: 0.5;
|
|
758
887
|
readonly vendor: "openai";
|
|
759
888
|
readonly provider: "openai";
|
|
889
|
+
readonly priceSource: "openrouter";
|
|
890
|
+
readonly idSource: "openai";
|
|
760
891
|
};
|
|
761
892
|
"gpt-4o-2024-11-20": {
|
|
762
893
|
readonly inputPer1M: 2.5;
|
|
@@ -764,6 +895,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
764
895
|
readonly cacheReadMultiplier: 0.5;
|
|
765
896
|
readonly vendor: "openai";
|
|
766
897
|
readonly provider: "openai";
|
|
898
|
+
readonly priceSource: "openrouter";
|
|
899
|
+
readonly idSource: "openai";
|
|
767
900
|
};
|
|
768
901
|
"gpt-4o-mini": {
|
|
769
902
|
readonly inputPer1M: 0.15;
|
|
@@ -771,6 +904,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
771
904
|
readonly cacheReadMultiplier: 0.5;
|
|
772
905
|
readonly vendor: "openai";
|
|
773
906
|
readonly provider: "openai";
|
|
907
|
+
readonly priceSource: "openai";
|
|
908
|
+
readonly idSource: "openai";
|
|
774
909
|
};
|
|
775
910
|
"gpt-4o-mini-2024-07-18": {
|
|
776
911
|
readonly inputPer1M: 0.15;
|
|
@@ -778,6 +913,24 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
778
913
|
readonly cacheReadMultiplier: 0.5;
|
|
779
914
|
readonly vendor: "openai";
|
|
780
915
|
readonly provider: "openai";
|
|
916
|
+
readonly priceSource: "openrouter";
|
|
917
|
+
readonly idSource: "openai";
|
|
918
|
+
};
|
|
919
|
+
"gpt-4o-mini:batch": {
|
|
920
|
+
readonly inputPer1M: 0.075;
|
|
921
|
+
readonly outputPer1M: 0.3;
|
|
922
|
+
readonly vendor: "openai";
|
|
923
|
+
readonly provider: "openai";
|
|
924
|
+
readonly priceSource: "openai";
|
|
925
|
+
readonly idSource: "openrouter";
|
|
926
|
+
};
|
|
927
|
+
"gpt-4o:batch": {
|
|
928
|
+
readonly inputPer1M: 1.25;
|
|
929
|
+
readonly outputPer1M: 5;
|
|
930
|
+
readonly vendor: "openai";
|
|
931
|
+
readonly provider: "openai";
|
|
932
|
+
readonly priceSource: "openai";
|
|
933
|
+
readonly idSource: "openrouter";
|
|
781
934
|
};
|
|
782
935
|
"gpt-5": {
|
|
783
936
|
readonly inputPer1M: 1.25;
|
|
@@ -785,6 +938,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
785
938
|
readonly cacheReadMultiplier: 0.1;
|
|
786
939
|
readonly vendor: "openai";
|
|
787
940
|
readonly provider: "openai";
|
|
941
|
+
readonly priceSource: "openai";
|
|
942
|
+
readonly idSource: "openai";
|
|
788
943
|
};
|
|
789
944
|
"gpt-5-image": {
|
|
790
945
|
readonly inputPer1M: 10;
|
|
@@ -792,6 +947,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
792
947
|
readonly cacheReadMultiplier: 0.125;
|
|
793
948
|
readonly vendor: "openai";
|
|
794
949
|
readonly provider: "openai";
|
|
950
|
+
readonly priceSource: "openrouter";
|
|
951
|
+
readonly idSource: "openrouter";
|
|
795
952
|
};
|
|
796
953
|
"gpt-5-image-mini": {
|
|
797
954
|
readonly inputPer1M: 2.5;
|
|
@@ -799,6 +956,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
799
956
|
readonly cacheReadMultiplier: 0.1;
|
|
800
957
|
readonly vendor: "openai";
|
|
801
958
|
readonly provider: "openai";
|
|
959
|
+
readonly priceSource: "openrouter";
|
|
960
|
+
readonly idSource: "openrouter";
|
|
802
961
|
};
|
|
803
962
|
"gpt-5-mini": {
|
|
804
963
|
readonly inputPer1M: 0.25;
|
|
@@ -806,6 +965,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
806
965
|
readonly cacheReadMultiplier: 0.1;
|
|
807
966
|
readonly vendor: "openai";
|
|
808
967
|
readonly provider: "openai";
|
|
968
|
+
readonly priceSource: "openai";
|
|
969
|
+
readonly idSource: "openai";
|
|
970
|
+
};
|
|
971
|
+
"gpt-5-mini:batch": {
|
|
972
|
+
readonly inputPer1M: 0.125;
|
|
973
|
+
readonly outputPer1M: 1;
|
|
974
|
+
readonly cacheReadMultiplier: 0.1;
|
|
975
|
+
readonly vendor: "openai";
|
|
976
|
+
readonly provider: "openai";
|
|
977
|
+
readonly priceSource: "openai";
|
|
978
|
+
readonly idSource: "openrouter";
|
|
809
979
|
};
|
|
810
980
|
"gpt-5-nano": {
|
|
811
981
|
readonly inputPer1M: 0.05;
|
|
@@ -813,12 +983,51 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
813
983
|
readonly cacheReadMultiplier: 0.1;
|
|
814
984
|
readonly vendor: "openai";
|
|
815
985
|
readonly provider: "openai";
|
|
986
|
+
readonly priceSource: "openai";
|
|
987
|
+
readonly idSource: "openai";
|
|
988
|
+
};
|
|
989
|
+
"gpt-5-nano:batch": {
|
|
990
|
+
readonly inputPer1M: 0.025;
|
|
991
|
+
readonly outputPer1M: 0.2;
|
|
992
|
+
readonly cacheReadMultiplier: 0.1;
|
|
993
|
+
readonly vendor: "openai";
|
|
994
|
+
readonly provider: "openai";
|
|
995
|
+
readonly priceSource: "openai";
|
|
996
|
+
readonly idSource: "openrouter";
|
|
816
997
|
};
|
|
817
998
|
"gpt-5-pro": {
|
|
818
999
|
readonly inputPer1M: 15;
|
|
819
1000
|
readonly outputPer1M: 120;
|
|
820
1001
|
readonly vendor: "openai";
|
|
821
1002
|
readonly provider: "openai";
|
|
1003
|
+
readonly priceSource: "openai";
|
|
1004
|
+
readonly idSource: "openai";
|
|
1005
|
+
};
|
|
1006
|
+
"gpt-5-pro:batch": {
|
|
1007
|
+
readonly inputPer1M: 7.5;
|
|
1008
|
+
readonly outputPer1M: 60;
|
|
1009
|
+
readonly vendor: "openai";
|
|
1010
|
+
readonly provider: "openai";
|
|
1011
|
+
readonly priceSource: "openai";
|
|
1012
|
+
readonly idSource: "openrouter";
|
|
1013
|
+
};
|
|
1014
|
+
"gpt-5-search-api": {
|
|
1015
|
+
readonly inputPer1M: 1.25;
|
|
1016
|
+
readonly outputPer1M: 10;
|
|
1017
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1018
|
+
readonly vendor: "openai";
|
|
1019
|
+
readonly provider: "openai";
|
|
1020
|
+
readonly priceSource: "openai";
|
|
1021
|
+
readonly idSource: "openai";
|
|
1022
|
+
};
|
|
1023
|
+
"gpt-5:batch": {
|
|
1024
|
+
readonly inputPer1M: 0.625;
|
|
1025
|
+
readonly outputPer1M: 5;
|
|
1026
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1027
|
+
readonly vendor: "openai";
|
|
1028
|
+
readonly provider: "openai";
|
|
1029
|
+
readonly priceSource: "openai";
|
|
1030
|
+
readonly idSource: "openrouter";
|
|
822
1031
|
};
|
|
823
1032
|
"gpt-5.1": {
|
|
824
1033
|
readonly inputPer1M: 1.25;
|
|
@@ -826,6 +1035,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
826
1035
|
readonly cacheReadMultiplier: 0.1;
|
|
827
1036
|
readonly vendor: "openai";
|
|
828
1037
|
readonly provider: "openai";
|
|
1038
|
+
readonly priceSource: "openai";
|
|
1039
|
+
readonly idSource: "openai";
|
|
829
1040
|
};
|
|
830
1041
|
"gpt-5.1-codex": {
|
|
831
1042
|
readonly inputPer1M: 1.25;
|
|
@@ -833,6 +1044,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
833
1044
|
readonly cacheReadMultiplier: 0.104;
|
|
834
1045
|
readonly vendor: "openai";
|
|
835
1046
|
readonly provider: "openai";
|
|
1047
|
+
readonly priceSource: "openrouter";
|
|
1048
|
+
readonly idSource: "openai";
|
|
836
1049
|
};
|
|
837
1050
|
"gpt-5.1-codex-max": {
|
|
838
1051
|
readonly inputPer1M: 1.25;
|
|
@@ -840,6 +1053,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
840
1053
|
readonly cacheReadMultiplier: 0.1;
|
|
841
1054
|
readonly vendor: "openai";
|
|
842
1055
|
readonly provider: "openai";
|
|
1056
|
+
readonly priceSource: "openrouter";
|
|
1057
|
+
readonly idSource: "openai";
|
|
843
1058
|
};
|
|
844
1059
|
"gpt-5.1-codex-mini": {
|
|
845
1060
|
readonly inputPer1M: 0.25;
|
|
@@ -847,6 +1062,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
847
1062
|
readonly cacheReadMultiplier: 0.12;
|
|
848
1063
|
readonly vendor: "openai";
|
|
849
1064
|
readonly provider: "openai";
|
|
1065
|
+
readonly priceSource: "openrouter";
|
|
1066
|
+
readonly idSource: "openai";
|
|
1067
|
+
};
|
|
1068
|
+
"gpt-5.1:batch": {
|
|
1069
|
+
readonly inputPer1M: 0.625;
|
|
1070
|
+
readonly outputPer1M: 5;
|
|
1071
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1072
|
+
readonly vendor: "openai";
|
|
1073
|
+
readonly provider: "openai";
|
|
1074
|
+
readonly priceSource: "openai";
|
|
1075
|
+
readonly idSource: "openrouter";
|
|
850
1076
|
};
|
|
851
1077
|
"gpt-5.2": {
|
|
852
1078
|
readonly inputPer1M: 1.75;
|
|
@@ -854,6 +1080,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
854
1080
|
readonly cacheReadMultiplier: 0.1;
|
|
855
1081
|
readonly vendor: "openai";
|
|
856
1082
|
readonly provider: "openai";
|
|
1083
|
+
readonly priceSource: "openai";
|
|
1084
|
+
readonly idSource: "openai";
|
|
857
1085
|
};
|
|
858
1086
|
"gpt-5.2-chat": {
|
|
859
1087
|
readonly inputPer1M: 1.75;
|
|
@@ -861,6 +1089,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
861
1089
|
readonly cacheReadMultiplier: 0.1;
|
|
862
1090
|
readonly vendor: "openai";
|
|
863
1091
|
readonly provider: "openai";
|
|
1092
|
+
readonly priceSource: "openrouter";
|
|
1093
|
+
readonly idSource: "openrouter";
|
|
864
1094
|
};
|
|
865
1095
|
"gpt-5.2-codex": {
|
|
866
1096
|
readonly inputPer1M: 1.75;
|
|
@@ -868,12 +1098,33 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
868
1098
|
readonly cacheReadMultiplier: 0.1;
|
|
869
1099
|
readonly vendor: "openai";
|
|
870
1100
|
readonly provider: "openai";
|
|
1101
|
+
readonly priceSource: "openrouter";
|
|
1102
|
+
readonly idSource: "openai";
|
|
871
1103
|
};
|
|
872
1104
|
"gpt-5.2-pro": {
|
|
873
1105
|
readonly inputPer1M: 21;
|
|
874
1106
|
readonly outputPer1M: 168;
|
|
875
1107
|
readonly vendor: "openai";
|
|
876
1108
|
readonly provider: "openai";
|
|
1109
|
+
readonly priceSource: "openai";
|
|
1110
|
+
readonly idSource: "openai";
|
|
1111
|
+
};
|
|
1112
|
+
"gpt-5.2-pro:batch": {
|
|
1113
|
+
readonly inputPer1M: 10.5;
|
|
1114
|
+
readonly outputPer1M: 84;
|
|
1115
|
+
readonly vendor: "openai";
|
|
1116
|
+
readonly provider: "openai";
|
|
1117
|
+
readonly priceSource: "openai";
|
|
1118
|
+
readonly idSource: "openrouter";
|
|
1119
|
+
};
|
|
1120
|
+
"gpt-5.2:batch": {
|
|
1121
|
+
readonly inputPer1M: 0.875;
|
|
1122
|
+
readonly outputPer1M: 7;
|
|
1123
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1124
|
+
readonly vendor: "openai";
|
|
1125
|
+
readonly provider: "openai";
|
|
1126
|
+
readonly priceSource: "openai";
|
|
1127
|
+
readonly idSource: "openrouter";
|
|
877
1128
|
};
|
|
878
1129
|
"gpt-5.3-codex": {
|
|
879
1130
|
readonly inputPer1M: 1.75;
|
|
@@ -881,6 +1132,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
881
1132
|
readonly cacheReadMultiplier: 0.1;
|
|
882
1133
|
readonly vendor: "openai";
|
|
883
1134
|
readonly provider: "openai";
|
|
1135
|
+
readonly priceSource: "openai";
|
|
1136
|
+
readonly idSource: "openai";
|
|
884
1137
|
};
|
|
885
1138
|
"gpt-5.4": {
|
|
886
1139
|
readonly inputPer1M: 2.5;
|
|
@@ -888,6 +1141,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
888
1141
|
readonly cacheReadMultiplier: 0.1;
|
|
889
1142
|
readonly vendor: "openai";
|
|
890
1143
|
readonly provider: "openai";
|
|
1144
|
+
readonly priceSource: "openai";
|
|
1145
|
+
readonly idSource: "openai";
|
|
891
1146
|
};
|
|
892
1147
|
"gpt-5.4-mini": {
|
|
893
1148
|
readonly inputPer1M: 0.75;
|
|
@@ -895,6 +1150,17 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
895
1150
|
readonly cacheReadMultiplier: 0.1;
|
|
896
1151
|
readonly vendor: "openai";
|
|
897
1152
|
readonly provider: "openai";
|
|
1153
|
+
readonly priceSource: "openai";
|
|
1154
|
+
readonly idSource: "openai";
|
|
1155
|
+
};
|
|
1156
|
+
"gpt-5.4-mini:batch": {
|
|
1157
|
+
readonly inputPer1M: 0.375;
|
|
1158
|
+
readonly outputPer1M: 2.25;
|
|
1159
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1160
|
+
readonly vendor: "openai";
|
|
1161
|
+
readonly provider: "openai";
|
|
1162
|
+
readonly priceSource: "openai";
|
|
1163
|
+
readonly idSource: "openrouter";
|
|
898
1164
|
};
|
|
899
1165
|
"gpt-5.4-nano": {
|
|
900
1166
|
readonly inputPer1M: 0.2;
|
|
@@ -902,12 +1168,42 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
902
1168
|
readonly cacheReadMultiplier: 0.1;
|
|
903
1169
|
readonly vendor: "openai";
|
|
904
1170
|
readonly provider: "openai";
|
|
1171
|
+
readonly priceSource: "openai";
|
|
1172
|
+
readonly idSource: "openai";
|
|
1173
|
+
};
|
|
1174
|
+
"gpt-5.4-nano:batch": {
|
|
1175
|
+
readonly inputPer1M: 0.1;
|
|
1176
|
+
readonly outputPer1M: 0.625;
|
|
1177
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1178
|
+
readonly vendor: "openai";
|
|
1179
|
+
readonly provider: "openai";
|
|
1180
|
+
readonly priceSource: "openai";
|
|
1181
|
+
readonly idSource: "openrouter";
|
|
905
1182
|
};
|
|
906
1183
|
"gpt-5.4-pro": {
|
|
907
1184
|
readonly inputPer1M: 30;
|
|
908
1185
|
readonly outputPer1M: 180;
|
|
909
1186
|
readonly vendor: "openai";
|
|
910
1187
|
readonly provider: "openai";
|
|
1188
|
+
readonly priceSource: "openai";
|
|
1189
|
+
readonly idSource: "openai";
|
|
1190
|
+
};
|
|
1191
|
+
"gpt-5.4-pro:batch": {
|
|
1192
|
+
readonly inputPer1M: 15;
|
|
1193
|
+
readonly outputPer1M: 90;
|
|
1194
|
+
readonly vendor: "openai";
|
|
1195
|
+
readonly provider: "openai";
|
|
1196
|
+
readonly priceSource: "openai";
|
|
1197
|
+
readonly idSource: "openrouter";
|
|
1198
|
+
};
|
|
1199
|
+
"gpt-5.4:batch": {
|
|
1200
|
+
readonly inputPer1M: 1.25;
|
|
1201
|
+
readonly outputPer1M: 7.5;
|
|
1202
|
+
readonly cacheReadMultiplier: 0.104;
|
|
1203
|
+
readonly vendor: "openai";
|
|
1204
|
+
readonly provider: "openai";
|
|
1205
|
+
readonly priceSource: "openai";
|
|
1206
|
+
readonly idSource: "openrouter";
|
|
911
1207
|
};
|
|
912
1208
|
"gpt-5.5": {
|
|
913
1209
|
readonly inputPer1M: 5;
|
|
@@ -915,12 +1211,33 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
915
1211
|
readonly cacheReadMultiplier: 0.1;
|
|
916
1212
|
readonly vendor: "openai";
|
|
917
1213
|
readonly provider: "openai";
|
|
1214
|
+
readonly priceSource: "openai";
|
|
1215
|
+
readonly idSource: "openai";
|
|
918
1216
|
};
|
|
919
1217
|
"gpt-5.5-pro": {
|
|
920
1218
|
readonly inputPer1M: 30;
|
|
921
1219
|
readonly outputPer1M: 180;
|
|
922
1220
|
readonly vendor: "openai";
|
|
923
1221
|
readonly provider: "openai";
|
|
1222
|
+
readonly priceSource: "openai";
|
|
1223
|
+
readonly idSource: "openai";
|
|
1224
|
+
};
|
|
1225
|
+
"gpt-5.5-pro:batch": {
|
|
1226
|
+
readonly inputPer1M: 15;
|
|
1227
|
+
readonly outputPer1M: 90;
|
|
1228
|
+
readonly vendor: "openai";
|
|
1229
|
+
readonly provider: "openai";
|
|
1230
|
+
readonly priceSource: "openai";
|
|
1231
|
+
readonly idSource: "openrouter";
|
|
1232
|
+
};
|
|
1233
|
+
"gpt-5.5:batch": {
|
|
1234
|
+
readonly inputPer1M: 2.5;
|
|
1235
|
+
readonly outputPer1M: 15;
|
|
1236
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1237
|
+
readonly vendor: "openai";
|
|
1238
|
+
readonly provider: "openai";
|
|
1239
|
+
readonly priceSource: "openai";
|
|
1240
|
+
readonly idSource: "openrouter";
|
|
924
1241
|
};
|
|
925
1242
|
"gpt-5.6-luna": {
|
|
926
1243
|
readonly inputPer1M: 0.2;
|
|
@@ -929,6 +1246,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
929
1246
|
readonly cacheWriteMultiplier: 1.25;
|
|
930
1247
|
readonly vendor: "openai";
|
|
931
1248
|
readonly provider: "openai";
|
|
1249
|
+
readonly priceSource: "openai";
|
|
1250
|
+
readonly idSource: "openai";
|
|
932
1251
|
};
|
|
933
1252
|
"gpt-5.6-luna-pro": {
|
|
934
1253
|
readonly inputPer1M: 0.2;
|
|
@@ -937,22 +1256,67 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
937
1256
|
readonly cacheWriteMultiplier: 1.25;
|
|
938
1257
|
readonly vendor: "openai";
|
|
939
1258
|
readonly provider: "openai";
|
|
1259
|
+
readonly priceSource: "openrouter";
|
|
1260
|
+
readonly idSource: "openrouter";
|
|
1261
|
+
};
|
|
1262
|
+
"gpt-5.6-luna-pro:batch": {
|
|
1263
|
+
readonly inputPer1M: 0.1;
|
|
1264
|
+
readonly outputPer1M: 0.6;
|
|
1265
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1266
|
+
readonly vendor: "openai";
|
|
1267
|
+
readonly provider: "openai";
|
|
1268
|
+
readonly priceSource: "openrouter";
|
|
1269
|
+
readonly idSource: "openrouter";
|
|
1270
|
+
};
|
|
1271
|
+
"gpt-5.6-luna:batch": {
|
|
1272
|
+
readonly inputPer1M: 0.1;
|
|
1273
|
+
readonly outputPer1M: 0.6;
|
|
1274
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1275
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1276
|
+
readonly vendor: "openai";
|
|
1277
|
+
readonly provider: "openai";
|
|
1278
|
+
readonly priceSource: "openai";
|
|
1279
|
+
readonly idSource: "openrouter";
|
|
940
1280
|
};
|
|
941
1281
|
"gpt-5.6-sol": {
|
|
1282
|
+
readonly inputPer1M: 4;
|
|
1283
|
+
readonly outputPer1M: 20;
|
|
1284
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1285
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1286
|
+
readonly vendor: "openai";
|
|
1287
|
+
readonly provider: "openai";
|
|
1288
|
+
readonly priceSource: "openai";
|
|
1289
|
+
readonly idSource: "openai";
|
|
1290
|
+
};
|
|
1291
|
+
"gpt-5.6-sol-pro": {
|
|
942
1292
|
readonly inputPer1M: 2;
|
|
943
1293
|
readonly outputPer1M: 10;
|
|
944
1294
|
readonly cacheReadMultiplier: 0.1;
|
|
945
1295
|
readonly cacheWriteMultiplier: 1.25;
|
|
946
1296
|
readonly vendor: "openai";
|
|
947
1297
|
readonly provider: "openai";
|
|
1298
|
+
readonly priceSource: "openrouter";
|
|
1299
|
+
readonly idSource: "openrouter";
|
|
948
1300
|
};
|
|
949
|
-
"gpt-5.6-sol-pro": {
|
|
1301
|
+
"gpt-5.6-sol-pro:batch": {
|
|
1302
|
+
readonly inputPer1M: 1;
|
|
1303
|
+
readonly outputPer1M: 5;
|
|
1304
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1305
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1306
|
+
readonly vendor: "openai";
|
|
1307
|
+
readonly provider: "openai";
|
|
1308
|
+
readonly priceSource: "openrouter";
|
|
1309
|
+
readonly idSource: "openrouter";
|
|
1310
|
+
};
|
|
1311
|
+
"gpt-5.6-sol:batch": {
|
|
950
1312
|
readonly inputPer1M: 2;
|
|
951
1313
|
readonly outputPer1M: 10;
|
|
952
1314
|
readonly cacheReadMultiplier: 0.1;
|
|
953
1315
|
readonly cacheWriteMultiplier: 1.25;
|
|
954
1316
|
readonly vendor: "openai";
|
|
955
1317
|
readonly provider: "openai";
|
|
1318
|
+
readonly priceSource: "openai";
|
|
1319
|
+
readonly idSource: "openrouter";
|
|
956
1320
|
};
|
|
957
1321
|
"gpt-5.6-terra": {
|
|
958
1322
|
readonly inputPer1M: 2;
|
|
@@ -961,6 +1325,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
961
1325
|
readonly cacheWriteMultiplier: 1.25;
|
|
962
1326
|
readonly vendor: "openai";
|
|
963
1327
|
readonly provider: "openai";
|
|
1328
|
+
readonly priceSource: "openai";
|
|
1329
|
+
readonly idSource: "openai";
|
|
964
1330
|
};
|
|
965
1331
|
"gpt-5.6-terra-pro": {
|
|
966
1332
|
readonly inputPer1M: 2;
|
|
@@ -969,18 +1335,163 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
969
1335
|
readonly cacheWriteMultiplier: 1.25;
|
|
970
1336
|
readonly vendor: "openai";
|
|
971
1337
|
readonly provider: "openai";
|
|
1338
|
+
readonly priceSource: "openrouter";
|
|
1339
|
+
readonly idSource: "openrouter";
|
|
1340
|
+
};
|
|
1341
|
+
"gpt-5.6-terra-pro:batch": {
|
|
1342
|
+
readonly inputPer1M: 1;
|
|
1343
|
+
readonly outputPer1M: 6;
|
|
1344
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1345
|
+
readonly vendor: "openai";
|
|
1346
|
+
readonly provider: "openai";
|
|
1347
|
+
readonly priceSource: "openrouter";
|
|
1348
|
+
readonly idSource: "openrouter";
|
|
1349
|
+
};
|
|
1350
|
+
"gpt-5.6-terra:batch": {
|
|
1351
|
+
readonly inputPer1M: 1;
|
|
1352
|
+
readonly outputPer1M: 6;
|
|
1353
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1354
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1355
|
+
readonly vendor: "openai";
|
|
1356
|
+
readonly provider: "openai";
|
|
1357
|
+
readonly priceSource: "openai";
|
|
1358
|
+
readonly idSource: "openrouter";
|
|
1359
|
+
};
|
|
1360
|
+
"gpt-6-astra": {
|
|
1361
|
+
readonly inputPer1M: 10;
|
|
1362
|
+
readonly outputPer1M: 50;
|
|
1363
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1364
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1365
|
+
readonly vendor: "openai";
|
|
1366
|
+
readonly provider: "openai";
|
|
1367
|
+
readonly priceSource: "openai";
|
|
1368
|
+
readonly idSource: "openai";
|
|
1369
|
+
};
|
|
1370
|
+
"gpt-6-astra-pro": {
|
|
1371
|
+
readonly inputPer1M: 10;
|
|
1372
|
+
readonly outputPer1M: 50;
|
|
1373
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1374
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1375
|
+
readonly vendor: "openai";
|
|
1376
|
+
readonly provider: "openai";
|
|
1377
|
+
readonly priceSource: "openrouter";
|
|
1378
|
+
readonly idSource: "openrouter";
|
|
1379
|
+
};
|
|
1380
|
+
"gpt-6-astra-pro:batch": {
|
|
1381
|
+
readonly inputPer1M: 5;
|
|
1382
|
+
readonly outputPer1M: 25;
|
|
1383
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1384
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1385
|
+
readonly vendor: "openai";
|
|
1386
|
+
readonly provider: "openai";
|
|
1387
|
+
readonly priceSource: "openrouter";
|
|
1388
|
+
readonly idSource: "openrouter";
|
|
1389
|
+
};
|
|
1390
|
+
"gpt-6-astra:batch": {
|
|
1391
|
+
readonly inputPer1M: 5;
|
|
1392
|
+
readonly outputPer1M: 25;
|
|
1393
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1394
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1395
|
+
readonly vendor: "openai";
|
|
1396
|
+
readonly provider: "openai";
|
|
1397
|
+
readonly priceSource: "openai";
|
|
1398
|
+
readonly idSource: "openrouter";
|
|
1399
|
+
};
|
|
1400
|
+
"gpt-6-luna": {
|
|
1401
|
+
readonly inputPer1M: 0.1;
|
|
1402
|
+
readonly outputPer1M: 0.5;
|
|
1403
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1404
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1405
|
+
readonly vendor: "openai";
|
|
1406
|
+
readonly provider: "openai";
|
|
1407
|
+
readonly priceSource: "openai";
|
|
1408
|
+
readonly idSource: "openai";
|
|
1409
|
+
};
|
|
1410
|
+
"gpt-6-luna-pro": {
|
|
1411
|
+
readonly inputPer1M: 0.1;
|
|
1412
|
+
readonly outputPer1M: 0.5;
|
|
1413
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1414
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1415
|
+
readonly vendor: "openai";
|
|
1416
|
+
readonly provider: "openai";
|
|
1417
|
+
readonly priceSource: "openrouter";
|
|
1418
|
+
readonly idSource: "openrouter";
|
|
1419
|
+
};
|
|
1420
|
+
"gpt-6-luna-pro:batch": {
|
|
1421
|
+
readonly inputPer1M: 0.05;
|
|
1422
|
+
readonly outputPer1M: 0.25;
|
|
1423
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1424
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1425
|
+
readonly vendor: "openai";
|
|
1426
|
+
readonly provider: "openai";
|
|
1427
|
+
readonly priceSource: "openrouter";
|
|
1428
|
+
readonly idSource: "openrouter";
|
|
1429
|
+
};
|
|
1430
|
+
"gpt-6-luna:batch": {
|
|
1431
|
+
readonly inputPer1M: 0.05;
|
|
1432
|
+
readonly outputPer1M: 0.25;
|
|
1433
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1434
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1435
|
+
readonly vendor: "openai";
|
|
1436
|
+
readonly provider: "openai";
|
|
1437
|
+
readonly priceSource: "openai";
|
|
1438
|
+
readonly idSource: "openrouter";
|
|
1439
|
+
};
|
|
1440
|
+
"gpt-6-sol": {
|
|
1441
|
+
readonly inputPer1M: 2;
|
|
1442
|
+
readonly outputPer1M: 10;
|
|
1443
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1444
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1445
|
+
readonly vendor: "openai";
|
|
1446
|
+
readonly provider: "openai";
|
|
1447
|
+
readonly priceSource: "openai";
|
|
1448
|
+
readonly idSource: "openai";
|
|
1449
|
+
};
|
|
1450
|
+
"gpt-6-sol-pro": {
|
|
1451
|
+
readonly inputPer1M: 2;
|
|
1452
|
+
readonly outputPer1M: 10;
|
|
1453
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1454
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1455
|
+
readonly vendor: "openai";
|
|
1456
|
+
readonly provider: "openai";
|
|
1457
|
+
readonly priceSource: "openrouter";
|
|
1458
|
+
readonly idSource: "openrouter";
|
|
1459
|
+
};
|
|
1460
|
+
"gpt-6-sol-pro:batch": {
|
|
1461
|
+
readonly inputPer1M: 1;
|
|
1462
|
+
readonly outputPer1M: 5;
|
|
1463
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1464
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1465
|
+
readonly vendor: "openai";
|
|
1466
|
+
readonly provider: "openai";
|
|
1467
|
+
readonly priceSource: "openrouter";
|
|
1468
|
+
readonly idSource: "openrouter";
|
|
1469
|
+
};
|
|
1470
|
+
"gpt-6-sol:batch": {
|
|
1471
|
+
readonly inputPer1M: 1;
|
|
1472
|
+
readonly outputPer1M: 5;
|
|
1473
|
+
readonly cacheReadMultiplier: 0.1;
|
|
1474
|
+
readonly cacheWriteMultiplier: 1.25;
|
|
1475
|
+
readonly vendor: "openai";
|
|
1476
|
+
readonly provider: "openai";
|
|
1477
|
+
readonly priceSource: "openai";
|
|
1478
|
+
readonly idSource: "openrouter";
|
|
972
1479
|
};
|
|
973
1480
|
"gpt-audio": {
|
|
974
1481
|
readonly inputPer1M: 2.5;
|
|
975
1482
|
readonly outputPer1M: 10;
|
|
976
1483
|
readonly vendor: "openai";
|
|
977
1484
|
readonly provider: "openai";
|
|
1485
|
+
readonly priceSource: "openrouter";
|
|
1486
|
+
readonly idSource: "openai";
|
|
978
1487
|
};
|
|
979
1488
|
"gpt-audio-mini": {
|
|
980
1489
|
readonly inputPer1M: 0.6;
|
|
981
1490
|
readonly outputPer1M: 2.4;
|
|
982
1491
|
readonly vendor: "openai";
|
|
983
1492
|
readonly provider: "openai";
|
|
1493
|
+
readonly priceSource: "openrouter";
|
|
1494
|
+
readonly idSource: "openai";
|
|
984
1495
|
};
|
|
985
1496
|
"gpt-chat-latest": {
|
|
986
1497
|
readonly inputPer1M: 5;
|
|
@@ -988,31 +1499,41 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
988
1499
|
readonly cacheReadMultiplier: 0.1;
|
|
989
1500
|
readonly vendor: "openai";
|
|
990
1501
|
readonly provider: "openai";
|
|
1502
|
+
readonly priceSource: "openrouter";
|
|
1503
|
+
readonly idSource: "openrouter";
|
|
991
1504
|
};
|
|
992
1505
|
"gpt-oss-120b": {
|
|
993
|
-
readonly inputPer1M: 0.
|
|
994
|
-
readonly outputPer1M: 0.
|
|
1506
|
+
readonly inputPer1M: 0.15;
|
|
1507
|
+
readonly outputPer1M: 0.6;
|
|
1508
|
+
readonly cacheReadMultiplier: 0.5;
|
|
995
1509
|
readonly vendor: "openai";
|
|
996
1510
|
readonly provider: "openai";
|
|
1511
|
+
readonly priceSource: "openrouter";
|
|
1512
|
+
readonly idSource: "openrouter";
|
|
997
1513
|
};
|
|
998
1514
|
"gpt-oss-120b:batch": {
|
|
999
|
-
readonly inputPer1M: 0.
|
|
1000
|
-
readonly outputPer1M: 0.
|
|
1515
|
+
readonly inputPer1M: 0.0296;
|
|
1516
|
+
readonly outputPer1M: 0.136;
|
|
1001
1517
|
readonly vendor: "openai";
|
|
1002
1518
|
readonly provider: "openai";
|
|
1519
|
+
readonly priceSource: "openrouter";
|
|
1520
|
+
readonly idSource: "openrouter";
|
|
1003
1521
|
};
|
|
1004
1522
|
"gpt-oss-20b": {
|
|
1005
|
-
readonly inputPer1M: 0.
|
|
1006
|
-
readonly outputPer1M: 0.
|
|
1007
|
-
readonly cacheReadMultiplier: 1;
|
|
1523
|
+
readonly inputPer1M: 0.018;
|
|
1524
|
+
readonly outputPer1M: 0.09;
|
|
1008
1525
|
readonly vendor: "openai";
|
|
1009
1526
|
readonly provider: "openai";
|
|
1527
|
+
readonly priceSource: "openrouter";
|
|
1528
|
+
readonly idSource: "openrouter";
|
|
1010
1529
|
};
|
|
1011
1530
|
"gpt-oss-20b:batch": {
|
|
1012
|
-
readonly inputPer1M: 0.
|
|
1013
|
-
readonly outputPer1M: 0.
|
|
1531
|
+
readonly inputPer1M: 0.024;
|
|
1532
|
+
readonly outputPer1M: 0.112;
|
|
1014
1533
|
readonly vendor: "openai";
|
|
1015
1534
|
readonly provider: "openai";
|
|
1535
|
+
readonly priceSource: "openrouter";
|
|
1536
|
+
readonly idSource: "openrouter";
|
|
1016
1537
|
};
|
|
1017
1538
|
"gpt-oss-safeguard-20b": {
|
|
1018
1539
|
readonly inputPer1M: 0.075;
|
|
@@ -1020,6 +1541,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1020
1541
|
readonly cacheReadMultiplier: 0.5;
|
|
1021
1542
|
readonly vendor: "openai";
|
|
1022
1543
|
readonly provider: "openai";
|
|
1544
|
+
readonly priceSource: "openrouter";
|
|
1545
|
+
readonly idSource: "openrouter";
|
|
1023
1546
|
};
|
|
1024
1547
|
o1: {
|
|
1025
1548
|
readonly inputPer1M: 15;
|
|
@@ -1027,12 +1550,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1027
1550
|
readonly cacheReadMultiplier: 0.5;
|
|
1028
1551
|
readonly vendor: "openai";
|
|
1029
1552
|
readonly provider: "openai";
|
|
1553
|
+
readonly priceSource: "openai";
|
|
1554
|
+
readonly idSource: "openai";
|
|
1030
1555
|
};
|
|
1031
1556
|
"o1-pro": {
|
|
1032
1557
|
readonly inputPer1M: 150;
|
|
1033
1558
|
readonly outputPer1M: 600;
|
|
1034
1559
|
readonly vendor: "openai";
|
|
1035
1560
|
readonly provider: "openai";
|
|
1561
|
+
readonly priceSource: "openai";
|
|
1562
|
+
readonly idSource: "openai";
|
|
1036
1563
|
};
|
|
1037
1564
|
o3: {
|
|
1038
1565
|
readonly inputPer1M: 2;
|
|
@@ -1040,6 +1567,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1040
1567
|
readonly cacheReadMultiplier: 0.25;
|
|
1041
1568
|
readonly vendor: "openai";
|
|
1042
1569
|
readonly provider: "openai";
|
|
1570
|
+
readonly priceSource: "openai";
|
|
1571
|
+
readonly idSource: "openai";
|
|
1043
1572
|
};
|
|
1044
1573
|
"o3-mini": {
|
|
1045
1574
|
readonly inputPer1M: 1.1;
|
|
@@ -1047,6 +1576,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1047
1576
|
readonly cacheReadMultiplier: 0.5;
|
|
1048
1577
|
readonly vendor: "openai";
|
|
1049
1578
|
readonly provider: "openai";
|
|
1579
|
+
readonly priceSource: "openai";
|
|
1580
|
+
readonly idSource: "openai";
|
|
1050
1581
|
};
|
|
1051
1582
|
"o3-mini-high": {
|
|
1052
1583
|
readonly inputPer1M: 1.1;
|
|
@@ -1054,12 +1585,32 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1054
1585
|
readonly cacheReadMultiplier: 0.5;
|
|
1055
1586
|
readonly vendor: "openai";
|
|
1056
1587
|
readonly provider: "openai";
|
|
1588
|
+
readonly priceSource: "openrouter";
|
|
1589
|
+
readonly idSource: "openrouter";
|
|
1590
|
+
};
|
|
1591
|
+
"o3-mini:batch": {
|
|
1592
|
+
readonly inputPer1M: 0.55;
|
|
1593
|
+
readonly outputPer1M: 2.2;
|
|
1594
|
+
readonly vendor: "openai";
|
|
1595
|
+
readonly provider: "openai";
|
|
1596
|
+
readonly priceSource: "openai";
|
|
1597
|
+
readonly idSource: "openrouter";
|
|
1057
1598
|
};
|
|
1058
1599
|
"o3-pro": {
|
|
1059
1600
|
readonly inputPer1M: 20;
|
|
1060
1601
|
readonly outputPer1M: 80;
|
|
1061
1602
|
readonly vendor: "openai";
|
|
1062
1603
|
readonly provider: "openai";
|
|
1604
|
+
readonly priceSource: "openai";
|
|
1605
|
+
readonly idSource: "openrouter";
|
|
1606
|
+
};
|
|
1607
|
+
"o3:batch": {
|
|
1608
|
+
readonly inputPer1M: 1;
|
|
1609
|
+
readonly outputPer1M: 4;
|
|
1610
|
+
readonly vendor: "openai";
|
|
1611
|
+
readonly provider: "openai";
|
|
1612
|
+
readonly priceSource: "openai";
|
|
1613
|
+
readonly idSource: "openrouter";
|
|
1063
1614
|
};
|
|
1064
1615
|
"o4-mini": {
|
|
1065
1616
|
readonly inputPer1M: 1.1;
|
|
@@ -1067,6 +1618,8 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1067
1618
|
readonly cacheReadMultiplier: 0.25;
|
|
1068
1619
|
readonly vendor: "openai";
|
|
1069
1620
|
readonly provider: "openai";
|
|
1621
|
+
readonly priceSource: "openai";
|
|
1622
|
+
readonly idSource: "openai";
|
|
1070
1623
|
};
|
|
1071
1624
|
"o4-mini-high": {
|
|
1072
1625
|
readonly inputPer1M: 1.1;
|
|
@@ -1074,6 +1627,16 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1074
1627
|
readonly cacheReadMultiplier: 0.25;
|
|
1075
1628
|
readonly vendor: "openai";
|
|
1076
1629
|
readonly provider: "openai";
|
|
1630
|
+
readonly priceSource: "openrouter";
|
|
1631
|
+
readonly idSource: "openrouter";
|
|
1632
|
+
};
|
|
1633
|
+
"o4-mini:batch": {
|
|
1634
|
+
readonly inputPer1M: 0.55;
|
|
1635
|
+
readonly outputPer1M: 2.2;
|
|
1636
|
+
readonly vendor: "openai";
|
|
1637
|
+
readonly provider: "openai";
|
|
1638
|
+
readonly priceSource: "openai";
|
|
1639
|
+
readonly idSource: "openrouter";
|
|
1077
1640
|
};
|
|
1078
1641
|
"gemini-2.5-flash": {
|
|
1079
1642
|
readonly inputPer1M: 0.3;
|
|
@@ -1322,15 +1885,28 @@ declare const LLM_PRICING_CATALOG: {
|
|
|
1322
1885
|
* `LlmModelId` now unions the pricing keys with `CONTEXT_WINDOWS` (each
|
|
1323
1886
|
* provider's own synced `/v1/models` id list — see
|
|
1324
1887
|
* `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)
|
|
1888
|
+
* ids independent of whether a price has synced yet), `OPENROUTER_ROUTES`
|
|
1889
|
+
* (thousands of ids, self-updating), and `OPENAI_GENERATED_UNPRICED_IDS`
|
|
1890
|
+
* (ids `api.openai.com/v1/models` lists that neither OpenAI's pricing page
|
|
1891
|
+
* nor OpenRouter prices — mostly dated snapshots like `gpt-5.4-2026-03-05`.
|
|
1892
|
+
* OpenAI's `/v1/models` publishes no context window, so unlike the other
|
|
1893
|
+
* providers these ids cannot ride in via `CONTEXT_WINDOWS`; they need their
|
|
1894
|
+
* own existence-only list, which is exactly what that export is).
|
|
1895
|
+
* A model can be a member of this type
|
|
1327
1896
|
* with `resolvePricing` returning `undefined` for it — callers MUST treat
|
|
1328
1897
|
* that as "price not yet known," never as "doesn't exist" (see
|
|
1329
1898
|
* `ResolvedModel`'s `pricing?` in `registry/index.ts`, and `isKnownLlmId`
|
|
1330
1899
|
* below for an existence-only check). Downstream curation/config should
|
|
1331
1900
|
* still constrain ids to this type so a typo is a build error.
|
|
1901
|
+
*
|
|
1902
|
+
* That last point is why the generator emits `OPENAI_GENERATED_UNPRICED_IDS`
|
|
1903
|
+
* as a literal tuple (`[...] as const`, and `[] as const` when empty) and
|
|
1904
|
+
* never as `readonly string[]`: indexing the latter with `[number]` yields
|
|
1905
|
+
* plain `string`, which would widen this whole union to `string` and turn
|
|
1906
|
+
* every id typo back into a silent runtime miss. Tested at the source, in
|
|
1907
|
+
* catalog-sync's `openai-catalog.test.ts`.
|
|
1332
1908
|
*/
|
|
1333
|
-
type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOWS | keyof typeof OPENROUTER_ROUTES;
|
|
1909
|
+
type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOWS | keyof typeof OPENROUTER_ROUTES | (typeof OPENAI_GENERATED_UNPRICED_IDS)[number];
|
|
1334
1910
|
/**
|
|
1335
1911
|
* True iff `modelId` is a real, known catalog id — regardless of whether it
|
|
1336
1912
|
* has a price yet. Use this (not `resolvePricing(id) !== undefined`) to
|
|
@@ -1341,10 +1917,11 @@ type LlmModelId = keyof typeof LLM_PRICING_CATALOG | keyof typeof CONTEXT_WINDOW
|
|
|
1341
1917
|
declare function isKnownLlmId(modelId: string): boolean;
|
|
1342
1918
|
/**
|
|
1343
1919
|
* 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
|
|
1920
|
+
* `OPENROUTER_ROUTES` ∪ `OPENAI_GENERATED_UNPRICED_IDS`, minus whatever
|
|
1921
|
+
* `LLM_PRICING_CATALOG` already prices) — the enumeration `listModels`'s
|
|
1922
|
+
* `llm` branch needs to surface a known-but-unpriced model instead of
|
|
1923
|
+
* silently dropping it. Each entry carries its provider when derivable (see
|
|
1924
|
+
* `getModelProvider`).
|
|
1348
1925
|
*/
|
|
1349
1926
|
declare function listUnpricedKnownLlmIds(): Array<{
|
|
1350
1927
|
id: string;
|
|
@@ -1410,7 +1987,7 @@ type KnownLlmId = LlmModelId | LlmModelAlias;
|
|
|
1410
1987
|
* partial-prefix match. Used both for cost computation and BYOK shadow
|
|
1411
1988
|
* accounting; semantics are load-bearing for migration.
|
|
1412
1989
|
*/
|
|
1413
|
-
declare function resolvePricing(
|
|
1990
|
+
declare function resolvePricing(rawModelId: string): LLMPricing | undefined;
|
|
1414
1991
|
/**
|
|
1415
1992
|
* Like {@link resolvePricing} but WITHOUT the substring/partial-prefix
|
|
1416
1993
|
* fallback — an id resolves ONLY on an exact catalog key or an exact alias.
|
|
@@ -1423,13 +2000,13 @@ declare function resolvePricing(modelId: string): LLMPricing | undefined;
|
|
|
1423
2000
|
* `resolvePricing`/`resolveAlias` are intentionally left unchanged for their
|
|
1424
2001
|
* existing callers.
|
|
1425
2002
|
*/
|
|
1426
|
-
declare function resolvePricingExact(
|
|
2003
|
+
declare function resolvePricingExact(rawModelId: string): LLMPricing | undefined;
|
|
1427
2004
|
/**
|
|
1428
2005
|
* Resolves a model id to its canonical catalog key (or the original id if no
|
|
1429
2006
|
* match). Public surface for consumers that need the canonical id without
|
|
1430
2007
|
* the pricing payload.
|
|
1431
2008
|
*/
|
|
1432
|
-
declare function resolveAlias(
|
|
2009
|
+
declare function resolveAlias(rawModelId: string): string;
|
|
1433
2010
|
/**
|
|
1434
2011
|
* Resolves a model id to its live context window (max input tokens) and max
|
|
1435
2012
|
* output tokens, sourced from `CONTEXT_WINDOWS`
|
|
@@ -1442,6 +2019,19 @@ declare function resolveAlias(modelId: string): string;
|
|
|
1442
2019
|
* older aliases. Returns undefined for ids no synced provider carries.
|
|
1443
2020
|
*/
|
|
1444
2021
|
declare function resolveContextWindow(modelId: string): ContextWindowEntry | undefined;
|
|
2022
|
+
/**
|
|
2023
|
+
* Split a trailing context-lane hint off a model id: `"claude-opus-5-5[1m]"`
|
|
2024
|
+
* → `{ id: "claude-opus-5-5", contextWindow: 1_000_000 }`. Claude Code (and
|
|
2025
|
+
* claude-agent-acp's model picker) spell the extended-context lane of a
|
|
2026
|
+
* model this way; the bracket is not part of the model's identity (pricing,
|
|
2027
|
+
* provider, catalog key) but IS an authoritative statement of its window.
|
|
2028
|
+
* Ids without a well-formed `[<n>k]` / `[<n>m]` suffix come back unchanged
|
|
2029
|
+
* with no `contextWindow`.
|
|
2030
|
+
*/
|
|
2031
|
+
declare function splitContextWindowHint(modelId: string): {
|
|
2032
|
+
id: string;
|
|
2033
|
+
contextWindow?: number;
|
|
2034
|
+
};
|
|
1445
2035
|
/**
|
|
1446
2036
|
* Every live model id `CONTEXT_WINDOWS` carries for one provider — sourced
|
|
1447
2037
|
* straight from that provider's own `/v1/models` sync (`llm-context-windows.ts`
|
|
@@ -1605,4 +2195,4 @@ interface CacheStats {
|
|
|
1605
2195
|
*/
|
|
1606
2196
|
declare function getCacheStats(modelId: string, usage: LLMUsageBreakdown, opts?: CalculateLLMCreditCostOptions): CacheStats;
|
|
1607
2197
|
|
|
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 };
|
|
2198
|
+
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 };
|