CrispStrobe commited on
Commit
d756c8e
·
1 Parent(s): 55850a6

feat: improve size detection (decimals, description regex) and embedder identification

Browse files
data/providers.json CHANGED
@@ -33,6 +33,7 @@
33
  "input_price_per_1m": 0.17,
34
  "output_price_per_1m": 0.17,
35
  "currency": "USD",
 
36
  "capabilities": [
37
  "tools"
38
  ]
@@ -189,7 +190,8 @@
189
  "capabilities": [
190
  "tools",
191
  "reasoning"
192
- ]
 
193
  },
194
  {
195
  "name": "Apertus-70B-Instruct-2509",
@@ -449,7 +451,8 @@
449
  "capabilities": [
450
  "vision",
451
  "tools"
452
- ]
 
453
  },
454
  {
455
  "name": "Sonnet 4.5 Reasoning",
@@ -791,177 +794,2965 @@
791
  "provider_upstream": "OpenAI",
792
  "capabilities": [
793
  "vision",
794
- "files",
795
- "tools",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
796
  "reasoning"
797
- ]
 
798
  },
799
  {
800
- "name": "GPT-5",
801
  "type": "vision",
802
- "input_price_per_1m": 1.16,
803
- "output_price_per_1m": 9.32,
804
- "currency": "EUR",
805
- "provider_upstream": "OpenAI",
806
  "capabilities": [
807
  "vision",
808
- "files",
809
- "tools",
810
  "reasoning"
811
- ]
 
812
  },
813
  {
814
- "name": "GPT-4o Mini",
815
  "type": "vision",
816
- "input_price_per_1m": 0.14,
817
- "output_price_per_1m": 0.56,
818
- "currency": "EUR",
819
- "provider_upstream": "OpenAI",
820
  "capabilities": [
821
  "vision",
822
- "files",
823
- "tools"
824
- ]
825
  },
826
  {
827
- "name": "GPT-4.1 nano",
828
  "type": "vision",
829
- "input_price_per_1m": 0.09,
830
- "output_price_per_1m": 0.37,
831
- "currency": "EUR",
832
- "provider_upstream": "OpenAI",
833
  "capabilities": [
834
  "vision",
835
- "files",
836
- "tools"
837
- ]
838
  },
839
  {
840
- "name": "GPT-4o",
841
  "type": "vision",
842
- "input_price_per_1m": 2.56,
843
- "output_price_per_1m": 10.25,
844
- "currency": "EUR",
845
- "provider_upstream": "OpenAI",
846
  "capabilities": [
847
  "vision",
848
- "files",
849
- "tools"
850
- ]
851
  },
852
  {
853
- "name": "GPT-4.1",
854
  "type": "vision",
855
- "input_price_per_1m": 1.86,
856
- "output_price_per_1m": 7.45,
857
- "currency": "EUR",
858
- "provider_upstream": "OpenAI",
859
  "capabilities": [
860
  "vision",
861
- "files",
862
- "tools"
863
- ]
864
  },
865
  {
866
- "name": "GPT-4.1 mini",
867
  "type": "vision",
868
- "input_price_per_1m": 0.37,
869
- "output_price_per_1m": 1.49,
870
- "currency": "EUR",
871
- "provider_upstream": "OpenAI",
872
  "capabilities": [
873
  "vision",
874
- "files",
875
- "tools"
876
- ]
877
  },
878
  {
879
- "name": "Gemini 3 Flash Preview",
880
  "type": "vision",
881
- "input_price_per_1m": 0.47,
882
- "output_price_per_1m": 2.8,
883
- "currency": "EUR",
884
- "provider_upstream": "Google",
885
  "capabilities": [
886
  "vision",
887
- "video",
888
- "audio",
889
- "files",
890
- "tools",
891
  "reasoning"
892
- ]
 
893
  },
894
  {
895
- "name": "GPT oss (120b)",
896
- "type": "chat",
897
- "input_price_per_1m": 0.28,
898
- "output_price_per_1m": 2.33,
899
- "currency": "EUR",
900
- "size_b": 120,
901
- "provider_upstream": "OpenAI",
902
  "capabilities": [
903
- "tools",
904
  "reasoning"
905
- ]
 
906
  },
907
  {
908
- "name": "Gemini 2.5 Flash",
909
  "type": "vision",
910
- "input_price_per_1m": 0.28,
911
- "output_price_per_1m": 2.33,
912
- "currency": "EUR",
913
- "provider_upstream": "Google",
914
  "capabilities": [
915
  "vision",
916
- "video",
917
- "audio",
918
- "files",
919
- "tools",
920
  "reasoning"
921
- ]
 
922
  },
923
  {
924
- "name": "Gemini 2.5 Pro Reasoning",
925
  "type": "vision",
926
- "input_price_per_1m": 2.33,
927
- "output_price_per_1m": 13.98,
928
- "currency": "EUR",
929
- "provider_upstream": "Google",
930
  "capabilities": [
931
  "vision",
932
- "video",
933
- "audio",
934
- "files",
935
- "tools",
936
  "reasoning"
937
- ]
 
938
  },
939
  {
940
- "name": "Gemini 2.5 Pro",
941
  "type": "vision",
942
- "input_price_per_1m": 2.33,
943
- "output_price_per_1m": 13.98,
944
- "currency": "EUR",
945
- "provider_upstream": "Google",
946
  "capabilities": [
947
  "vision",
948
- "video",
949
- "audio",
950
- "files",
951
- "tools",
952
  "reasoning"
953
- ]
 
954
  }
955
- ]
956
- },
957
- {
958
- "name": "Requesty",
959
- "url": "https://requesty.ai",
960
- "headquarters": "USA",
961
- "region": "Global",
962
- "gdpr_compliant": true,
963
- "eu_endpoints": true,
964
- "models": [],
965
  "lastUpdated": "2026-03-02T04:53:24.807Z"
966
  },
967
  {
@@ -1777,7 +4568,8 @@
1777
  "capabilities": [
1778
  "vision",
1779
  "tools"
1780
- ]
 
1781
  },
1782
  {
1783
  "name": "Mistral Small Creative",
@@ -1859,7 +4651,8 @@
1859
  "capabilities": [
1860
  "audio",
1861
  "tools"
1862
- ]
 
1863
  },
1864
  {
1865
  "name": "Voxtral Mini",
@@ -2001,7 +4794,7 @@
2001
  "input_price_per_1m": 0.01,
2002
  "output_price_per_1m": 0.02,
2003
  "currency": "USD",
2004
- "size_b": 6
2005
  },
2006
  {
2007
  "name": "ibm-granite/granite-4.0-h-micro",
@@ -2015,8 +4808,7 @@
2015
  "type": "chat",
2016
  "input_price_per_1m": 0.02,
2017
  "output_price_per_1m": 0.04,
2018
- "currency": "USD",
2019
- "size_b": 4
2020
  },
2021
  {
2022
  "name": "meta-llama/llama-guard-3-8b",
@@ -2138,8 +4930,7 @@
2138
  "type": "chat",
2139
  "input_price_per_1m": 0.0375,
2140
  "output_price_per_1m": 0.15,
2141
- "currency": "USD",
2142
- "size_b": 7
2143
  },
2144
  {
2145
  "name": "openai/gpt-oss-120b",
@@ -2215,7 +5006,8 @@
2215
  "capabilities": [
2216
  "tools",
2217
  "reasoning"
2218
- ]
 
2219
  },
2220
  {
2221
  "name": "meta-llama/llama-3.2-11b-vision-instruct",
@@ -2521,7 +5313,8 @@
2521
  "capabilities": [
2522
  "vision",
2523
  "tools"
2524
- ]
 
2525
  },
2526
  {
2527
  "name": "google/gemma-3-27b-it",
@@ -2934,8 +5727,7 @@
2934
  "currency": "USD",
2935
  "capabilities": [
2936
  "reasoning"
2937
- ],
2938
- "size_b": 13
2939
  },
2940
  {
2941
  "name": "nousresearch/hermes-2-pro-llama-3-8b",
@@ -2967,7 +5759,8 @@
2967
  "vision",
2968
  "tools",
2969
  "reasoning"
2970
- ]
 
2971
  },
2972
  {
2973
  "name": "upstage/solar-pro-3",
@@ -2999,7 +5792,8 @@
2999
  "currency": "USD",
3000
  "capabilities": [
3001
  "tools"
3002
- ]
 
3003
  },
3004
  {
3005
  "name": "mistralai/ministral-8b-2512",
@@ -3044,7 +5838,8 @@
3044
  "capabilities": [
3045
  "vision",
3046
  "tools"
3047
- ]
 
3048
  },
3049
  {
3050
  "name": "openai/gpt-4o-mini-search-preview",
@@ -3076,7 +5871,7 @@
3076
  ]
3077
  },
3078
  {
3079
- "name": "openai/gpt-4o-mini-2024-07-18",
3080
  "type": "vision",
3081
  "input_price_per_1m": 0.15,
3082
  "output_price_per_1m": 0.6,
@@ -3088,7 +5883,7 @@
3088
  ]
3089
  },
3090
  {
3091
- "name": "openai/gpt-4o-mini",
3092
  "type": "vision",
3093
  "input_price_per_1m": 0.15,
3094
  "output_price_per_1m": 0.6,
@@ -3237,7 +6032,8 @@
3237
  "capabilities": [
3238
  "tools",
3239
  "reasoning"
3240
- ]
 
3241
  },
3242
  {
3243
  "name": "x-ai/grok-4.1-fast",
@@ -3329,7 +6125,8 @@
3329
  "capabilities": [
3330
  "tools",
3331
  "reasoning"
3332
- ]
 
3333
  },
3334
  {
3335
  "name": "mistralai/mistral-saba",
@@ -3339,7 +6136,8 @@
3339
  "currency": "USD",
3340
  "capabilities": [
3341
  "tools"
3342
- ]
 
3343
  },
3344
  {
3345
  "name": "minimax/minimax-01",
@@ -3391,7 +6189,8 @@
3391
  "currency": "USD",
3392
  "capabilities": [
3393
  "tools"
3394
- ]
 
3395
  },
3396
  {
3397
  "name": "bytedance-seed/seed-2.0-lite",
@@ -3472,7 +6271,7 @@
3472
  },
3473
  {
3474
  "name": "tngtech/deepseek-r1t2-chimera",
3475
- "type": "chat",
3476
  "input_price_per_1m": 0.25,
3477
  "output_price_per_1m": 0.85,
3478
  "currency": "USD",
@@ -3843,7 +6642,8 @@
3843
  "currency": "USD",
3844
  "capabilities": [
3845
  "tools"
3846
- ]
 
3847
  },
3848
  {
3849
  "name": "deepseek/deepseek-v3.2-speciale",
@@ -4090,8 +6890,7 @@
4090
  "currency": "USD",
4091
  "capabilities": [
4092
  "tools"
4093
- ],
4094
- "size_b": 7
4095
  },
4096
  {
4097
  "name": "moonshotai/kimi-k2",
@@ -4101,7 +6900,8 @@
4101
  "currency": "USD",
4102
  "capabilities": [
4103
  "tools"
4104
- ]
 
4105
  },
4106
  {
4107
  "name": "thedrummer/skyfall-36b-v2",
@@ -4168,8 +6968,7 @@
4168
  "type": "chat",
4169
  "input_price_per_1m": 0.62,
4170
  "output_price_per_1m": 0.62,
4171
- "currency": "USD",
4172
- "size_b": 22
4173
  },
4174
  {
4175
  "name": "qwen/qwen3-coder-plus",
@@ -4213,7 +7012,8 @@
4213
  "currency": "USD",
4214
  "capabilities": [
4215
  "reasoning"
4216
- ]
 
4217
  },
4218
  {
4219
  "name": "deepseek/deepseek-r1-distill-llama-70b",
@@ -4321,8 +7121,7 @@
4321
  "type": "chat",
4322
  "input_price_per_1m": 0.8,
4323
  "output_price_per_1m": 1.2,
4324
- "currency": "USD",
4325
- "size_b": 7
4326
  },
4327
  {
4328
  "name": "alfredpros/codellama-7b-instruct-solidity",
@@ -4977,8 +7776,7 @@
4977
  "currency": "USD",
4978
  "capabilities": [
4979
  "tools"
4980
- ],
4981
- "size_b": 22
4982
  },
4983
  {
4984
  "name": "mistralai/mistral-large",
@@ -5078,14 +7876,14 @@
5078
  ]
5079
  },
5080
  {
5081
- "name": "inflection/inflection-3-pi",
5082
  "type": "chat",
5083
  "input_price_per_1m": 2.5,
5084
  "output_price_per_1m": 10,
5085
  "currency": "USD"
5086
  },
5087
  {
5088
- "name": "inflection/inflection-3-productivity",
5089
  "type": "chat",
5090
  "input_price_per_1m": 2.5,
5091
  "output_price_per_1m": 10,
@@ -5505,7 +8303,7 @@
5505
  ]
5506
  },
5507
  {
5508
- "name": "openai/gpt-4-0314",
5509
  "type": "chat",
5510
  "input_price_per_1m": 30,
5511
  "output_price_per_1m": 60,
@@ -5515,7 +8313,7 @@
5515
  ]
5516
  },
5517
  {
5518
- "name": "openai/gpt-4",
5519
  "type": "chat",
5520
  "input_price_per_1m": 30,
5521
  "output_price_per_1m": 60,
@@ -5578,7 +8376,8 @@
5578
  "currency": "USD",
5579
  "capabilities": [
5580
  "tools"
5581
- ]
 
5582
  },
5583
  {
5584
  "name": "liquid/lfm-2.5-1.2b-thinking:free",
@@ -5588,14 +8387,16 @@
5588
  "currency": "USD",
5589
  "capabilities": [
5590
  "reasoning"
5591
- ]
 
5592
  },
5593
  {
5594
  "name": "liquid/lfm-2.5-1.2b-instruct:free",
5595
  "type": "chat",
5596
  "input_price_per_1m": 0,
5597
  "output_price_per_1m": 0,
5598
- "currency": "USD"
 
5599
  },
5600
  {
5601
  "name": "nvidia/nemotron-3-nano-30b-a3b:free",
@@ -5618,7 +8419,8 @@
5618
  "capabilities": [
5619
  "tools",
5620
  "reasoning"
5621
- ]
 
5622
  },
5623
  {
5624
  "name": "nvidia/nemotron-nano-12b-v2-vl:free",
@@ -5700,7 +8502,8 @@
5700
  "currency": "USD",
5701
  "capabilities": [
5702
  "tools"
5703
- ]
 
5704
  },
5705
  {
5706
  "name": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
@@ -5715,16 +8518,14 @@
5715
  "type": "chat",
5716
  "input_price_per_1m": 0,
5717
  "output_price_per_1m": 0,
5718
- "currency": "USD",
5719
- "size_b": 2
5720
  },
5721
  {
5722
  "name": "google/gemma-3n-e4b-it:free",
5723
  "type": "chat",
5724
  "input_price_per_1m": 0,
5725
  "output_price_per_1m": 0,
5726
- "currency": "USD",
5727
- "size_b": 4
5728
  },
5729
  {
5730
  "name": "qwen/qwen3-4b:free",
 
33
  "input_price_per_1m": 0.17,
34
  "output_price_per_1m": 0.17,
35
  "currency": "USD",
36
+ "size_b": 12.248,
37
  "capabilities": [
38
  "tools"
39
  ]
 
190
  "capabilities": [
191
  "tools",
192
  "reasoning"
193
+ ],
194
+ "size_b": 49
195
  },
196
  {
197
  "name": "Apertus-70B-Instruct-2509",
 
451
  "capabilities": [
452
  "vision",
453
  "tools"
454
+ ],
455
+ "size_b": 17
456
  },
457
  {
458
  "name": "Sonnet 4.5 Reasoning",
 
794
  "provider_upstream": "OpenAI",
795
  "capabilities": [
796
  "vision",
797
+ "files",
798
+ "tools",
799
+ "reasoning"
800
+ ]
801
+ },
802
+ {
803
+ "name": "GPT-5",
804
+ "type": "vision",
805
+ "input_price_per_1m": 1.16,
806
+ "output_price_per_1m": 9.32,
807
+ "currency": "EUR",
808
+ "provider_upstream": "OpenAI",
809
+ "capabilities": [
810
+ "vision",
811
+ "files",
812
+ "tools",
813
+ "reasoning"
814
+ ]
815
+ },
816
+ {
817
+ "name": "GPT-4o Mini",
818
+ "type": "vision",
819
+ "input_price_per_1m": 0.14,
820
+ "output_price_per_1m": 0.56,
821
+ "currency": "EUR",
822
+ "provider_upstream": "OpenAI",
823
+ "capabilities": [
824
+ "vision",
825
+ "files",
826
+ "tools"
827
+ ]
828
+ },
829
+ {
830
+ "name": "GPT-4.1 nano",
831
+ "type": "vision",
832
+ "input_price_per_1m": 0.09,
833
+ "output_price_per_1m": 0.37,
834
+ "currency": "EUR",
835
+ "provider_upstream": "OpenAI",
836
+ "capabilities": [
837
+ "vision",
838
+ "files",
839
+ "tools"
840
+ ]
841
+ },
842
+ {
843
+ "name": "GPT-4o",
844
+ "type": "vision",
845
+ "input_price_per_1m": 2.56,
846
+ "output_price_per_1m": 10.25,
847
+ "currency": "EUR",
848
+ "provider_upstream": "OpenAI",
849
+ "capabilities": [
850
+ "vision",
851
+ "files",
852
+ "tools"
853
+ ]
854
+ },
855
+ {
856
+ "name": "GPT-4.1",
857
+ "type": "vision",
858
+ "input_price_per_1m": 1.86,
859
+ "output_price_per_1m": 7.45,
860
+ "currency": "EUR",
861
+ "provider_upstream": "OpenAI",
862
+ "capabilities": [
863
+ "vision",
864
+ "files",
865
+ "tools"
866
+ ]
867
+ },
868
+ {
869
+ "name": "GPT-4.1 mini",
870
+ "type": "vision",
871
+ "input_price_per_1m": 0.37,
872
+ "output_price_per_1m": 1.49,
873
+ "currency": "EUR",
874
+ "provider_upstream": "OpenAI",
875
+ "capabilities": [
876
+ "vision",
877
+ "files",
878
+ "tools"
879
+ ]
880
+ },
881
+ {
882
+ "name": "Gemini 3 Flash Preview",
883
+ "type": "vision",
884
+ "input_price_per_1m": 0.47,
885
+ "output_price_per_1m": 2.8,
886
+ "currency": "EUR",
887
+ "provider_upstream": "Google",
888
+ "capabilities": [
889
+ "vision",
890
+ "video",
891
+ "audio",
892
+ "files",
893
+ "tools",
894
+ "reasoning"
895
+ ]
896
+ },
897
+ {
898
+ "name": "GPT oss (120b)",
899
+ "type": "chat",
900
+ "input_price_per_1m": 0.28,
901
+ "output_price_per_1m": 2.33,
902
+ "currency": "EUR",
903
+ "size_b": 120,
904
+ "provider_upstream": "OpenAI",
905
+ "capabilities": [
906
+ "tools",
907
+ "reasoning"
908
+ ]
909
+ },
910
+ {
911
+ "name": "Gemini 2.5 Flash",
912
+ "type": "vision",
913
+ "input_price_per_1m": 0.28,
914
+ "output_price_per_1m": 2.33,
915
+ "currency": "EUR",
916
+ "provider_upstream": "Google",
917
+ "capabilities": [
918
+ "vision",
919
+ "video",
920
+ "audio",
921
+ "files",
922
+ "tools",
923
+ "reasoning"
924
+ ]
925
+ },
926
+ {
927
+ "name": "Gemini 2.5 Pro Reasoning",
928
+ "type": "vision",
929
+ "input_price_per_1m": 2.33,
930
+ "output_price_per_1m": 13.98,
931
+ "currency": "EUR",
932
+ "provider_upstream": "Google",
933
+ "capabilities": [
934
+ "vision",
935
+ "video",
936
+ "audio",
937
+ "files",
938
+ "tools",
939
+ "reasoning"
940
+ ]
941
+ },
942
+ {
943
+ "name": "Gemini 2.5 Pro",
944
+ "type": "vision",
945
+ "input_price_per_1m": 2.33,
946
+ "output_price_per_1m": 13.98,
947
+ "currency": "EUR",
948
+ "provider_upstream": "Google",
949
+ "capabilities": [
950
+ "vision",
951
+ "video",
952
+ "audio",
953
+ "files",
954
+ "tools",
955
+ "reasoning"
956
+ ]
957
+ }
958
+ ]
959
+ },
960
+ {
961
+ "name": "Requesty",
962
+ "url": "https://requesty.ai",
963
+ "headquarters": "USA",
964
+ "region": "Global",
965
+ "gdpr_compliant": true,
966
+ "eu_endpoints": true,
967
+ "models": [
968
+ {
969
+ "name": "novita/meta-llama/llama-3.2-1b-instruct",
970
+ "type": "chat",
971
+ "input_price_per_1m": 0.02,
972
+ "output_price_per_1m": 0.02,
973
+ "currency": "USD",
974
+ "context_window": 131000,
975
+ "size_b": 1
976
+ },
977
+ {
978
+ "name": "deepinfra/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
979
+ "type": "chat",
980
+ "input_price_per_1m": 0.02,
981
+ "output_price_per_1m": 0.05,
982
+ "currency": "USD",
983
+ "context_window": 131072,
984
+ "size_b": 8
985
+ },
986
+ {
987
+ "name": "openai/gpt-5-nano",
988
+ "type": "vision",
989
+ "input_price_per_1m": 0.025,
990
+ "output_price_per_1m": 0.2,
991
+ "currency": "USD",
992
+ "capabilities": [
993
+ "vision",
994
+ "reasoning"
995
+ ],
996
+ "context_window": 400000
997
+ },
998
+ {
999
+ "name": "novita/meta-llama/llama-3.2-3b-instruct",
1000
+ "type": "chat",
1001
+ "input_price_per_1m": 0.03,
1002
+ "output_price_per_1m": 0.05,
1003
+ "currency": "USD",
1004
+ "context_window": 32768,
1005
+ "size_b": 3
1006
+ },
1007
+ {
1008
+ "name": "novita/meta-llama/llama-3-8b-instruct",
1009
+ "type": "chat",
1010
+ "input_price_per_1m": 0.04,
1011
+ "output_price_per_1m": 0.04,
1012
+ "currency": "USD",
1013
+ "context_window": 8192,
1014
+ "size_b": 8,
1015
+ "capabilities": [
1016
+ "tools"
1017
+ ]
1018
+ },
1019
+ {
1020
+ "name": "novita/sao10k/l3-8b-lunaris",
1021
+ "type": "chat",
1022
+ "input_price_per_1m": 0.05,
1023
+ "output_price_per_1m": 0.05,
1024
+ "currency": "USD",
1025
+ "context_window": 8192,
1026
+ "size_b": 8
1027
+ },
1028
+ {
1029
+ "name": "novita/Sao10K/L3-8B-Stheno-v3.2",
1030
+ "type": "chat",
1031
+ "input_price_per_1m": 0.05,
1032
+ "output_price_per_1m": 0.05,
1033
+ "currency": "USD",
1034
+ "context_window": 8192,
1035
+ "size_b": 8
1036
+ },
1037
+ {
1038
+ "name": "novita/meta-llama/llama-3.1-8b-instruct",
1039
+ "type": "chat",
1040
+ "input_price_per_1m": 0.05,
1041
+ "output_price_per_1m": 0.05,
1042
+ "currency": "USD",
1043
+ "context_window": 16384,
1044
+ "size_b": 8,
1045
+ "capabilities": [
1046
+ "tools"
1047
+ ]
1048
+ },
1049
+ {
1050
+ "name": "alibaba/qwen-turbo",
1051
+ "type": "chat",
1052
+ "input_price_per_1m": 0.05,
1053
+ "output_price_per_1m": 0.2,
1054
+ "currency": "USD",
1055
+ "context_window": 1000000,
1056
+ "capabilities": [
1057
+ "tools"
1058
+ ]
1059
+ },
1060
+ {
1061
+ "name": "azure/gpt-5-nano",
1062
+ "type": "vision",
1063
+ "input_price_per_1m": 0.05,
1064
+ "output_price_per_1m": 0.4,
1065
+ "currency": "USD",
1066
+ "capabilities": [
1067
+ "reasoning"
1068
+ ],
1069
+ "context_window": 200000
1070
+ },
1071
+ {
1072
+ "name": "openai-responses/gpt-5-nano",
1073
+ "type": "vision",
1074
+ "input_price_per_1m": 0.05,
1075
+ "output_price_per_1m": 0.4,
1076
+ "currency": "USD",
1077
+ "capabilities": [
1078
+ "vision",
1079
+ "reasoning"
1080
+ ],
1081
+ "context_window": 400000
1082
+ },
1083
+ {
1084
+ "name": "together/meta-llama/Llama-3.2-3B-Instruct-Turbo",
1085
+ "type": "chat",
1086
+ "input_price_per_1m": 0.06,
1087
+ "output_price_per_1m": 0.06,
1088
+ "currency": "USD",
1089
+ "context_window": 131072,
1090
+ "size_b": 3
1091
+ },
1092
+ {
1093
+ "name": "deepinfra/Qwen/Qwen2.5-Coder-32B-Instruct",
1094
+ "type": "chat",
1095
+ "input_price_per_1m": 0.07,
1096
+ "output_price_per_1m": 0.16,
1097
+ "currency": "USD",
1098
+ "context_window": 16384,
1099
+ "size_b": 32
1100
+ },
1101
+ {
1102
+ "name": "deepinfra/microsoft/phi-4",
1103
+ "type": "chat",
1104
+ "input_price_per_1m": 0.07,
1105
+ "output_price_per_1m": 0.14,
1106
+ "currency": "USD",
1107
+ "context_window": 16384
1108
+ },
1109
+ {
1110
+ "name": "novita/gryphe/mythomax-l2-13b",
1111
+ "type": "chat",
1112
+ "input_price_per_1m": 0.09,
1113
+ "output_price_per_1m": 0.09,
1114
+ "currency": "USD",
1115
+ "context_window": 4096,
1116
+ "size_b": 13
1117
+ },
1118
+ {
1119
+ "name": "google/gemini-2.0-flash-001",
1120
+ "type": "vision",
1121
+ "input_price_per_1m": 0.1,
1122
+ "output_price_per_1m": 0.4,
1123
+ "currency": "USD",
1124
+ "capabilities": [
1125
+ "vision"
1126
+ ],
1127
+ "context_window": 1048576
1128
+ },
1129
+ {
1130
+ "name": "google/gemini-2.5-flash-lite",
1131
+ "type": "vision",
1132
+ "input_price_per_1m": 0.1,
1133
+ "output_price_per_1m": 0.4,
1134
+ "currency": "USD",
1135
+ "capabilities": [
1136
+ "vision",
1137
+ "reasoning"
1138
+ ],
1139
+ "context_window": 1048576
1140
+ },
1141
+ {
1142
+ "name": "vertex/gemini-2.5-flash-lite",
1143
+ "type": "vision",
1144
+ "input_price_per_1m": 0.1,
1145
+ "output_price_per_1m": 0.4,
1146
+ "currency": "USD",
1147
+ "capabilities": [
1148
+ "vision",
1149
+ "reasoning"
1150
+ ],
1151
+ "context_window": 1048576
1152
+ },
1153
+ {
1154
+ "name": "openai/gpt-4.1-nano",
1155
+ "type": "vision",
1156
+ "input_price_per_1m": 0.1,
1157
+ "output_price_per_1m": 0.4,
1158
+ "currency": "USD",
1159
+ "capabilities": [
1160
+ "vision"
1161
+ ],
1162
+ "context_window": 1047576
1163
+ },
1164
+ {
1165
+ "name": "together/meta-llama/Meta-Llama-3-8B-Instruct-Lite",
1166
+ "type": "chat",
1167
+ "input_price_per_1m": 0.1,
1168
+ "output_price_per_1m": 0.1,
1169
+ "currency": "USD",
1170
+ "context_window": 8192,
1171
+ "size_b": 8
1172
+ },
1173
+ {
1174
+ "name": "deepinfra/Qwen/Qwen3-32B",
1175
+ "type": "chat",
1176
+ "input_price_per_1m": 0.1,
1177
+ "output_price_per_1m": 0.3,
1178
+ "currency": "USD",
1179
+ "context_window": 40000,
1180
+ "size_b": 32,
1181
+ "capabilities": [
1182
+ "tools",
1183
+ "reasoning"
1184
+ ]
1185
+ },
1186
+ {
1187
+ "name": "azure/gpt-4.1-nano",
1188
+ "type": "vision",
1189
+ "input_price_per_1m": 0.1,
1190
+ "output_price_per_1m": 0.4,
1191
+ "currency": "USD",
1192
+ "capabilities": [
1193
+ "vision"
1194
+ ],
1195
+ "context_window": 1047576
1196
+ },
1197
+ {
1198
+ "name": "azure/openai-responses/gpt-4.1-nano",
1199
+ "type": "vision",
1200
+ "input_price_per_1m": 0.1,
1201
+ "output_price_per_1m": 0.4,
1202
+ "currency": "USD",
1203
+ "capabilities": [
1204
+ "vision"
1205
+ ],
1206
+ "context_window": 1047576
1207
+ },
1208
+ {
1209
+ "name": "mistral/devstral-small-latest",
1210
+ "type": "chat",
1211
+ "input_price_per_1m": 0.1,
1212
+ "output_price_per_1m": 0.3,
1213
+ "currency": "USD",
1214
+ "context_window": 131072,
1215
+ "capabilities": [
1216
+ "tools"
1217
+ ]
1218
+ },
1219
+ {
1220
+ "name": "mistral/devstral-small-2507",
1221
+ "type": "chat",
1222
+ "input_price_per_1m": 0.1,
1223
+ "output_price_per_1m": 0.3,
1224
+ "currency": "USD",
1225
+ "context_window": 131072,
1226
+ "capabilities": [
1227
+ "tools"
1228
+ ]
1229
+ },
1230
+ {
1231
+ "name": "mistral/mistral-small-2503",
1232
+ "type": "chat",
1233
+ "input_price_per_1m": 0.1,
1234
+ "output_price_per_1m": 0.3,
1235
+ "currency": "USD",
1236
+ "context_window": 32768
1237
+ },
1238
+ {
1239
+ "name": "openai-responses/gpt-4.1-nano",
1240
+ "type": "vision",
1241
+ "input_price_per_1m": 0.1,
1242
+ "output_price_per_1m": 0.4,
1243
+ "currency": "USD",
1244
+ "capabilities": [
1245
+ "vision"
1246
+ ],
1247
+ "context_window": 1047576
1248
+ },
1249
+ {
1250
+ "name": "groq/openai/gpt-oss-20b",
1251
+ "type": "chat",
1252
+ "input_price_per_1m": 0.1,
1253
+ "output_price_per_1m": 0.5,
1254
+ "currency": "USD",
1255
+ "context_window": 131072,
1256
+ "size_b": 20,
1257
+ "capabilities": [
1258
+ "tools",
1259
+ "reasoning"
1260
+ ]
1261
+ },
1262
+ {
1263
+ "name": "deepinfra/meta-llama/Llama-3.3-70B-Instruct-Turbo",
1264
+ "type": "chat",
1265
+ "input_price_per_1m": 0.12,
1266
+ "output_price_per_1m": 0.3,
1267
+ "currency": "USD",
1268
+ "context_window": 131072,
1269
+ "size_b": 70,
1270
+ "capabilities": [
1271
+ "tools"
1272
+ ]
1273
+ },
1274
+ {
1275
+ "name": "openai/gpt-5-mini",
1276
+ "type": "vision",
1277
+ "input_price_per_1m": 0.125,
1278
+ "output_price_per_1m": 1,
1279
+ "currency": "USD",
1280
+ "capabilities": [
1281
+ "vision",
1282
+ "reasoning"
1283
+ ],
1284
+ "context_window": 400000
1285
+ },
1286
+ {
1287
+ "name": "nebius/meta-llama/Llama-3.3-70B-Instruct",
1288
+ "type": "chat",
1289
+ "input_price_per_1m": 0.13,
1290
+ "output_price_per_1m": 0.4,
1291
+ "currency": "USD",
1292
+ "context_window": 128000,
1293
+ "size_b": 70,
1294
+ "capabilities": [
1295
+ "tools"
1296
+ ]
1297
+ },
1298
+ {
1299
+ "name": "novita/nousresearch/hermes-2-pro-llama-3-8b",
1300
+ "type": "chat",
1301
+ "input_price_per_1m": 0.14,
1302
+ "output_price_per_1m": 0.14,
1303
+ "currency": "USD",
1304
+ "context_window": 8192,
1305
+ "size_b": 8
1306
+ },
1307
+ {
1308
+ "name": "openai/gpt-4o-mini",
1309
+ "type": "vision",
1310
+ "input_price_per_1m": 0.15,
1311
+ "output_price_per_1m": 0.6,
1312
+ "currency": "USD",
1313
+ "capabilities": [
1314
+ "vision"
1315
+ ],
1316
+ "context_window": 128000
1317
+ },
1318
+ {
1319
+ "name": "nebius/openai/gpt-oss-120b",
1320
+ "type": "chat",
1321
+ "input_price_per_1m": 0.15,
1322
+ "output_price_per_1m": 0.6,
1323
+ "currency": "USD",
1324
+ "capabilities": [
1325
+ "reasoning"
1326
+ ],
1327
+ "context_window": 131000,
1328
+ "size_b": 120
1329
+ },
1330
+ {
1331
+ "name": "novita/deepseek/deepseek-r1-distill-qwen-14b",
1332
+ "type": "chat",
1333
+ "input_price_per_1m": 0.15,
1334
+ "output_price_per_1m": 0.15,
1335
+ "currency": "USD",
1336
+ "context_window": 128000,
1337
+ "size_b": 14,
1338
+ "capabilities": [
1339
+ "tools",
1340
+ "reasoning"
1341
+ ]
1342
+ },
1343
+ {
1344
+ "name": "parasail/parasail-qwen3-235b-a22b-instruct-2507",
1345
+ "type": "chat",
1346
+ "input_price_per_1m": 0.15,
1347
+ "output_price_per_1m": 0.85,
1348
+ "currency": "USD",
1349
+ "context_window": 262144,
1350
+ "size_b": 235
1351
+ },
1352
+ {
1353
+ "name": "mistral/mistral-small-latest",
1354
+ "type": "vision",
1355
+ "input_price_per_1m": 0.15,
1356
+ "output_price_per_1m": 0.6,
1357
+ "currency": "USD",
1358
+ "capabilities": [
1359
+ "vision",
1360
+ "reasoning"
1361
+ ],
1362
+ "context_window": 256000
1363
+ },
1364
+ {
1365
+ "name": "mistral/mistral-small-2603",
1366
+ "type": "vision",
1367
+ "input_price_per_1m": 0.15,
1368
+ "output_price_per_1m": 0.6,
1369
+ "currency": "USD",
1370
+ "capabilities": [
1371
+ "vision",
1372
+ "reasoning"
1373
+ ],
1374
+ "context_window": 256000,
1375
+ "size_b": 119
1376
+ },
1377
+ {
1378
+ "name": "groq/openai/gpt-oss-120b",
1379
+ "type": "chat",
1380
+ "input_price_per_1m": 0.15,
1381
+ "output_price_per_1m": 0.75,
1382
+ "currency": "USD",
1383
+ "context_window": 131072,
1384
+ "size_b": 120,
1385
+ "capabilities": [
1386
+ "tools",
1387
+ "reasoning"
1388
+ ]
1389
+ },
1390
+ {
1391
+ "name": "novita/mistralai/mistral-nemo",
1392
+ "type": "chat",
1393
+ "input_price_per_1m": 0.17,
1394
+ "output_price_per_1m": 0.17,
1395
+ "currency": "USD",
1396
+ "context_window": 131072,
1397
+ "capabilities": [
1398
+ "tools"
1399
+ ]
1400
+ },
1401
+ {
1402
+ "name": "together/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
1403
+ "type": "chat",
1404
+ "input_price_per_1m": 0.18,
1405
+ "output_price_per_1m": 0.18,
1406
+ "currency": "USD",
1407
+ "context_window": 131072,
1408
+ "size_b": 8
1409
+ },
1410
+ {
1411
+ "name": "openai/gpt-5.4-nano",
1412
+ "type": "vision",
1413
+ "input_price_per_1m": 0.2,
1414
+ "output_price_per_1m": 1.25,
1415
+ "currency": "USD",
1416
+ "capabilities": [
1417
+ "vision",
1418
+ "reasoning"
1419
+ ],
1420
+ "context_window": 400000
1421
+ },
1422
+ {
1423
+ "name": "novita/qwen/qwen3-235b-a22b-fp8",
1424
+ "type": "chat",
1425
+ "input_price_per_1m": 0.2,
1426
+ "output_price_per_1m": 0.8,
1427
+ "currency": "USD",
1428
+ "context_window": 128000,
1429
+ "size_b": 235,
1430
+ "capabilities": [
1431
+ "tools",
1432
+ "reasoning"
1433
+ ]
1434
+ },
1435
+ {
1436
+ "name": "novita/meta-llama/llama-4-maverick-17b-128e-instruct-fp8",
1437
+ "type": "vision",
1438
+ "input_price_per_1m": 0.2,
1439
+ "output_price_per_1m": 0.85,
1440
+ "currency": "USD",
1441
+ "context_window": 1048576,
1442
+ "size_b": 17,
1443
+ "capabilities": [
1444
+ "vision",
1445
+ "tools"
1446
+ ]
1447
+ },
1448
+ {
1449
+ "name": "together/meta-llama/LlamaGuard-2-8b",
1450
+ "type": "chat",
1451
+ "input_price_per_1m": 0.2,
1452
+ "output_price_per_1m": 0.2,
1453
+ "currency": "USD",
1454
+ "context_window": 8192,
1455
+ "size_b": 8
1456
+ },
1457
+ {
1458
+ "name": "deepinfra/Qwen/Qwen3-235B-A22B",
1459
+ "type": "chat",
1460
+ "input_price_per_1m": 0.2,
1461
+ "output_price_per_1m": 0.6,
1462
+ "currency": "USD",
1463
+ "context_window": 40000,
1464
+ "size_b": 235,
1465
+ "capabilities": [
1466
+ "tools",
1467
+ "reasoning"
1468
+ ]
1469
+ },
1470
+ {
1471
+ "name": "deepinfra/zai-org/GLM-4.5-Air",
1472
+ "type": "chat",
1473
+ "input_price_per_1m": 0.2,
1474
+ "output_price_per_1m": 1.1,
1475
+ "currency": "USD",
1476
+ "context_window": 131072,
1477
+ "capabilities": [
1478
+ "tools",
1479
+ "reasoning"
1480
+ ]
1481
+ },
1482
+ {
1483
+ "name": "alibaba/qwen3-30b-a3b-instruct-2507",
1484
+ "type": "vision",
1485
+ "input_price_per_1m": 0.2,
1486
+ "output_price_per_1m": 0.8,
1487
+ "currency": "USD",
1488
+ "capabilities": [
1489
+ "vision"
1490
+ ],
1491
+ "context_window": 131072,
1492
+ "size_b": 30
1493
+ },
1494
+ {
1495
+ "name": "openai-responses/gpt-5.4-nano",
1496
+ "type": "vision",
1497
+ "input_price_per_1m": 0.2,
1498
+ "output_price_per_1m": 1.25,
1499
+ "currency": "USD",
1500
+ "capabilities": [
1501
+ "vision",
1502
+ "reasoning"
1503
+ ],
1504
+ "context_window": 400000
1505
+ },
1506
+ {
1507
+ "name": "xai/grok-code-fast-1",
1508
+ "type": "vision",
1509
+ "input_price_per_1m": 0.2,
1510
+ "output_price_per_1m": 1.5,
1511
+ "currency": "USD",
1512
+ "capabilities": [
1513
+ "vision"
1514
+ ],
1515
+ "context_window": 256000
1516
+ },
1517
+ {
1518
+ "name": "xai/grok-4-1-fast-reasoning",
1519
+ "type": "vision",
1520
+ "input_price_per_1m": 0.2,
1521
+ "output_price_per_1m": 0.5,
1522
+ "currency": "USD",
1523
+ "capabilities": [
1524
+ "vision"
1525
+ ],
1526
+ "context_window": 2000000
1527
+ },
1528
+ {
1529
+ "name": "xai/grok-4-1-fast-non-reasoning",
1530
+ "type": "vision",
1531
+ "input_price_per_1m": 0.2,
1532
+ "output_price_per_1m": 0.5,
1533
+ "currency": "USD",
1534
+ "capabilities": [
1535
+ "vision"
1536
+ ],
1537
+ "context_window": 2000000
1538
+ },
1539
+ {
1540
+ "name": "xai/grok-4-fast",
1541
+ "type": "vision",
1542
+ "input_price_per_1m": 0.2,
1543
+ "output_price_per_1m": 0.5,
1544
+ "currency": "USD",
1545
+ "context_window": 2000000,
1546
+ "capabilities": [
1547
+ "vision",
1548
+ "tools",
1549
+ "reasoning"
1550
+ ]
1551
+ },
1552
+ {
1553
+ "name": "xai/grok-4-fast-non-reasoning",
1554
+ "type": "vision",
1555
+ "input_price_per_1m": 0.2,
1556
+ "output_price_per_1m": 0.5,
1557
+ "currency": "USD",
1558
+ "context_window": 2000000,
1559
+ "capabilities": [
1560
+ "vision",
1561
+ "tools",
1562
+ "reasoning"
1563
+ ]
1564
+ },
1565
+ {
1566
+ "name": "deepinfra/meta-llama/Meta-Llama-3.1-70B-Instruct",
1567
+ "type": "chat",
1568
+ "input_price_per_1m": 0.23,
1569
+ "output_price_per_1m": 0.4,
1570
+ "currency": "USD",
1571
+ "context_window": 130815,
1572
+ "size_b": 70
1573
+ },
1574
+ {
1575
+ "name": "deepinfra/Qwen/Qwen2.5-72B-Instruct",
1576
+ "type": "vision",
1577
+ "input_price_per_1m": 0.23,
1578
+ "output_price_per_1m": 0.4,
1579
+ "currency": "USD",
1580
+ "context_window": 131072,
1581
+ "size_b": 72,
1582
+ "capabilities": [
1583
+ "vision"
1584
+ ]
1585
+ },
1586
+ {
1587
+ "name": "deepinfra/deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
1588
+ "type": "chat",
1589
+ "input_price_per_1m": 0.23,
1590
+ "output_price_per_1m": 0.69,
1591
+ "currency": "USD",
1592
+ "context_window": 64000,
1593
+ "size_b": 70,
1594
+ "capabilities": [
1595
+ "reasoning"
1596
+ ]
1597
+ },
1598
+ {
1599
+ "name": "deepinfra/meta-llama/Llama-3.3-70B-Instruct",
1600
+ "type": "chat",
1601
+ "input_price_per_1m": 0.23,
1602
+ "output_price_per_1m": 0.4,
1603
+ "currency": "USD",
1604
+ "context_window": 131072,
1605
+ "size_b": 70,
1606
+ "capabilities": [
1607
+ "tools"
1608
+ ]
1609
+ },
1610
+ {
1611
+ "name": "google/gemini-3.1-flash-lite-preview",
1612
+ "type": "vision",
1613
+ "input_price_per_1m": 0.25,
1614
+ "output_price_per_1m": 1.5,
1615
+ "currency": "USD",
1616
+ "capabilities": [
1617
+ "vision"
1618
+ ],
1619
+ "context_window": 1048576
1620
+ },
1621
+ {
1622
+ "name": "vertex/gemini-3.1-flash-lite-preview",
1623
+ "type": "vision",
1624
+ "input_price_per_1m": 0.25,
1625
+ "output_price_per_1m": 1.5,
1626
+ "currency": "USD",
1627
+ "capabilities": [
1628
+ "vision"
1629
+ ],
1630
+ "context_window": 1048576
1631
+ },
1632
+ {
1633
+ "name": "azure/gpt-5-mini",
1634
+ "type": "vision",
1635
+ "input_price_per_1m": 0.25,
1636
+ "output_price_per_1m": 2,
1637
+ "currency": "USD",
1638
+ "capabilities": [
1639
+ "reasoning"
1640
+ ],
1641
+ "context_window": 200000
1642
+ },
1643
+ {
1644
+ "name": "mistral/open-mistral-7b",
1645
+ "type": "chat",
1646
+ "input_price_per_1m": 0.25,
1647
+ "output_price_per_1m": 0.25,
1648
+ "currency": "USD",
1649
+ "context_window": 32768,
1650
+ "size_b": 7
1651
+ },
1652
+ {
1653
+ "name": "openai-responses/gpt-5-mini",
1654
+ "type": "vision",
1655
+ "input_price_per_1m": 0.25,
1656
+ "output_price_per_1m": 2,
1657
+ "currency": "USD",
1658
+ "capabilities": [
1659
+ "vision",
1660
+ "reasoning"
1661
+ ],
1662
+ "context_window": 400000
1663
+ },
1664
+ {
1665
+ "name": "novita/deepseek/deepseek-v3.2",
1666
+ "type": "chat",
1667
+ "input_price_per_1m": 0.269,
1668
+ "output_price_per_1m": 0.4,
1669
+ "currency": "USD",
1670
+ "capabilities": [
1671
+ "reasoning"
1672
+ ],
1673
+ "context_window": 163840
1674
+ },
1675
+ {
1676
+ "name": "deepseek/deepseek-chat",
1677
+ "type": "chat",
1678
+ "input_price_per_1m": 0.28,
1679
+ "output_price_per_1m": 0.42,
1680
+ "currency": "USD",
1681
+ "context_window": 128000,
1682
+ "capabilities": [
1683
+ "tools"
1684
+ ]
1685
+ },
1686
+ {
1687
+ "name": "deepseek/deepseek-reasoner",
1688
+ "type": "chat",
1689
+ "input_price_per_1m": 0.28,
1690
+ "output_price_per_1m": 0.42,
1691
+ "currency": "USD",
1692
+ "context_window": 128000
1693
+ },
1694
+ {
1695
+ "name": "google/gemini-2.5-flash",
1696
+ "type": "vision",
1697
+ "input_price_per_1m": 0.3,
1698
+ "output_price_per_1m": 2.5,
1699
+ "currency": "USD",
1700
+ "capabilities": [
1701
+ "vision",
1702
+ "reasoning"
1703
+ ],
1704
+ "context_window": 1048576
1705
+ },
1706
+ {
1707
+ "name": "vertex/gemini-2.5-flash-image",
1708
+ "type": "vision",
1709
+ "input_price_per_1m": 0.3,
1710
+ "output_price_per_1m": 2.5,
1711
+ "currency": "USD",
1712
+ "capabilities": [
1713
+ "vision",
1714
+ "reasoning"
1715
+ ],
1716
+ "context_window": 1048576
1717
+ },
1718
+ {
1719
+ "name": "vertex/gemini-2.5-flash",
1720
+ "type": "vision",
1721
+ "input_price_per_1m": 0.3,
1722
+ "output_price_per_1m": 2.5,
1723
+ "currency": "USD",
1724
+ "capabilities": [
1725
+ "vision",
1726
+ "reasoning"
1727
+ ],
1728
+ "context_window": 1048576
1729
+ },
1730
+ {
1731
+ "name": "nebius/minimax/minimax-m2.1",
1732
+ "type": "chat",
1733
+ "input_price_per_1m": 0.3,
1734
+ "output_price_per_1m": 1.2,
1735
+ "currency": "USD",
1736
+ "capabilities": [
1737
+ "reasoning"
1738
+ ],
1739
+ "context_window": 200000
1740
+ },
1741
+ {
1742
+ "name": "nebius/deepseek-ai/DeepSeek-V3.2",
1743
+ "type": "chat",
1744
+ "input_price_per_1m": 0.3,
1745
+ "output_price_per_1m": 0.45,
1746
+ "currency": "USD",
1747
+ "capabilities": [
1748
+ "reasoning"
1749
+ ],
1750
+ "context_window": 164000
1751
+ },
1752
+ {
1753
+ "name": "novita/minimax-m2.7",
1754
+ "type": "vision",
1755
+ "input_price_per_1m": 0.3,
1756
+ "output_price_per_1m": 1.2,
1757
+ "currency": "USD",
1758
+ "capabilities": [
1759
+ "vision",
1760
+ "reasoning"
1761
+ ],
1762
+ "context_window": 200000
1763
+ },
1764
+ {
1765
+ "name": "novita/MiniMax-M2.7",
1766
+ "type": "vision",
1767
+ "input_price_per_1m": 0.3,
1768
+ "output_price_per_1m": 1.2,
1769
+ "currency": "USD",
1770
+ "capabilities": [
1771
+ "vision",
1772
+ "reasoning"
1773
+ ],
1774
+ "context_window": 200000
1775
+ },
1776
+ {
1777
+ "name": "novita/deepseek/deepseek-r1-distill-qwen-32b",
1778
+ "type": "chat",
1779
+ "input_price_per_1m": 0.3,
1780
+ "output_price_per_1m": 0.3,
1781
+ "currency": "USD",
1782
+ "context_window": 12800,
1783
+ "size_b": 32,
1784
+ "capabilities": [
1785
+ "reasoning"
1786
+ ]
1787
+ },
1788
+ {
1789
+ "name": "together/Qwen/Qwen2.5-7B-Instruct-Turbo",
1790
+ "type": "chat",
1791
+ "input_price_per_1m": 0.3,
1792
+ "output_price_per_1m": 0.3,
1793
+ "currency": "USD",
1794
+ "context_window": 32768,
1795
+ "size_b": 7
1796
+ },
1797
+ {
1798
+ "name": "deepinfra/deepseek-ai/DeepSeek-V3.1",
1799
+ "type": "chat",
1800
+ "input_price_per_1m": 0.3,
1801
+ "output_price_per_1m": 1,
1802
+ "currency": "USD",
1803
+ "context_window": 163840,
1804
+ "capabilities": [
1805
+ "tools",
1806
+ "reasoning"
1807
+ ]
1808
+ },
1809
+ {
1810
+ "name": "parasail/parasail-gemma3-27b-it",
1811
+ "type": "chat",
1812
+ "input_price_per_1m": 0.3,
1813
+ "output_price_per_1m": 0.5,
1814
+ "currency": "USD",
1815
+ "context_window": 128000,
1816
+ "size_b": 27
1817
+ },
1818
+ {
1819
+ "name": "alibaba/qwen3-coder-flash",
1820
+ "type": "vision",
1821
+ "input_price_per_1m": 0.3,
1822
+ "output_price_per_1m": 1.5,
1823
+ "currency": "USD",
1824
+ "capabilities": [
1825
+ "vision"
1826
+ ],
1827
+ "context_window": 1048576
1828
+ },
1829
+ {
1830
+ "name": "coding/gemini-2.5-flash",
1831
+ "type": "vision",
1832
+ "input_price_per_1m": 0.3,
1833
+ "output_price_per_1m": 2.5,
1834
+ "currency": "USD",
1835
+ "capabilities": [
1836
+ "vision",
1837
+ "reasoning"
1838
+ ],
1839
+ "context_window": 1048576
1840
+ },
1841
+ {
1842
+ "name": "mistral/codestral-latest",
1843
+ "type": "chat",
1844
+ "input_price_per_1m": 0.3,
1845
+ "output_price_per_1m": 0.9,
1846
+ "currency": "USD",
1847
+ "context_window": 131072
1848
+ },
1849
+ {
1850
+ "name": "minimaxi/MiniMax-M2.7",
1851
+ "type": "vision",
1852
+ "input_price_per_1m": 0.3,
1853
+ "output_price_per_1m": 1.2,
1854
+ "currency": "USD",
1855
+ "capabilities": [
1856
+ "vision",
1857
+ "reasoning"
1858
+ ],
1859
+ "context_window": 200000
1860
+ },
1861
+ {
1862
+ "name": "minimaxi/MiniMax-M2.5",
1863
+ "type": "vision",
1864
+ "input_price_per_1m": 0.3,
1865
+ "output_price_per_1m": 1.2,
1866
+ "currency": "USD",
1867
+ "capabilities": [
1868
+ "vision",
1869
+ "reasoning"
1870
+ ],
1871
+ "context_window": 200000
1872
+ },
1873
+ {
1874
+ "name": "minimaxi/MiniMax-M2",
1875
+ "type": "chat",
1876
+ "input_price_per_1m": 0.3,
1877
+ "output_price_per_1m": 1.2,
1878
+ "currency": "USD",
1879
+ "context_window": 200000,
1880
+ "capabilities": [
1881
+ "tools",
1882
+ "reasoning"
1883
+ ]
1884
+ },
1885
+ {
1886
+ "name": "xai/grok-3-mini",
1887
+ "type": "chat",
1888
+ "input_price_per_1m": 0.3,
1889
+ "output_price_per_1m": 0.5,
1890
+ "currency": "USD",
1891
+ "capabilities": [
1892
+ "reasoning"
1893
+ ],
1894
+ "context_window": 131072
1895
+ },
1896
+ {
1897
+ "name": "deepinfra/meta-llama/Llama-3.2-90B-Vision-Instruct",
1898
+ "type": "chat",
1899
+ "input_price_per_1m": 0.35,
1900
+ "output_price_per_1m": 0.4,
1901
+ "currency": "USD",
1902
+ "context_window": 131072,
1903
+ "size_b": 90
1904
+ },
1905
+ {
1906
+ "name": "novita/qwen/qwen-2.5-72b-instruct",
1907
+ "type": "chat",
1908
+ "input_price_per_1m": 0.38,
1909
+ "output_price_per_1m": 0.4,
1910
+ "currency": "USD",
1911
+ "context_window": 32000,
1912
+ "size_b": 72,
1913
+ "capabilities": [
1914
+ "tools"
1915
+ ]
1916
+ },
1917
+ {
1918
+ "name": "novita/meta-llama/llama-3.3-70b-instruct",
1919
+ "type": "chat",
1920
+ "input_price_per_1m": 0.39,
1921
+ "output_price_per_1m": 0.39,
1922
+ "currency": "USD",
1923
+ "context_window": 131072,
1924
+ "size_b": 70,
1925
+ "capabilities": [
1926
+ "tools"
1927
+ ]
1928
+ },
1929
+ {
1930
+ "name": "openai/gpt-4.1-mini",
1931
+ "type": "vision",
1932
+ "input_price_per_1m": 0.4,
1933
+ "output_price_per_1m": 1.6,
1934
+ "currency": "USD",
1935
+ "capabilities": [
1936
+ "vision"
1937
+ ],
1938
+ "context_window": 1047576
1939
+ },
1940
+ {
1941
+ "name": "nebius/zai-org/GLM-4.7",
1942
+ "type": "chat",
1943
+ "input_price_per_1m": 0.4,
1944
+ "output_price_per_1m": 2,
1945
+ "currency": "USD",
1946
+ "capabilities": [
1947
+ "reasoning"
1948
+ ],
1949
+ "context_window": 200000
1950
+ },
1951
+ {
1952
+ "name": "nebius/Qwen/Qwen3-Coder-480B-A35B-Instruct",
1953
+ "type": "chat",
1954
+ "input_price_per_1m": 0.4,
1955
+ "output_price_per_1m": 1.8,
1956
+ "currency": "USD",
1957
+ "context_window": 262000,
1958
+ "size_b": 480,
1959
+ "capabilities": [
1960
+ "tools"
1961
+ ]
1962
+ },
1963
+ {
1964
+ "name": "novita/deepseek/deepseek-v3-0324",
1965
+ "type": "chat",
1966
+ "input_price_per_1m": 0.4,
1967
+ "output_price_per_1m": 1.3,
1968
+ "currency": "USD",
1969
+ "context_window": 128000,
1970
+ "capabilities": [
1971
+ "tools",
1972
+ "reasoning"
1973
+ ],
1974
+ "size_b": 685
1975
+ },
1976
+ {
1977
+ "name": "novita/deepseek/deepseek-v3-turbo",
1978
+ "type": "chat",
1979
+ "input_price_per_1m": 0.4,
1980
+ "output_price_per_1m": 1.3,
1981
+ "currency": "USD",
1982
+ "context_window": 128000
1983
+ },
1984
+ {
1985
+ "name": "deepinfra/Qwen/Qwen3-Coder-480B-A35B-Instruct",
1986
+ "type": "chat",
1987
+ "input_price_per_1m": 0.4,
1988
+ "output_price_per_1m": 1.6,
1989
+ "currency": "USD",
1990
+ "context_window": 262144,
1991
+ "size_b": 480,
1992
+ "capabilities": [
1993
+ "tools"
1994
+ ]
1995
+ },
1996
+ {
1997
+ "name": "alibaba/qwen-plus",
1998
+ "type": "chat",
1999
+ "input_price_per_1m": 0.4,
2000
+ "output_price_per_1m": 1.2,
2001
+ "currency": "USD",
2002
+ "context_window": 131072,
2003
+ "capabilities": [
2004
+ "tools"
2005
+ ]
2006
+ },
2007
+ {
2008
+ "name": "azure/gpt-4.1-mini",
2009
+ "type": "vision",
2010
+ "input_price_per_1m": 0.4,
2011
+ "output_price_per_1m": 1.6,
2012
+ "currency": "USD",
2013
+ "capabilities": [
2014
+ "vision"
2015
+ ],
2016
+ "context_window": 1047576
2017
+ },
2018
+ {
2019
+ "name": "azure/openai-responses/gpt-4.1-mini",
2020
+ "type": "vision",
2021
+ "input_price_per_1m": 0.4,
2022
+ "output_price_per_1m": 1.6,
2023
+ "currency": "USD",
2024
+ "capabilities": [
2025
+ "vision"
2026
+ ],
2027
+ "context_window": 1047576
2028
+ },
2029
+ {
2030
+ "name": "mistral/devstral-medium-2507",
2031
+ "type": "chat",
2032
+ "input_price_per_1m": 0.4,
2033
+ "output_price_per_1m": 2,
2034
+ "currency": "USD",
2035
+ "context_window": 131072,
2036
+ "capabilities": [
2037
+ "tools"
2038
+ ]
2039
+ },
2040
+ {
2041
+ "name": "mistral/devstral-latest",
2042
+ "type": "chat",
2043
+ "input_price_per_1m": 0.4,
2044
+ "output_price_per_1m": 2,
2045
+ "currency": "USD",
2046
+ "context_window": 256000
2047
+ },
2048
+ {
2049
+ "name": "mistral/mistral-medium-latest",
2050
+ "type": "chat",
2051
+ "input_price_per_1m": 0.4,
2052
+ "output_price_per_1m": 2,
2053
+ "currency": "USD",
2054
+ "context_window": 131072
2055
+ },
2056
+ {
2057
+ "name": "openai-responses/gpt-4.1-mini",
2058
+ "type": "vision",
2059
+ "input_price_per_1m": 0.4,
2060
+ "output_price_per_1m": 1.6,
2061
+ "currency": "USD",
2062
+ "capabilities": [
2063
+ "vision"
2064
+ ],
2065
+ "context_window": 1047576
2066
+ },
2067
+ {
2068
+ "name": "google/gemini-3.1-flash-image-preview",
2069
+ "type": "vision",
2070
+ "input_price_per_1m": 0.5,
2071
+ "output_price_per_1m": 2,
2072
+ "currency": "USD",
2073
+ "capabilities": [
2074
+ "vision",
2075
+ "reasoning"
2076
+ ],
2077
+ "context_window": 131072
2078
+ },
2079
+ {
2080
+ "name": "google/gemini-3-flash-preview",
2081
+ "type": "vision",
2082
+ "input_price_per_1m": 0.5,
2083
+ "output_price_per_1m": 3,
2084
+ "currency": "USD",
2085
+ "capabilities": [
2086
+ "vision",
2087
+ "reasoning"
2088
+ ],
2089
+ "context_window": 1048576
2090
+ },
2091
+ {
2092
+ "name": "vertex/gemini-3-flash-preview",
2093
+ "type": "vision",
2094
+ "input_price_per_1m": 0.5,
2095
+ "output_price_per_1m": 3,
2096
+ "currency": "USD",
2097
+ "capabilities": [
2098
+ "vision",
2099
+ "reasoning"
2100
+ ],
2101
+ "context_window": 1048576
2102
+ },
2103
+ {
2104
+ "name": "vertex/gemini-3.1-flash-image-preview",
2105
+ "type": "vision",
2106
+ "input_price_per_1m": 0.5,
2107
+ "output_price_per_1m": 2,
2108
+ "currency": "USD",
2109
+ "capabilities": [
2110
+ "vision",
2111
+ "reasoning"
2112
+ ],
2113
+ "context_window": 131072
2114
+ },
2115
+ {
2116
+ "name": "nebius/deepseek-ai/DeepSeek-V3-0324",
2117
+ "type": "chat",
2118
+ "input_price_per_1m": 0.5,
2119
+ "output_price_per_1m": 1.5,
2120
+ "currency": "USD",
2121
+ "context_window": 128000,
2122
+ "capabilities": [
2123
+ "tools",
2124
+ "reasoning"
2125
+ ],
2126
+ "size_b": 685
2127
+ },
2128
+ {
2129
+ "name": "nebius/moonshotai/kimi-k2.5",
2130
+ "type": "vision",
2131
+ "input_price_per_1m": 0.5,
2132
+ "output_price_per_1m": 2.5,
2133
+ "currency": "USD",
2134
+ "capabilities": [
2135
+ "vision",
2136
+ "reasoning"
2137
+ ],
2138
+ "context_window": 256000
2139
+ },
2140
+ {
2141
+ "name": "nebius/moonshotai/Kimi-K2-Instruct",
2142
+ "type": "chat",
2143
+ "input_price_per_1m": 0.5,
2144
+ "output_price_per_1m": 2.4,
2145
+ "currency": "USD",
2146
+ "context_window": 131000,
2147
+ "capabilities": [
2148
+ "tools"
2149
+ ]
2150
+ },
2151
+ {
2152
+ "name": "mistral/mistral-large-latest",
2153
+ "type": "chat",
2154
+ "input_price_per_1m": 0.5,
2155
+ "output_price_per_1m": 1.5,
2156
+ "currency": "USD",
2157
+ "context_window": 131072,
2158
+ "capabilities": [
2159
+ "tools"
2160
+ ]
2161
+ },
2162
+ {
2163
+ "name": "novita/meta-llama/llama-3-70b-instruct",
2164
+ "type": "chat",
2165
+ "input_price_per_1m": 0.51,
2166
+ "output_price_per_1m": 0.74,
2167
+ "currency": "USD",
2168
+ "context_window": 8192,
2169
+ "size_b": 70,
2170
+ "capabilities": [
2171
+ "tools"
2172
+ ]
2173
+ },
2174
+ {
2175
+ "name": "openai/o4-mini",
2176
+ "type": "vision",
2177
+ "input_price_per_1m": 0.55,
2178
+ "output_price_per_1m": 2.2,
2179
+ "currency": "USD",
2180
+ "capabilities": [
2181
+ "reasoning"
2182
+ ],
2183
+ "context_window": 200000
2184
+ },
2185
+ {
2186
+ "name": "vertex/deepseek-v3.2",
2187
+ "type": "vision",
2188
+ "input_price_per_1m": 0.56,
2189
+ "output_price_per_1m": 1.68,
2190
+ "currency": "USD",
2191
+ "capabilities": [
2192
+ "vision",
2193
+ "reasoning"
2194
+ ],
2195
+ "context_window": 163840
2196
+ },
2197
+ {
2198
+ "name": "novita/moonshotai/kimi-k2-instruct",
2199
+ "type": "chat",
2200
+ "input_price_per_1m": 0.57,
2201
+ "output_price_per_1m": 2.3,
2202
+ "currency": "USD",
2203
+ "context_window": 131072,
2204
+ "capabilities": [
2205
+ "tools"
2206
+ ]
2207
+ },
2208
+ {
2209
+ "name": "nebius/zai-org/GLM-4.5",
2210
+ "type": "chat",
2211
+ "input_price_per_1m": 0.6,
2212
+ "output_price_per_1m": 2.2,
2213
+ "currency": "USD",
2214
+ "context_window": 128000,
2215
+ "capabilities": [
2216
+ "tools",
2217
+ "reasoning"
2218
+ ]
2219
+ },
2220
+ {
2221
+ "name": "novita/zai-org/glm-4.6",
2222
+ "type": "chat",
2223
+ "input_price_per_1m": 0.6,
2224
+ "output_price_per_1m": 2.2,
2225
+ "currency": "USD",
2226
+ "context_window": 204800,
2227
+ "capabilities": [
2228
+ "tools",
2229
+ "reasoning"
2230
+ ]
2231
+ },
2232
+ {
2233
+ "name": "novita/zai-org/glm-4.5",
2234
+ "type": "chat",
2235
+ "input_price_per_1m": 0.6,
2236
+ "output_price_per_1m": 2.2,
2237
+ "currency": "USD",
2238
+ "context_window": 131072,
2239
+ "capabilities": [
2240
+ "tools",
2241
+ "reasoning"
2242
+ ]
2243
+ },
2244
+ {
2245
+ "name": "moonshot/kimi-k2-thinking",
2246
+ "type": "chat",
2247
+ "input_price_per_1m": 0.6,
2248
+ "output_price_per_1m": 2.5,
2249
+ "currency": "USD",
2250
+ "context_window": 131072,
2251
+ "capabilities": [
2252
+ "tools"
2253
+ ]
2254
+ },
2255
+ {
2256
+ "name": "moonshot/kimi-k2-0711-preview",
2257
+ "type": "chat",
2258
+ "input_price_per_1m": 0.6,
2259
+ "output_price_per_1m": 2.5,
2260
+ "currency": "USD",
2261
+ "context_window": 131072,
2262
+ "capabilities": [
2263
+ "tools"
2264
+ ]
2265
+ },
2266
+ {
2267
+ "name": "moonshot/kimi-k2.5",
2268
+ "type": "vision",
2269
+ "input_price_per_1m": 0.6,
2270
+ "output_price_per_1m": 3,
2271
+ "currency": "USD",
2272
+ "capabilities": [
2273
+ "vision",
2274
+ "reasoning"
2275
+ ],
2276
+ "context_window": 262144
2277
+ },
2278
+ {
2279
+ "name": "moonshot/kimi-k2-thinking-turbo",
2280
+ "type": "chat",
2281
+ "input_price_per_1m": 0.6,
2282
+ "output_price_per_1m": 2.5,
2283
+ "currency": "USD",
2284
+ "context_window": 131072,
2285
+ "capabilities": [
2286
+ "tools",
2287
+ "reasoning"
2288
+ ]
2289
+ },
2290
+ {
2291
+ "name": "moonshot/kimi-k2-0905-preview",
2292
+ "type": "chat",
2293
+ "input_price_per_1m": 0.6,
2294
+ "output_price_per_1m": 2.5,
2295
+ "currency": "USD",
2296
+ "context_window": 131072,
2297
+ "capabilities": [
2298
+ "tools"
2299
+ ]
2300
+ },
2301
+ {
2302
+ "name": "deepinfra/zai-org/GLM-4.5",
2303
+ "type": "chat",
2304
+ "input_price_per_1m": 0.6,
2305
+ "output_price_per_1m": 2.2,
2306
+ "currency": "USD",
2307
+ "context_window": 131072,
2308
+ "capabilities": [
2309
+ "tools",
2310
+ "reasoning"
2311
+ ]
2312
+ },
2313
+ {
2314
+ "name": "zai/GLM-4.5",
2315
+ "type": "chat",
2316
+ "input_price_per_1m": 0.6,
2317
+ "output_price_per_1m": 2.2,
2318
+ "currency": "USD",
2319
+ "capabilities": [
2320
+ "reasoning"
2321
+ ],
2322
+ "context_window": 131072
2323
+ },
2324
+ {
2325
+ "name": "zai/GLM-4.6",
2326
+ "type": "chat",
2327
+ "input_price_per_1m": 0.6,
2328
+ "output_price_per_1m": 2.2,
2329
+ "currency": "USD",
2330
+ "capabilities": [
2331
+ "reasoning"
2332
+ ],
2333
+ "context_window": 200000
2334
+ },
2335
+ {
2336
+ "name": "zai/GLM-4.7",
2337
+ "type": "chat",
2338
+ "input_price_per_1m": 0.6,
2339
+ "output_price_per_1m": 2.2,
2340
+ "currency": "USD",
2341
+ "capabilities": [
2342
+ "reasoning"
2343
+ ],
2344
+ "context_window": 200000
2345
+ },
2346
+ {
2347
+ "name": "alibaba/qwen3.5",
2348
+ "type": "vision",
2349
+ "input_price_per_1m": 0.6,
2350
+ "output_price_per_1m": 3.6,
2351
+ "currency": "USD",
2352
+ "capabilities": [
2353
+ "vision",
2354
+ "reasoning"
2355
+ ],
2356
+ "context_window": 256000,
2357
+ "size_b": 9
2358
+ },
2359
+ {
2360
+ "name": "minimaxi/MiniMax-M2.7-highspeed",
2361
+ "type": "vision",
2362
+ "input_price_per_1m": 0.6,
2363
+ "output_price_per_1m": 2.4,
2364
+ "currency": "USD",
2365
+ "capabilities": [
2366
+ "vision",
2367
+ "reasoning"
2368
+ ],
2369
+ "context_window": 200000
2370
+ },
2371
+ {
2372
+ "name": "minimaxi/MiniMax-M2.5-highspeed",
2373
+ "type": "vision",
2374
+ "input_price_per_1m": 0.6,
2375
+ "output_price_per_1m": 2.4,
2376
+ "currency": "USD",
2377
+ "capabilities": [
2378
+ "vision",
2379
+ "reasoning"
2380
+ ],
2381
+ "context_window": 200000
2382
+ },
2383
+ {
2384
+ "name": "novita/microsoft/wizardlm-2-8x22b",
2385
+ "type": "chat",
2386
+ "input_price_per_1m": 0.62,
2387
+ "output_price_per_1m": 0.62,
2388
+ "currency": "USD",
2389
+ "context_window": 65535,
2390
+ "size_b": 22
2391
+ },
2392
+ {
2393
+ "name": "openai/gpt-5",
2394
+ "type": "vision",
2395
+ "input_price_per_1m": 0.625,
2396
+ "output_price_per_1m": 5,
2397
+ "currency": "USD",
2398
+ "capabilities": [
2399
+ "vision",
2400
+ "reasoning"
2401
+ ],
2402
+ "context_window": 400000
2403
+ },
2404
+ {
2405
+ "name": "novita/deepseek/deepseek-r1-turbo",
2406
+ "type": "chat",
2407
+ "input_price_per_1m": 0.7,
2408
+ "output_price_per_1m": 2.5,
2409
+ "currency": "USD",
2410
+ "context_window": 64000,
2411
+ "capabilities": [
2412
+ "tools",
2413
+ "reasoning"
2414
+ ]
2415
+ },
2416
+ {
2417
+ "name": "novita/deepseek/deepseek-prover-v2-671b",
2418
+ "type": "chat",
2419
+ "input_price_per_1m": 0.7,
2420
+ "output_price_per_1m": 2.5,
2421
+ "currency": "USD",
2422
+ "context_window": 160000,
2423
+ "size_b": 671
2424
+ },
2425
+ {
2426
+ "name": "parasail/parasail-qwen25-vl-72b-instruct",
2427
+ "type": "vision",
2428
+ "input_price_per_1m": 0.7,
2429
+ "output_price_per_1m": 0.7,
2430
+ "currency": "USD",
2431
+ "capabilities": [
2432
+ "vision"
2433
+ ],
2434
+ "context_window": 32768,
2435
+ "size_b": 72
2436
+ },
2437
+ {
2438
+ "name": "openai/gpt-5.4-mini",
2439
+ "type": "vision",
2440
+ "input_price_per_1m": 0.75,
2441
+ "output_price_per_1m": 4.5,
2442
+ "currency": "USD",
2443
+ "capabilities": [
2444
+ "vision",
2445
+ "reasoning"
2446
+ ],
2447
+ "context_window": 400000
2448
+ },
2449
+ {
2450
+ "name": "openai-responses/gpt-5.4-mini",
2451
+ "type": "vision",
2452
+ "input_price_per_1m": 0.75,
2453
+ "output_price_per_1m": 4.5,
2454
+ "currency": "USD",
2455
+ "capabilities": [
2456
+ "vision",
2457
+ "reasoning"
2458
+ ],
2459
+ "context_window": 400000
2460
+ },
2461
+ {
2462
+ "name": "nebius/deepseek-ai/DeepSeek-R1-0528",
2463
+ "type": "chat",
2464
+ "input_price_per_1m": 0.8,
2465
+ "output_price_per_1m": 2.4,
2466
+ "currency": "USD",
2467
+ "context_window": 164000,
2468
+ "capabilities": [
2469
+ "tools",
2470
+ "reasoning"
2471
+ ]
2472
+ },
2473
+ {
2474
+ "name": "novita/qwen/qwen2.5-vl-72b-instruct",
2475
+ "type": "vision",
2476
+ "input_price_per_1m": 0.8,
2477
+ "output_price_per_1m": 0.8,
2478
+ "currency": "USD",
2479
+ "context_window": 96000,
2480
+ "size_b": 72,
2481
+ "capabilities": [
2482
+ "vision"
2483
+ ]
2484
+ },
2485
+ {
2486
+ "name": "novita/deepseek/deepseek-r1-distill-llama-70b",
2487
+ "type": "chat",
2488
+ "input_price_per_1m": 0.8,
2489
+ "output_price_per_1m": 0.8,
2490
+ "currency": "USD",
2491
+ "context_window": 32000,
2492
+ "size_b": 70,
2493
+ "capabilities": [
2494
+ "reasoning"
2495
+ ]
2496
+ },
2497
+ {
2498
+ "name": "deepinfra/meta-llama/Meta-Llama-3.1-405B-Instruct",
2499
+ "type": "chat",
2500
+ "input_price_per_1m": 0.8,
2501
+ "output_price_per_1m": 0.8,
2502
+ "currency": "USD",
2503
+ "context_window": 130815,
2504
+ "size_b": 405
2505
+ },
2506
+ {
2507
+ "name": "deepinfra/deepseek-ai/DeepSeek-V3",
2508
+ "type": "chat",
2509
+ "input_price_per_1m": 0.85,
2510
+ "output_price_per_1m": 0.9,
2511
+ "currency": "USD",
2512
+ "context_window": 128000,
2513
+ "capabilities": [
2514
+ "tools",
2515
+ "reasoning"
2516
+ ]
2517
+ },
2518
+ {
2519
+ "name": "deepinfra/deepseek-ai/DeepSeek-R1",
2520
+ "type": "chat",
2521
+ "input_price_per_1m": 0.85,
2522
+ "output_price_per_1m": 2.5,
2523
+ "currency": "USD",
2524
+ "context_window": 64000,
2525
+ "capabilities": [
2526
+ "tools",
2527
+ "reasoning"
2528
+ ]
2529
+ },
2530
+ {
2531
+ "name": "alibaba/qwen3-max",
2532
+ "type": "vision",
2533
+ "input_price_per_1m": 0.861,
2534
+ "output_price_per_1m": 3.441,
2535
+ "currency": "USD",
2536
+ "capabilities": [
2537
+ "vision"
2538
+ ],
2539
+ "context_window": 262144
2540
+ },
2541
+ {
2542
+ "name": "together/meta-llama/Llama-3.3-70B-Instruct-Turbo",
2543
+ "type": "chat",
2544
+ "input_price_per_1m": 0.88,
2545
+ "output_price_per_1m": 0.88,
2546
+ "currency": "USD",
2547
+ "context_window": 131072,
2548
+ "size_b": 70,
2549
+ "capabilities": [
2550
+ "tools"
2551
+ ]
2552
+ },
2553
+ {
2554
+ "name": "together/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",
2555
+ "type": "chat",
2556
+ "input_price_per_1m": 0.88,
2557
+ "output_price_per_1m": 0.88,
2558
+ "currency": "USD",
2559
+ "context_window": 131072,
2560
+ "size_b": 70
2561
+ },
2562
+ {
2563
+ "name": "novita/deepseek/deepseek_v3",
2564
+ "type": "chat",
2565
+ "input_price_per_1m": 0.89,
2566
+ "output_price_per_1m": 0.89,
2567
+ "currency": "USD",
2568
+ "context_window": 64000,
2569
+ "capabilities": [
2570
+ "tools",
2571
+ "reasoning"
2572
+ ]
2573
+ },
2574
+ {
2575
+ "name": "parasail/parasail-kimi-k2-instruct",
2576
+ "type": "chat",
2577
+ "input_price_per_1m": 0.99,
2578
+ "output_price_per_1m": 2.99,
2579
+ "currency": "USD",
2580
+ "context_window": 131072
2581
+ },
2582
+ {
2583
+ "name": "vertex/claude-haiku-4-5",
2584
+ "type": "vision",
2585
+ "input_price_per_1m": 1,
2586
+ "output_price_per_1m": 5,
2587
+ "currency": "USD",
2588
+ "capabilities": [
2589
+ "vision"
2590
+ ],
2591
+ "context_window": 200000
2592
+ },
2593
+ {
2594
+ "name": "openai/o3",
2595
+ "type": "vision",
2596
+ "input_price_per_1m": 1,
2597
+ "output_price_per_1m": 4,
2598
+ "currency": "USD",
2599
+ "capabilities": [
2600
+ "vision",
2601
+ "reasoning"
2602
+ ],
2603
+ "context_window": 200000
2604
+ },
2605
+ {
2606
+ "name": "novita/GLM-5",
2607
+ "type": "chat",
2608
+ "input_price_per_1m": 1,
2609
+ "output_price_per_1m": 3.2,
2610
+ "currency": "USD",
2611
+ "capabilities": [
2612
+ "reasoning"
2613
+ ],
2614
+ "context_window": 202800
2615
+ },
2616
+ {
2617
+ "name": "zai/GLM-5",
2618
+ "type": "vision",
2619
+ "input_price_per_1m": 1,
2620
+ "output_price_per_1m": 3.2,
2621
+ "currency": "USD",
2622
+ "capabilities": [
2623
+ "vision",
2624
+ "reasoning"
2625
+ ],
2626
+ "context_window": 200000
2627
+ },
2628
+ {
2629
+ "name": "alibaba/qwen3-coder-plus",
2630
+ "type": "vision",
2631
+ "input_price_per_1m": 1,
2632
+ "output_price_per_1m": 5,
2633
+ "currency": "USD",
2634
+ "capabilities": [
2635
+ "vision"
2636
+ ],
2637
+ "context_window": 1048576
2638
+ },
2639
+ {
2640
+ "name": "bedrock/claude-haiku-4-5",
2641
+ "type": "vision",
2642
+ "input_price_per_1m": 1,
2643
+ "output_price_per_1m": 5,
2644
+ "currency": "USD",
2645
+ "capabilities": [
2646
+ "vision"
2647
+ ],
2648
+ "context_window": 200000
2649
+ },
2650
+ {
2651
+ "name": "anthropic/claude-haiku-4-5",
2652
+ "type": "vision",
2653
+ "input_price_per_1m": 1,
2654
+ "output_price_per_1m": 5,
2655
+ "currency": "USD",
2656
+ "capabilities": [
2657
+ "vision"
2658
+ ],
2659
+ "context_window": 200000
2660
+ },
2661
+ {
2662
+ "name": "perplexity/sonar",
2663
+ "type": "vision",
2664
+ "input_price_per_1m": 1,
2665
+ "output_price_per_1m": 1,
2666
+ "currency": "USD",
2667
+ "context_window": 131072,
2668
+ "capabilities": [
2669
+ "vision"
2670
+ ]
2671
+ },
2672
+ {
2673
+ "name": "groq/moonshotai/kimi-k2-instruct",
2674
+ "type": "chat",
2675
+ "input_price_per_1m": 1,
2676
+ "output_price_per_1m": 3,
2677
+ "currency": "USD",
2678
+ "context_window": 131072,
2679
+ "capabilities": [
2680
+ "tools"
2681
+ ]
2682
+ },
2683
+ {
2684
+ "name": "groq/moonshotai/Kimi-K2-Instruct-0905",
2685
+ "type": "chat",
2686
+ "input_price_per_1m": 1,
2687
+ "output_price_per_1m": 3,
2688
+ "currency": "USD",
2689
+ "context_window": 256000,
2690
+ "capabilities": [
2691
+ "tools"
2692
+ ]
2693
+ },
2694
+ {
2695
+ "name": "openai/o3-mini",
2696
+ "type": "chat",
2697
+ "input_price_per_1m": 1.1,
2698
+ "output_price_per_1m": 4.4,
2699
+ "currency": "USD",
2700
+ "capabilities": [
2701
+ "reasoning"
2702
+ ],
2703
+ "context_window": 200000
2704
+ },
2705
+ {
2706
+ "name": "azure/o4-mini",
2707
+ "type": "vision",
2708
+ "input_price_per_1m": 1.1,
2709
+ "output_price_per_1m": 4.4,
2710
+ "currency": "USD",
2711
+ "capabilities": [
2712
+ "reasoning"
2713
+ ],
2714
+ "context_window": 200000
2715
+ },
2716
+ {
2717
+ "name": "openai-responses/o4-mini",
2718
+ "type": "vision",
2719
+ "input_price_per_1m": 1.1,
2720
+ "output_price_per_1m": 4.4,
2721
+ "currency": "USD",
2722
+ "capabilities": [
2723
+ "reasoning"
2724
+ ],
2725
+ "context_window": 200000
2726
+ },
2727
+ {
2728
+ "name": "openai-responses/o3-mini",
2729
+ "type": "chat",
2730
+ "input_price_per_1m": 1.1,
2731
+ "output_price_per_1m": 4.4,
2732
+ "currency": "USD",
2733
+ "capabilities": [
2734
+ "reasoning"
2735
+ ],
2736
+ "context_window": 200000
2737
+ },
2738
+ {
2739
+ "name": "moonshot/kimi-k2-turbo-preview",
2740
+ "type": "chat",
2741
+ "input_price_per_1m": 1.2,
2742
+ "output_price_per_1m": 5,
2743
+ "currency": "USD",
2744
+ "context_window": 131072,
2745
+ "capabilities": [
2746
+ "tools"
2747
+ ]
2748
+ },
2749
+ {
2750
+ "name": "together/Qwen/Qwen2.5-72B-Instruct-Turbo",
2751
+ "type": "chat",
2752
+ "input_price_per_1m": 1.2,
2753
+ "output_price_per_1m": 1.2,
2754
+ "currency": "USD",
2755
+ "context_window": 32768,
2756
+ "size_b": 72
2757
+ },
2758
+ {
2759
+ "name": "google/gemini-2.5-pro",
2760
+ "type": "vision",
2761
+ "input_price_per_1m": 1.25,
2762
+ "output_price_per_1m": 10,
2763
+ "currency": "USD",
2764
+ "capabilities": [
2765
+ "vision",
2766
+ "reasoning"
2767
+ ],
2768
+ "context_window": 1048576
2769
+ },
2770
+ {
2771
+ "name": "vertex/gemini-2.5-pro",
2772
+ "type": "vision",
2773
+ "input_price_per_1m": 1.25,
2774
+ "output_price_per_1m": 10,
2775
+ "currency": "USD",
2776
+ "capabilities": [
2777
+ "vision",
2778
+ "reasoning"
2779
+ ],
2780
+ "context_window": 1048576
2781
+ },
2782
+ {
2783
+ "name": "openai/gpt-5.1-chat",
2784
+ "type": "vision",
2785
+ "input_price_per_1m": 1.25,
2786
+ "output_price_per_1m": 10,
2787
+ "currency": "USD",
2788
+ "capabilities": [
2789
+ "vision",
2790
+ "reasoning"
2791
+ ],
2792
+ "context_window": 128000
2793
+ },
2794
+ {
2795
+ "name": "openai/gpt-5-chat",
2796
+ "type": "vision",
2797
+ "input_price_per_1m": 1.25,
2798
+ "output_price_per_1m": 10,
2799
+ "currency": "USD",
2800
+ "capabilities": [
2801
+ "vision",
2802
+ "reasoning"
2803
+ ],
2804
+ "context_window": 128000
2805
+ },
2806
+ {
2807
+ "name": "openai/gpt-5.1",
2808
+ "type": "vision",
2809
+ "input_price_per_1m": 1.25,
2810
+ "output_price_per_1m": 10,
2811
+ "currency": "USD",
2812
+ "capabilities": [
2813
+ "vision",
2814
+ "reasoning"
2815
+ ],
2816
+ "context_window": 400000
2817
+ },
2818
+ {
2819
+ "name": "together/deepseek-ai/DeepSeek-V3",
2820
+ "type": "chat",
2821
+ "input_price_per_1m": 1.25,
2822
+ "output_price_per_1m": 1.25,
2823
+ "currency": "USD",
2824
+ "context_window": 131072,
2825
+ "capabilities": [
2826
+ "tools",
2827
+ "reasoning"
2828
+ ]
2829
+ },
2830
+ {
2831
+ "name": "coding/gemini-2.5-pro",
2832
+ "type": "vision",
2833
+ "input_price_per_1m": 1.25,
2834
+ "output_price_per_1m": 10,
2835
+ "currency": "USD",
2836
+ "capabilities": [
2837
+ "vision",
2838
+ "reasoning"
2839
+ ],
2840
+ "context_window": 1048576
2841
+ },
2842
+ {
2843
+ "name": "azure/gpt-5.1",
2844
+ "type": "vision",
2845
+ "input_price_per_1m": 1.25,
2846
+ "output_price_per_1m": 10,
2847
+ "currency": "USD",
2848
+ "capabilities": [
2849
+ "reasoning"
2850
+ ],
2851
+ "context_window": 200000
2852
+ },
2853
+ {
2854
+ "name": "azure/gpt-5",
2855
+ "type": "vision",
2856
+ "input_price_per_1m": 1.25,
2857
+ "output_price_per_1m": 10,
2858
+ "currency": "USD",
2859
+ "capabilities": [
2860
+ "reasoning"
2861
+ ],
2862
+ "context_window": 200000
2863
+ },
2864
+ {
2865
+ "name": "openai-responses/gpt-5.1",
2866
+ "type": "vision",
2867
+ "input_price_per_1m": 1.25,
2868
+ "output_price_per_1m": 10,
2869
+ "currency": "USD",
2870
+ "capabilities": [
2871
+ "vision",
2872
+ "reasoning"
2873
+ ],
2874
+ "context_window": 400000
2875
+ },
2876
+ {
2877
+ "name": "openai-responses/gpt-5.1-codex",
2878
+ "type": "vision",
2879
+ "input_price_per_1m": 1.25,
2880
+ "output_price_per_1m": 10,
2881
+ "currency": "USD",
2882
+ "capabilities": [
2883
+ "vision",
2884
+ "reasoning"
2885
+ ],
2886
+ "context_window": 400000
2887
+ },
2888
+ {
2889
+ "name": "openai-responses/gpt-5-codex",
2890
+ "type": "vision",
2891
+ "input_price_per_1m": 1.25,
2892
+ "output_price_per_1m": 10,
2893
+ "currency": "USD",
2894
+ "capabilities": [
2895
+ "vision",
2896
+ "reasoning"
2897
+ ],
2898
+ "context_window": 400000
2899
+ },
2900
+ {
2901
+ "name": "openai-responses/gpt-5",
2902
+ "type": "vision",
2903
+ "input_price_per_1m": 1.25,
2904
+ "output_price_per_1m": 10,
2905
+ "currency": "USD",
2906
+ "capabilities": [
2907
+ "vision",
2908
+ "reasoning"
2909
+ ],
2910
+ "context_window": 400000
2911
+ },
2912
+ {
2913
+ "name": "novita/sao10k/l3-70b-euryale-v2.1",
2914
+ "type": "chat",
2915
+ "input_price_per_1m": 1.48,
2916
+ "output_price_per_1m": 1.48,
2917
+ "currency": "USD",
2918
+ "context_window": 16000,
2919
+ "size_b": 70
2920
+ },
2921
+ {
2922
+ "name": "novita/sao10k/l31-70b-euryale-v2.2",
2923
+ "type": "chat",
2924
+ "input_price_per_1m": 1.48,
2925
+ "output_price_per_1m": 1.48,
2926
+ "currency": "USD",
2927
+ "context_window": 16000,
2928
+ "size_b": 70
2929
+ },
2930
+ {
2931
+ "name": "alibaba/qwen-max",
2932
+ "type": "chat",
2933
+ "input_price_per_1m": 1.6,
2934
+ "output_price_per_1m": 6.4,
2935
+ "currency": "USD",
2936
+ "context_window": 32768,
2937
+ "capabilities": [
2938
+ "tools"
2939
+ ]
2940
+ },
2941
+ {
2942
+ "name": "openai/gpt-5.2",
2943
+ "type": "vision",
2944
+ "input_price_per_1m": 1.75,
2945
+ "output_price_per_1m": 14,
2946
+ "currency": "USD",
2947
+ "capabilities": [
2948
+ "vision",
2949
+ "reasoning"
2950
+ ],
2951
+ "context_window": 400000
2952
+ },
2953
+ {
2954
+ "name": "openai/gpt-5.2-chat",
2955
+ "type": "vision",
2956
+ "input_price_per_1m": 1.75,
2957
+ "output_price_per_1m": 14,
2958
+ "currency": "USD",
2959
+ "capabilities": [
2960
+ "vision",
2961
+ "reasoning"
2962
+ ],
2963
+ "context_window": 128000
2964
+ },
2965
+ {
2966
+ "name": "openai/gpt-5.3-chat",
2967
+ "type": "vision",
2968
+ "input_price_per_1m": 1.75,
2969
+ "output_price_per_1m": 14,
2970
+ "currency": "USD",
2971
+ "capabilities": [
2972
+ "vision",
2973
+ "reasoning"
2974
+ ],
2975
+ "context_window": 128000
2976
+ },
2977
+ {
2978
+ "name": "azure/gpt-5.3-codex",
2979
+ "type": "vision",
2980
+ "input_price_per_1m": 1.75,
2981
+ "output_price_per_1m": 14,
2982
+ "currency": "USD",
2983
+ "capabilities": [
2984
+ "vision",
2985
+ "reasoning"
2986
+ ],
2987
+ "context_window": 400000
2988
+ },
2989
+ {
2990
+ "name": "azure/openai-responses/gpt-5.2-codex",
2991
+ "type": "vision",
2992
+ "input_price_per_1m": 1.75,
2993
+ "output_price_per_1m": 14,
2994
+ "currency": "USD",
2995
+ "capabilities": [
2996
+ "vision",
2997
+ "reasoning"
2998
+ ],
2999
+ "context_window": 400000
3000
+ },
3001
+ {
3002
+ "name": "azure/gpt-5.2",
3003
+ "type": "vision",
3004
+ "input_price_per_1m": 1.75,
3005
+ "output_price_per_1m": 14,
3006
+ "currency": "USD",
3007
+ "capabilities": [
3008
+ "reasoning"
3009
+ ],
3010
+ "context_window": 200000
3011
+ },
3012
+ {
3013
+ "name": "openai-responses/gpt-5.2-codex",
3014
+ "type": "vision",
3015
+ "input_price_per_1m": 1.75,
3016
+ "output_price_per_1m": 14,
3017
+ "currency": "USD",
3018
+ "capabilities": [
3019
+ "vision",
3020
+ "reasoning"
3021
+ ],
3022
+ "context_window": 400000
3023
+ },
3024
+ {
3025
+ "name": "openai-responses/gpt-5.2",
3026
+ "type": "vision",
3027
+ "input_price_per_1m": 1.75,
3028
+ "output_price_per_1m": 14,
3029
+ "currency": "USD",
3030
+ "capabilities": [
3031
+ "vision",
3032
+ "reasoning"
3033
+ ],
3034
+ "context_window": 400000
3035
+ },
3036
+ {
3037
+ "name": "openai-responses/gpt-5.3-codex",
3038
+ "type": "vision",
3039
+ "input_price_per_1m": 1.75,
3040
+ "output_price_per_1m": 14,
3041
+ "currency": "USD",
3042
+ "capabilities": [
3043
+ "vision",
3044
+ "reasoning"
3045
+ ],
3046
+ "context_window": 400000
3047
+ },
3048
+ {
3049
+ "name": "openai-responses/gpt-5.3-chat",
3050
+ "type": "vision",
3051
+ "input_price_per_1m": 1.75,
3052
+ "output_price_per_1m": 14,
3053
+ "currency": "USD",
3054
+ "capabilities": [
3055
+ "vision",
3056
+ "reasoning"
3057
+ ],
3058
+ "context_window": 128000
3059
+ },
3060
+ {
3061
+ "name": "google/gemini-3.1-pro-preview",
3062
+ "type": "vision",
3063
+ "input_price_per_1m": 2,
3064
+ "output_price_per_1m": 12,
3065
+ "currency": "USD",
3066
+ "capabilities": [
3067
+ "vision",
3068
+ "reasoning"
3069
+ ],
3070
+ "context_window": 1048576
3071
+ },
3072
+ {
3073
+ "name": "google/gemini-3-pro-preview",
3074
+ "type": "vision",
3075
+ "input_price_per_1m": 2,
3076
+ "output_price_per_1m": 12,
3077
+ "currency": "USD",
3078
+ "capabilities": [
3079
+ "vision",
3080
+ "reasoning"
3081
+ ],
3082
+ "context_window": 1048576
3083
+ },
3084
+ {
3085
+ "name": "vertex/gemini-3-pro-image-preview",
3086
+ "type": "vision",
3087
+ "input_price_per_1m": 2,
3088
+ "output_price_per_1m": 12,
3089
+ "currency": "USD",
3090
+ "capabilities": [
3091
+ "vision",
3092
+ "reasoning"
3093
+ ],
3094
+ "context_window": 1048576
3095
+ },
3096
+ {
3097
+ "name": "vertex/gemini-3-pro-preview",
3098
+ "type": "vision",
3099
+ "input_price_per_1m": 2,
3100
+ "output_price_per_1m": 12,
3101
+ "currency": "USD",
3102
+ "capabilities": [
3103
+ "vision",
3104
+ "reasoning"
3105
+ ],
3106
+ "context_window": 1048576
3107
+ },
3108
+ {
3109
+ "name": "vertex/gemini-3.1-pro-preview",
3110
+ "type": "vision",
3111
+ "input_price_per_1m": 2,
3112
+ "output_price_per_1m": 12,
3113
+ "currency": "USD",
3114
+ "capabilities": [
3115
+ "vision",
3116
+ "reasoning"
3117
+ ],
3118
+ "context_window": 1048576
3119
+ },
3120
+ {
3121
+ "name": "openai/o4-mini-deep-research",
3122
+ "type": "vision",
3123
+ "input_price_per_1m": 2,
3124
+ "output_price_per_1m": 8,
3125
+ "currency": "USD",
3126
+ "capabilities": [
3127
+ "vision",
3128
+ "reasoning"
3129
+ ],
3130
+ "context_window": 100000
3131
+ },
3132
+ {
3133
+ "name": "openai/gpt-4.1",
3134
+ "type": "vision",
3135
+ "input_price_per_1m": 2,
3136
+ "output_price_per_1m": 8,
3137
+ "currency": "USD",
3138
+ "capabilities": [
3139
+ "vision"
3140
+ ],
3141
+ "context_window": 1047576
3142
+ },
3143
+ {
3144
+ "name": "nebius/deepseek-ai/DeepSeek-V3-0324-fast",
3145
+ "type": "chat",
3146
+ "input_price_per_1m": 2,
3147
+ "output_price_per_1m": 6,
3148
+ "currency": "USD",
3149
+ "context_window": 128000
3150
+ },
3151
+ {
3152
+ "name": "azure/openai-responses/gpt-4.1",
3153
+ "type": "vision",
3154
+ "input_price_per_1m": 2,
3155
+ "output_price_per_1m": 8,
3156
+ "currency": "USD",
3157
+ "capabilities": [
3158
+ "vision"
3159
+ ],
3160
+ "context_window": 1047576
3161
+ },
3162
+ {
3163
+ "name": "azure/gpt-4.1",
3164
+ "type": "vision",
3165
+ "input_price_per_1m": 2,
3166
+ "output_price_per_1m": 8,
3167
+ "currency": "USD",
3168
+ "capabilities": [
3169
+ "vision"
3170
+ ],
3171
+ "context_window": 1047576
3172
+ },
3173
+ {
3174
+ "name": "perplexity/sonar-reasoning-pro",
3175
+ "type": "vision",
3176
+ "input_price_per_1m": 2,
3177
+ "output_price_per_1m": 8,
3178
+ "currency": "USD",
3179
+ "context_window": 131072,
3180
+ "capabilities": [
3181
+ "vision",
3182
+ "reasoning"
3183
+ ]
3184
+ },
3185
+ {
3186
+ "name": "mistral/pixtral-large-latest",
3187
+ "type": "chat",
3188
+ "input_price_per_1m": 2,
3189
+ "output_price_per_1m": 5,
3190
+ "currency": "USD",
3191
+ "context_window": 131072
3192
+ },
3193
+ {
3194
+ "name": "openai-responses/gpt-4.1",
3195
+ "type": "vision",
3196
+ "input_price_per_1m": 2,
3197
+ "output_price_per_1m": 8,
3198
+ "currency": "USD",
3199
+ "capabilities": [
3200
+ "vision"
3201
+ ],
3202
+ "context_window": 1047576
3203
+ },
3204
+ {
3205
+ "name": "xai/grok-4.2-beta",
3206
+ "type": "vision",
3207
+ "input_price_per_1m": 2,
3208
+ "output_price_per_1m": 6,
3209
+ "currency": "USD",
3210
+ "capabilities": [
3211
+ "vision",
3212
+ "reasoning"
3213
+ ],
3214
+ "context_window": 2000000
3215
+ },
3216
+ {
3217
+ "name": "xai/grok-2-1212",
3218
+ "type": "chat",
3219
+ "input_price_per_1m": 2,
3220
+ "output_price_per_1m": 10,
3221
+ "currency": "USD",
3222
+ "context_window": 131072
3223
+ },
3224
+ {
3225
+ "name": "openai/gpt-4o",
3226
+ "type": "vision",
3227
+ "input_price_per_1m": 2.5,
3228
+ "output_price_per_1m": 10,
3229
+ "currency": "USD",
3230
+ "capabilities": [
3231
+ "vision"
3232
+ ],
3233
+ "context_window": 128000
3234
+ },
3235
+ {
3236
+ "name": "openai/gpt-4o-2024-11-20",
3237
+ "type": "vision",
3238
+ "input_price_per_1m": 2.5,
3239
+ "output_price_per_1m": 10,
3240
+ "currency": "USD",
3241
+ "capabilities": [
3242
+ "vision"
3243
+ ],
3244
+ "context_window": 128000
3245
+ },
3246
+ {
3247
+ "name": "openai/gpt-4o-2024-08-06",
3248
+ "type": "vision",
3249
+ "input_price_per_1m": 2.5,
3250
+ "output_price_per_1m": 10,
3251
+ "currency": "USD",
3252
+ "capabilities": [
3253
+ "vision"
3254
+ ],
3255
+ "context_window": 128000
3256
+ },
3257
+ {
3258
+ "name": "openai/gpt-5.4",
3259
+ "type": "vision",
3260
+ "input_price_per_1m": 2.5,
3261
+ "output_price_per_1m": 15,
3262
+ "currency": "USD",
3263
+ "capabilities": [
3264
+ "vision",
3265
+ "reasoning"
3266
+ ],
3267
+ "context_window": 1050000
3268
+ },
3269
+ {
3270
+ "name": "openai/gpt-4o-2024-05-13",
3271
+ "type": "vision",
3272
+ "input_price_per_1m": 2.5,
3273
+ "output_price_per_1m": 10,
3274
+ "currency": "USD",
3275
+ "capabilities": [
3276
+ "vision"
3277
+ ],
3278
+ "context_window": 128000
3279
+ },
3280
+ {
3281
+ "name": "azure/openai-responses/gpt-5.4",
3282
+ "type": "vision",
3283
+ "input_price_per_1m": 2.5,
3284
+ "output_price_per_1m": 15,
3285
+ "currency": "USD",
3286
+ "capabilities": [
3287
+ "vision",
3288
+ "reasoning"
3289
+ ],
3290
+ "context_window": 1050000
3291
+ },
3292
+ {
3293
+ "name": "openai-responses/gpt-5.4",
3294
+ "type": "vision",
3295
+ "input_price_per_1m": 2.5,
3296
+ "output_price_per_1m": 15,
3297
+ "currency": "USD",
3298
+ "capabilities": [
3299
+ "vision",
3300
+ "reasoning"
3301
+ ],
3302
+ "context_window": 1050000
3303
+ },
3304
+ {
3305
+ "name": "vertex/claude-sonnet-4-5",
3306
+ "type": "vision",
3307
+ "input_price_per_1m": 3,
3308
+ "output_price_per_1m": 15,
3309
+ "currency": "USD",
3310
+ "capabilities": [
3311
+ "vision",
3312
+ "reasoning"
3313
+ ],
3314
+ "context_window": 200000
3315
+ },
3316
+ {
3317
+ "name": "vertex/claude-3-7-sonnet",
3318
+ "type": "vision",
3319
+ "input_price_per_1m": 3,
3320
+ "output_price_per_1m": 15,
3321
+ "currency": "USD",
3322
+ "capabilities": [
3323
+ "vision",
3324
+ "reasoning"
3325
+ ],
3326
+ "context_window": 200000
3327
+ },
3328
+ {
3329
+ "name": "vertex/claude-3-5-sonnet",
3330
+ "type": "vision",
3331
+ "input_price_per_1m": 3,
3332
+ "output_price_per_1m": 15,
3333
+ "currency": "USD",
3334
+ "capabilities": [
3335
+ "vision"
3336
+ ],
3337
+ "context_window": 200000
3338
+ },
3339
+ {
3340
+ "name": "vertex/claude-sonnet-4",
3341
+ "type": "vision",
3342
+ "input_price_per_1m": 3,
3343
+ "output_price_per_1m": 15,
3344
+ "currency": "USD",
3345
+ "capabilities": [
3346
+ "vision",
3347
+ "reasoning"
3348
+ ],
3349
+ "context_window": 200000
3350
+ },
3351
+ {
3352
+ "name": "together/deepseek-ai/DeepSeek-R1",
3353
+ "type": "chat",
3354
+ "input_price_per_1m": 3,
3355
+ "output_price_per_1m": 7,
3356
+ "currency": "USD",
3357
+ "context_window": 64000,
3358
+ "capabilities": [
3359
+ "tools",
3360
+ "reasoning"
3361
+ ]
3362
+ },
3363
+ {
3364
+ "name": "coding/claude-sonnet-4-20250514",
3365
+ "type": "vision",
3366
+ "input_price_per_1m": 3,
3367
+ "output_price_per_1m": 15,
3368
+ "currency": "USD",
3369
+ "capabilities": [
3370
+ "vision",
3371
+ "reasoning"
3372
+ ],
3373
+ "context_window": 200000
3374
+ },
3375
+ {
3376
+ "name": "bedrock/claude-sonnet-4",
3377
+ "type": "vision",
3378
+ "input_price_per_1m": 3,
3379
+ "output_price_per_1m": 15,
3380
+ "currency": "USD",
3381
+ "capabilities": [
3382
+ "vision",
3383
+ "reasoning"
3384
+ ],
3385
+ "context_window": 200000
3386
+ },
3387
+ {
3388
+ "name": "bedrock/claude-sonnet-4-6",
3389
+ "type": "vision",
3390
+ "input_price_per_1m": 3,
3391
+ "output_price_per_1m": 15,
3392
+ "currency": "USD",
3393
+ "capabilities": [
3394
+ "vision",
3395
+ "reasoning"
3396
+ ],
3397
+ "context_window": 1000000
3398
+ },
3399
+ {
3400
+ "name": "bedrock/claude-3-7-sonnet",
3401
+ "type": "vision",
3402
+ "input_price_per_1m": 3,
3403
+ "output_price_per_1m": 15,
3404
+ "currency": "USD",
3405
+ "capabilities": [
3406
+ "vision",
3407
+ "reasoning"
3408
+ ],
3409
+ "context_window": 200000
3410
+ },
3411
+ {
3412
+ "name": "bedrock/claude-sonnet-4-5",
3413
+ "type": "vision",
3414
+ "input_price_per_1m": 3,
3415
+ "output_price_per_1m": 15,
3416
+ "currency": "USD",
3417
+ "capabilities": [
3418
+ "vision",
3419
+ "reasoning"
3420
+ ],
3421
+ "context_window": 200000
3422
+ },
3423
+ {
3424
+ "name": "anthropic/claude-sonnet-4",
3425
+ "type": "vision",
3426
+ "input_price_per_1m": 3,
3427
+ "output_price_per_1m": 15,
3428
+ "currency": "USD",
3429
+ "capabilities": [
3430
+ "vision",
3431
+ "reasoning"
3432
+ ],
3433
+ "context_window": 1000000
3434
+ },
3435
+ {
3436
+ "name": "anthropic/claude-sonnet-4-5",
3437
+ "type": "vision",
3438
+ "input_price_per_1m": 3,
3439
+ "output_price_per_1m": 15,
3440
+ "currency": "USD",
3441
+ "capabilities": [
3442
+ "vision",
3443
+ "reasoning"
3444
+ ],
3445
+ "context_window": 1000000
3446
+ },
3447
+ {
3448
+ "name": "anthropic/claude-sonnet-4-6",
3449
+ "type": "vision",
3450
+ "input_price_per_1m": 3,
3451
+ "output_price_per_1m": 15,
3452
+ "currency": "USD",
3453
+ "capabilities": [
3454
+ "vision",
3455
+ "reasoning"
3456
+ ],
3457
+ "context_window": 1000000
3458
+ },
3459
+ {
3460
+ "name": "perplexity/sonar-pro",
3461
+ "type": "vision",
3462
+ "input_price_per_1m": 3,
3463
+ "output_price_per_1m": 15,
3464
+ "currency": "USD",
3465
+ "context_window": 204800,
3466
+ "capabilities": [
3467
+ "vision"
3468
+ ]
3469
+ },
3470
+ {
3471
+ "name": "xai/grok-4",
3472
+ "type": "vision",
3473
+ "input_price_per_1m": 3,
3474
+ "output_price_per_1m": 15,
3475
+ "currency": "USD",
3476
+ "capabilities": [
3477
+ "vision"
3478
+ ],
3479
+ "context_window": 256000
3480
+ },
3481
+ {
3482
+ "name": "novita/deepseek/deepseek-r1",
3483
+ "type": "chat",
3484
+ "input_price_per_1m": 4,
3485
+ "output_price_per_1m": 4,
3486
+ "currency": "USD",
3487
+ "context_window": 64000,
3488
+ "capabilities": [
3489
+ "tools",
3490
+ "reasoning"
3491
+ ]
3492
+ },
3493
+ {
3494
+ "name": "vertex/claude-opus-4-5",
3495
+ "type": "vision",
3496
+ "input_price_per_1m": 5,
3497
+ "output_price_per_1m": 25,
3498
+ "currency": "USD",
3499
+ "capabilities": [
3500
+ "vision",
3501
+ "reasoning"
3502
+ ],
3503
+ "context_window": 200000
3504
+ },
3505
+ {
3506
+ "name": "vertex/claude-opus-4-6",
3507
+ "type": "vision",
3508
+ "input_price_per_1m": 5,
3509
+ "output_price_per_1m": 25,
3510
+ "currency": "USD",
3511
+ "capabilities": [
3512
+ "vision",
3513
+ "reasoning"
3514
+ ],
3515
+ "context_window": 1000000
3516
+ },
3517
+ {
3518
+ "name": "openai/chatgpt-4o",
3519
+ "type": "vision",
3520
+ "input_price_per_1m": 5,
3521
+ "output_price_per_1m": 15,
3522
+ "currency": "USD",
3523
+ "capabilities": [
3524
+ "vision"
3525
+ ],
3526
+ "context_window": 128000
3527
+ },
3528
+ {
3529
+ "name": "bedrock/claude-opus-4-5",
3530
+ "type": "vision",
3531
+ "input_price_per_1m": 5,
3532
+ "output_price_per_1m": 25,
3533
+ "currency": "USD",
3534
+ "capabilities": [
3535
+ "vision",
3536
+ "reasoning"
3537
+ ],
3538
+ "context_window": 200000
3539
+ },
3540
+ {
3541
+ "name": "bedrock/claude-opus-4-6",
3542
+ "type": "vision",
3543
+ "input_price_per_1m": 5,
3544
+ "output_price_per_1m": 25,
3545
+ "currency": "USD",
3546
+ "capabilities": [
3547
+ "vision",
3548
+ "reasoning"
3549
+ ],
3550
+ "context_window": 1000000
3551
+ },
3552
+ {
3553
+ "name": "anthropic/claude-opus-4-5",
3554
+ "type": "vision",
3555
+ "input_price_per_1m": 5,
3556
+ "output_price_per_1m": 25,
3557
+ "currency": "USD",
3558
+ "capabilities": [
3559
+ "vision",
3560
+ "reasoning"
3561
+ ],
3562
+ "context_window": 200000
3563
+ },
3564
+ {
3565
+ "name": "anthropic/claude-opus-4-6",
3566
+ "type": "vision",
3567
+ "input_price_per_1m": 5,
3568
+ "output_price_per_1m": 25,
3569
+ "currency": "USD",
3570
+ "capabilities": [
3571
+ "vision",
3572
+ "reasoning"
3573
+ ],
3574
+ "context_window": 1000000
3575
+ },
3576
+ {
3577
+ "name": "xai/grok-3",
3578
+ "type": "chat",
3579
+ "input_price_per_1m": 5,
3580
+ "output_price_per_1m": 25,
3581
+ "currency": "USD",
3582
+ "context_window": 131072,
3583
+ "capabilities": [
3584
+ "tools"
3585
+ ]
3586
+ },
3587
+ {
3588
+ "name": "openai/o3-deep-research",
3589
+ "type": "vision",
3590
+ "input_price_per_1m": 10,
3591
+ "output_price_per_1m": 40,
3592
+ "currency": "USD",
3593
+ "capabilities": [
3594
+ "vision",
3595
+ "reasoning"
3596
+ ],
3597
+ "context_window": 100000
3598
+ },
3599
+ {
3600
+ "name": "vertex/claude-opus-4",
3601
+ "type": "vision",
3602
+ "input_price_per_1m": 15,
3603
+ "output_price_per_1m": 75,
3604
+ "currency": "USD",
3605
+ "capabilities": [
3606
+ "vision",
3607
+ "reasoning"
3608
+ ],
3609
+ "context_window": 200000
3610
+ },
3611
+ {
3612
+ "name": "vertex/claude-opus-4-1",
3613
+ "type": "vision",
3614
+ "input_price_per_1m": 15,
3615
+ "output_price_per_1m": 75,
3616
+ "currency": "USD",
3617
+ "capabilities": [
3618
+ "vision",
3619
  "reasoning"
3620
+ ],
3621
+ "context_window": 200000
3622
  },
3623
  {
3624
+ "name": "openai/o1",
3625
  "type": "vision",
3626
+ "input_price_per_1m": 15,
3627
+ "output_price_per_1m": 60,
3628
+ "currency": "USD",
 
3629
  "capabilities": [
3630
  "vision",
 
 
3631
  "reasoning"
3632
+ ],
3633
+ "context_window": 200000
3634
  },
3635
  {
3636
+ "name": "coding/claude-opus-4-20250514",
3637
  "type": "vision",
3638
+ "input_price_per_1m": 15,
3639
+ "output_price_per_1m": 75,
3640
+ "currency": "USD",
 
3641
  "capabilities": [
3642
  "vision",
3643
+ "reasoning"
3644
+ ],
3645
+ "context_window": 200000
3646
  },
3647
  {
3648
+ "name": "bedrock/claude-opus-4",
3649
  "type": "vision",
3650
+ "input_price_per_1m": 15,
3651
+ "output_price_per_1m": 75,
3652
+ "currency": "USD",
 
3653
  "capabilities": [
3654
  "vision",
3655
+ "reasoning"
3656
+ ],
3657
+ "context_window": 200000
3658
  },
3659
  {
3660
+ "name": "anthropic/claude-opus-4",
3661
  "type": "vision",
3662
+ "input_price_per_1m": 15,
3663
+ "output_price_per_1m": 75,
3664
+ "currency": "USD",
 
3665
  "capabilities": [
3666
  "vision",
3667
+ "reasoning"
3668
+ ],
3669
+ "context_window": 200000
3670
  },
3671
  {
3672
+ "name": "anthropic/claude-opus-4-1",
3673
  "type": "vision",
3674
+ "input_price_per_1m": 15,
3675
+ "output_price_per_1m": 75,
3676
+ "currency": "USD",
 
3677
  "capabilities": [
3678
  "vision",
3679
+ "reasoning"
3680
+ ],
3681
+ "context_window": 200000
3682
  },
3683
  {
3684
+ "name": "openai-responses/gpt-5-pro",
3685
  "type": "vision",
3686
+ "input_price_per_1m": 15,
3687
+ "output_price_per_1m": 120,
3688
+ "currency": "USD",
 
3689
  "capabilities": [
3690
  "vision",
3691
+ "reasoning"
3692
+ ],
3693
+ "context_window": 400000
3694
  },
3695
  {
3696
+ "name": "openai-responses/o3-pro",
3697
  "type": "vision",
3698
+ "input_price_per_1m": 20,
3699
+ "output_price_per_1m": 80,
3700
+ "currency": "USD",
 
3701
  "capabilities": [
3702
  "vision",
 
 
 
 
3703
  "reasoning"
3704
+ ],
3705
+ "context_window": 200000
3706
  },
3707
  {
3708
+ "name": "openai/gpt-5.4-pro",
3709
+ "type": "vision",
3710
+ "input_price_per_1m": 30,
3711
+ "output_price_per_1m": 180,
3712
+ "currency": "USD",
 
 
3713
  "capabilities": [
3714
+ "vision",
3715
  "reasoning"
3716
+ ],
3717
+ "context_window": 1050000
3718
  },
3719
  {
3720
+ "name": "azure/openai-responses/gpt-5.4-pro",
3721
  "type": "vision",
3722
+ "input_price_per_1m": 30,
3723
+ "output_price_per_1m": 180,
3724
+ "currency": "USD",
 
3725
  "capabilities": [
3726
  "vision",
 
 
 
 
3727
  "reasoning"
3728
+ ],
3729
+ "context_window": 1050000
3730
  },
3731
  {
3732
+ "name": "openai-responses/gpt-5.4-pro",
3733
  "type": "vision",
3734
+ "input_price_per_1m": 30,
3735
+ "output_price_per_1m": 180,
3736
+ "currency": "USD",
 
3737
  "capabilities": [
3738
  "vision",
 
 
 
 
3739
  "reasoning"
3740
+ ],
3741
+ "context_window": 1050000
3742
  },
3743
  {
3744
+ "name": "openai/o1-pro",
3745
  "type": "vision",
3746
+ "input_price_per_1m": 150,
3747
+ "output_price_per_1m": 600,
3748
+ "currency": "USD",
 
3749
  "capabilities": [
3750
  "vision",
 
 
 
 
3751
  "reasoning"
3752
+ ],
3753
+ "context_window": 200000
3754
  }
3755
+ ],
 
 
 
 
 
 
 
 
 
3756
  "lastUpdated": "2026-03-02T04:53:24.807Z"
3757
  },
3758
  {
 
4568
  "capabilities": [
4569
  "vision",
4570
  "tools"
4571
+ ],
4572
+ "size_b": 24
4573
  },
4574
  {
4575
  "name": "Mistral Small Creative",
 
4651
  "capabilities": [
4652
  "audio",
4653
  "tools"
4654
+ ],
4655
+ "size_b": 24
4656
  },
4657
  {
4658
  "name": "Voxtral Mini",
 
4794
  "input_price_per_1m": 0.01,
4795
  "output_price_per_1m": 0.02,
4796
  "currency": "USD",
4797
+ "size_b": 2.6
4798
  },
4799
  {
4800
  "name": "ibm-granite/granite-4.0-h-micro",
 
4808
  "type": "chat",
4809
  "input_price_per_1m": 0.02,
4810
  "output_price_per_1m": 0.04,
4811
+ "currency": "USD"
 
4812
  },
4813
  {
4814
  "name": "meta-llama/llama-guard-3-8b",
 
4930
  "type": "chat",
4931
  "input_price_per_1m": 0.0375,
4932
  "output_price_per_1m": 0.15,
4933
+ "currency": "USD"
 
4934
  },
4935
  {
4936
  "name": "openai/gpt-oss-120b",
 
5006
  "capabilities": [
5007
  "tools",
5008
  "reasoning"
5009
+ ],
5010
+ "size_b": 26
5011
  },
5012
  {
5013
  "name": "meta-llama/llama-3.2-11b-vision-instruct",
 
5313
  "capabilities": [
5314
  "vision",
5315
  "tools"
5316
+ ],
5317
+ "size_b": 17
5318
  },
5319
  {
5320
  "name": "google/gemma-3-27b-it",
 
5727
  "currency": "USD",
5728
  "capabilities": [
5729
  "reasoning"
5730
+ ]
 
5731
  },
5732
  {
5733
  "name": "nousresearch/hermes-2-pro-llama-3-8b",
 
5759
  "vision",
5760
  "tools",
5761
  "reasoning"
5762
+ ],
5763
+ "size_b": 119
5764
  },
5765
  {
5766
  "name": "upstage/solar-pro-3",
 
5792
  "currency": "USD",
5793
  "capabilities": [
5794
  "tools"
5795
+ ],
5796
+ "size_b": 8
5797
  },
5798
  {
5799
  "name": "mistralai/ministral-8b-2512",
 
5838
  "capabilities": [
5839
  "vision",
5840
  "tools"
5841
+ ],
5842
+ "size_b": 17
5843
  },
5844
  {
5845
  "name": "openai/gpt-4o-mini-search-preview",
 
5871
  ]
5872
  },
5873
  {
5874
+ "name": "openai/gpt-4o-mini",
5875
  "type": "vision",
5876
  "input_price_per_1m": 0.15,
5877
  "output_price_per_1m": 0.6,
 
5883
  ]
5884
  },
5885
  {
5886
+ "name": "openai/gpt-4o-mini-2024-07-18",
5887
  "type": "vision",
5888
  "input_price_per_1m": 0.15,
5889
  "output_price_per_1m": 0.6,
 
6032
  "capabilities": [
6033
  "tools",
6034
  "reasoning"
6035
+ ],
6036
+ "size_b": 106
6037
  },
6038
  {
6039
  "name": "x-ai/grok-4.1-fast",
 
6125
  "capabilities": [
6126
  "tools",
6127
  "reasoning"
6128
+ ],
6129
+ "size_b": 685
6130
  },
6131
  {
6132
  "name": "mistralai/mistral-saba",
 
6136
  "currency": "USD",
6137
  "capabilities": [
6138
  "tools"
6139
+ ],
6140
+ "size_b": 24
6141
  },
6142
  {
6143
  "name": "minimax/minimax-01",
 
6189
  "currency": "USD",
6190
  "capabilities": [
6191
  "tools"
6192
+ ],
6193
+ "size_b": 480
6194
  },
6195
  {
6196
  "name": "bytedance-seed/seed-2.0-lite",
 
6271
  },
6272
  {
6273
  "name": "tngtech/deepseek-r1t2-chimera",
6274
+ "type": "embedding",
6275
  "input_price_per_1m": 0.25,
6276
  "output_price_per_1m": 0.85,
6277
  "currency": "USD",
 
6642
  "currency": "USD",
6643
  "capabilities": [
6644
  "tools"
6645
+ ],
6646
+ "size_b": 123
6647
  },
6648
  {
6649
  "name": "deepseek/deepseek-v3.2-speciale",
 
6890
  "currency": "USD",
6891
  "capabilities": [
6892
  "tools"
6893
+ ]
 
6894
  },
6895
  {
6896
  "name": "moonshotai/kimi-k2",
 
6900
  "currency": "USD",
6901
  "capabilities": [
6902
  "tools"
6903
+ ],
6904
+ "size_b": 65.286
6905
  },
6906
  {
6907
  "name": "thedrummer/skyfall-36b-v2",
 
6968
  "type": "chat",
6969
  "input_price_per_1m": 0.62,
6970
  "output_price_per_1m": 0.62,
6971
+ "currency": "USD"
 
6972
  },
6973
  {
6974
  "name": "qwen/qwen3-coder-plus",
 
7012
  "currency": "USD",
7013
  "capabilities": [
7014
  "reasoning"
7015
+ ],
7016
+ "size_b": 32
7017
  },
7018
  {
7019
  "name": "deepseek/deepseek-r1-distill-llama-70b",
 
7121
  "type": "chat",
7122
  "input_price_per_1m": 0.8,
7123
  "output_price_per_1m": 1.2,
7124
+ "currency": "USD"
 
7125
  },
7126
  {
7127
  "name": "alfredpros/codellama-7b-instruct-solidity",
 
7776
  "currency": "USD",
7777
  "capabilities": [
7778
  "tools"
7779
+ ]
 
7780
  },
7781
  {
7782
  "name": "mistralai/mistral-large",
 
7876
  ]
7877
  },
7878
  {
7879
+ "name": "inflection/inflection-3-productivity",
7880
  "type": "chat",
7881
  "input_price_per_1m": 2.5,
7882
  "output_price_per_1m": 10,
7883
  "currency": "USD"
7884
  },
7885
  {
7886
+ "name": "inflection/inflection-3-pi",
7887
  "type": "chat",
7888
  "input_price_per_1m": 2.5,
7889
  "output_price_per_1m": 10,
 
8303
  ]
8304
  },
8305
  {
8306
+ "name": "openai/gpt-4",
8307
  "type": "chat",
8308
  "input_price_per_1m": 30,
8309
  "output_price_per_1m": 60,
 
8313
  ]
8314
  },
8315
  {
8316
+ "name": "openai/gpt-4-0314",
8317
  "type": "chat",
8318
  "input_price_per_1m": 30,
8319
  "output_price_per_1m": 60,
 
8376
  "currency": "USD",
8377
  "capabilities": [
8378
  "tools"
8379
+ ],
8380
+ "size_b": 400
8381
  },
8382
  {
8383
  "name": "liquid/lfm-2.5-1.2b-thinking:free",
 
8387
  "currency": "USD",
8388
  "capabilities": [
8389
  "reasoning"
8390
+ ],
8391
+ "size_b": 1.2
8392
  },
8393
  {
8394
  "name": "liquid/lfm-2.5-1.2b-instruct:free",
8395
  "type": "chat",
8396
  "input_price_per_1m": 0,
8397
  "output_price_per_1m": 0,
8398
+ "currency": "USD",
8399
+ "size_b": 1.2
8400
  },
8401
  {
8402
  "name": "nvidia/nemotron-3-nano-30b-a3b:free",
 
8419
  "capabilities": [
8420
  "tools",
8421
  "reasoning"
8422
+ ],
8423
+ "size_b": 26
8424
  },
8425
  {
8426
  "name": "nvidia/nemotron-nano-12b-v2-vl:free",
 
8502
  "currency": "USD",
8503
  "capabilities": [
8504
  "tools"
8505
+ ],
8506
+ "size_b": 480
8507
  },
8508
  {
8509
  "name": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
 
8518
  "type": "chat",
8519
  "input_price_per_1m": 0,
8520
  "output_price_per_1m": 0,
8521
+ "currency": "USD"
 
8522
  },
8523
  {
8524
  "name": "google/gemma-3n-e4b-it:free",
8525
  "type": "chat",
8526
  "input_price_per_1m": 0,
8527
  "output_price_per_1m": 0,
8528
+ "currency": "USD"
 
8529
  },
8530
  {
8531
  "name": "qwen/qwen3-4b:free",
scripts/fetch-providers.js CHANGED
@@ -11,6 +11,7 @@
11
 
12
  const fs = require('fs');
13
  const path = require('path');
 
14
 
15
  const DATA_FILE = path.join(__dirname, '..', 'data', 'providers.json');
16
 
@@ -59,7 +60,7 @@ function updateProviderModels(providers, providerName, models) {
59
  const normName = (s) =>
60
  s.toLowerCase().replace(/[-_.:]/g, ' ').replace(/[^a-z0-9 ]/g, '').replace(/\s+/g, ' ').trim();
61
 
62
- // Build an index of normalized OpenRouter model-part → { capabilities, type }
63
  // Only includes entries that carry non-trivial capability data.
64
  function buildOrIndex(orProvider) {
65
  if (!orProvider) return [];
@@ -68,13 +69,13 @@ function buildOrIndex(orProvider) {
68
  if (!m.capabilities || m.capabilities.length === 0) continue;
69
  // Strip :free suffix and take the model part after '/'
70
  const modelPart = m.name.replace(/:free$/, '').split('/').pop();
71
- index.push({ norm: normName(modelPart), capabilities: m.capabilities, type: m.type });
72
  }
73
  return index;
74
  }
75
 
76
  // For a given model name, find the best matching OpenRouter index entry.
77
- // Returns { capabilities, type } or null.
78
  function findOrMatch(modelName, orIndex) {
79
  // Use the model part (after last '/') for matching, strip :region/@suffix
80
  const raw = modelName.replace(/@[^/]+$/, '').replace(/:[^/]+$/, '');
@@ -129,35 +130,137 @@ function findOrMatch(modelName, orIndex) {
129
  return null;
130
  }
131
 
132
- // Propagate capabilities from OpenRouter to all other providers' models.
133
- // Only fills in capabilities/type when the model doesn't already have them.
134
- function propagateCapabilities(data) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  const orProvider = data.providers.find((p) => p.name === 'OpenRouter');
136
  const orIndex = buildOrIndex(orProvider);
137
- if (orIndex.length === 0) return;
138
 
139
- let propagated = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  let autoTagged = 0;
 
 
 
 
 
141
  for (const provider of data.providers) {
142
  for (const model of provider.models || []) {
143
- // Auto-tag image-gen models regardless of OR match
 
 
144
  if (model.type === 'image' && (!model.capabilities || !model.capabilities.length)) {
145
  model.capabilities = ['image-gen'];
146
  autoTagged++;
147
- continue;
148
  }
149
- if (provider.name === 'OpenRouter') continue;
150
- if (model.capabilities && model.capabilities.length > 0) continue; // already set
151
- const match = findOrMatch(model.name, orIndex);
152
- if (!match) continue;
153
- model.capabilities = match.capabilities;
154
- // Update type only if currently 'chat' (don't demote image/embedding/audio)
155
- if (model.type === 'chat' && match.type !== 'chat') model.type = match.type;
156
- propagated++;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  }
158
  }
159
- if (autoTagged > 0) console.log(`Auto-tagged ${autoTagged} image-gen models.`);
160
- if (propagated > 0) console.log(`Propagated capabilities to ${propagated} models from OpenRouter.`);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
162
 
163
  async function runFetcher(fetcher, data) {
@@ -197,9 +300,8 @@ async function main() {
197
  results.push(result);
198
  }
199
 
200
- // Always propagate capabilities from OpenRouter to all providers' models.
201
- // No-ops if OpenRouter has no data in providers.json yet.
202
- propagateCapabilities(data);
203
 
204
  saveData(data);
205
 
 
11
 
12
  const fs = require('fs');
13
  const path = require('path');
14
+ const { getJson, getText, fetchRobust } = require('./fetch-utils');
15
 
16
  const DATA_FILE = path.join(__dirname, '..', 'data', 'providers.json');
17
 
 
60
  const normName = (s) =>
61
  s.toLowerCase().replace(/[-_.:]/g, ' ').replace(/[^a-z0-9 ]/g, '').replace(/\s+/g, ' ').trim();
62
 
63
+ // Build an index of normalized OpenRouter model-part → { capabilities, type, size_b }
64
  // Only includes entries that carry non-trivial capability data.
65
  function buildOrIndex(orProvider) {
66
  if (!orProvider) return [];
 
69
  if (!m.capabilities || m.capabilities.length === 0) continue;
70
  // Strip :free suffix and take the model part after '/'
71
  const modelPart = m.name.replace(/:free$/, '').split('/').pop();
72
+ index.push({ norm: normName(modelPart), capabilities: m.capabilities, type: m.type, size_b: m.size_b });
73
  }
74
  return index;
75
  }
76
 
77
  // For a given model name, find the best matching OpenRouter index entry.
78
+ // Returns { capabilities, type, size_b } or null.
79
  function findOrMatch(modelName, orIndex) {
80
  // Use the model part (after last '/') for matching, strip :region/@suffix
81
  const raw = modelName.replace(/@[^/]+$/, '').replace(/:[^/]+$/, '');
 
130
  return null;
131
  }
132
 
133
+ // Fetch total_parameters from Hugging Face Hub API (Metadata)
134
+ async function fetchHFSize(hfId) {
135
+ if (!hfId || hfId.includes(' ') || !hfId.includes('/')) return null;
136
+ const token = process.env.HF_TOKEN;
137
+ const headers = token ? { Authorization: `Bearer ${token}` } : {};
138
+ try {
139
+ const data = await getJson(`https://huggingface.co/api/models/${hfId}`, { headers });
140
+ // Check various common metadata locations for total parameters
141
+ let params = data.safetensors?.total || data.config?.total_parameters || data.config?.model_type_params;
142
+ if (!params && data.cardData?.model_details?.parameters) {
143
+ const match = data.cardData.model_details.parameters.match(/([\d.]+)\s*[Bb]/);
144
+ if (match) params = parseFloat(match[1]) * 1_000_000_000;
145
+ }
146
+ return params ? Math.round(params / 1_000_000_000 * 10) / 10 : null;
147
+ } catch (e) {
148
+ return null; // Silently skip failures for individual models
149
+ }
150
+ }
151
+
152
+ const EMBEDDER_KEYWORDS = ['embed', 'bge', 'gte', 'e5', 'stella', 'minilm', 'multilingual-mpnet'];
153
+
154
+ // Propagate capabilities and size from benchmarks, OpenRouter, or HF Hub to all other providers' models.
155
+ // Only fills in fields when the model doesn't already have them.
156
+ async function propagateExtraData(data) {
157
  const orProvider = data.providers.find((p) => p.name === 'OpenRouter');
158
  const orIndex = buildOrIndex(orProvider);
 
159
 
160
+ // Load benchmarks for size lookup
161
+ let benchmarks = [];
162
+ try {
163
+ const bmFile = path.join(__dirname, '..', 'data', 'benchmarks.json');
164
+ if (fs.existsSync(bmFile)) benchmarks = JSON.parse(fs.readFileSync(bmFile, 'utf8'));
165
+ } catch (e) { /* ignore */ }
166
+
167
+ const bmSizeMap = new Map();
168
+ benchmarks.forEach((b) => {
169
+ if (b.params_b) {
170
+ if (b.name) bmSizeMap.set(normName(b.name), b.params_b);
171
+ if (b.hf_id) bmSizeMap.set(normName(b.hf_id.split('/').pop()), b.params_b);
172
+ if (b.lb_name) bmSizeMap.set(normName(b.lb_name), b.params_b);
173
+ }
174
+ });
175
+
176
+ let propagatedCaps = 0;
177
+ let propagatedSize = 0;
178
  let autoTagged = 0;
179
+ let hfSizeFetched = 0;
180
+
181
+ // We'll collect models missing size that have a clear HF-id-like name
182
+ const hfLookupQueue = [];
183
+
184
  for (const provider of data.providers) {
185
  for (const model of provider.models || []) {
186
+ const n = normName(model.name);
187
+
188
+ // 1. Auto-tag image-gen and embedding models
189
  if (model.type === 'image' && (!model.capabilities || !model.capabilities.length)) {
190
  model.capabilities = ['image-gen'];
191
  autoTagged++;
 
192
  }
193
+ if (model.type === 'chat' && EMBEDDER_KEYWORDS.some(k => n.includes(k))) {
194
+ model.type = 'embedding';
195
+ autoTagged++;
196
+ }
197
+
198
+ // 2. Propagate size from benchmarks (if missing)
199
+ if (!model.size_b) {
200
+ // Try exact name match or base name match
201
+ const size = bmSizeMap.get(n) || bmSizeMap.get(n.split(' ').pop());
202
+ if (size) {
203
+ model.size_b = size;
204
+ propagatedSize++;
205
+ }
206
+ }
207
+
208
+ // 3. Propagate capabilities/type/size from OpenRouter
209
+ if (provider.name !== 'OpenRouter') {
210
+ const match = findOrMatch(model.name, orIndex);
211
+ if (match) {
212
+ if (!model.capabilities || model.capabilities.length === 0) {
213
+ model.capabilities = match.capabilities;
214
+ propagatedCaps++;
215
+ }
216
+ if (model.type === 'chat' && match.type !== 'chat') model.type = match.type;
217
+ if (!model.size_b && match.size_b) {
218
+ model.size_b = match.size_b;
219
+ propagatedSize++;
220
+ }
221
+ }
222
+ }
223
+
224
+ // Special case: gemma2 based models often 9b or 27b
225
+ if (!model.size_b) {
226
+ if (n.includes('gemma 2 9b') || n.includes('gemma2 9b')) { model.size_b = 9; propagatedSize++; }
227
+ else if (n.includes('gemma 2 27b') || n.includes('gemma2 27b')) { model.size_b = 27; propagatedSize++; }
228
+ else if (n.includes('gemma 2 2b') || n.includes('gemma2 2b')) { model.size_b = 2; propagatedSize++; }
229
+ }
230
+
231
+ // 4. Queue for HF Hub metadata if still missing and looks like an ID
232
+ if (!model.size_b && (model.name.includes('/') || model.hf_id)) {
233
+ hfLookupQueue.push(model);
234
+ }
235
  }
236
  }
237
+
238
+ // 5. Final fallback: Technical metadata inspection from HF Hub API (Option 2)
239
+ // Only for models that still have no size after all other sources.
240
+ // Limit to a small batch of unique IDs to avoid long startup.
241
+ const uniqueIds = [...new Set(hfLookupQueue.map(m => m.hf_id || m.name).filter(id => id.includes('/')))].slice(0, 30);
242
+ if (uniqueIds.length > 0) {
243
+ process.stdout.write(` HF Hub: inspecting ${uniqueIds.length} models for metadata... `);
244
+ const idToSize = new Map();
245
+ await Promise.all(uniqueIds.map(async (id) => {
246
+ const size = await fetchHFSize(id);
247
+ if (size) idToSize.set(id, size);
248
+ }));
249
+ for (const model of hfLookupQueue) {
250
+ if (!model.size_b) {
251
+ const size = idToSize.get(model.hf_id || model.name);
252
+ if (size) {
253
+ model.size_b = size;
254
+ hfSizeFetched++;
255
+ }
256
+ }
257
+ }
258
+ console.log(`✓ ${hfSizeFetched} sizes found`);
259
+ }
260
+
261
+ if (autoTagged > 0) console.log(`Auto-tagged ${autoTagged} image-gen/embedding models.`);
262
+ if (propagatedCaps > 0) console.log(`Propagated capabilities to ${propagatedCaps} models.`);
263
+ if (propagatedSize + hfSizeFetched > 0) console.log(`Enriched size data for ${propagatedSize + hfSizeFetched} models.`);
264
  }
265
 
266
  async function runFetcher(fetcher, data) {
 
300
  results.push(result);
301
  }
302
 
303
+ // Always propagate extra data from OpenRouter and Benchmarks to all providers' models.
304
+ await propagateExtraData(data);
 
305
 
306
  saveData(data);
307
 
scripts/providers/openrouter.js CHANGED
@@ -21,8 +21,11 @@ function loadApiKey() {
21
  }
22
 
23
  const getSizeB = (id) => {
24
- const match = (id || '').match(/[^.\d](\d+)b/i) || (id || '').match(/^(\d+)b/i);
25
- return match ? parseInt(match[1]) : undefined;
 
 
 
26
  };
27
 
28
  // Derive model type from architecture modalities.
@@ -98,8 +101,23 @@ async function fetchOpenRouter() {
98
  }
99
 
100
  if (capabilities.length) modelEntry.capabilities = capabilities;
101
- const size_b = getSizeB(model.id);
102
- if (size_b) modelEntry.size_b = size_b;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
 
104
  models.push(modelEntry);
105
  }
 
21
  }
22
 
23
  const getSizeB = (id) => {
24
+ // Match patterns like 1.2b, 70b, 8b. Support decimals and trailing colon (e.g. 1.2b:free)
25
+ const match = (id || '').match(/(?:\b|-)([\d.]+)[Bb](?:\b|:|$)/);
26
+ if (!match) return undefined;
27
+ const num = parseFloat(match[1]);
28
+ return (num > 0 && num < 2000) ? num : undefined;
29
  };
30
 
31
  // Derive model type from architecture modalities.
 
101
  }
102
 
103
  if (capabilities.length) modelEntry.capabilities = capabilities;
104
+ const apiParams = model.architecture?.parameters;
105
+ const apiSize = (apiParams && apiParams > 0) ? Math.round(apiParams / 1_000_000_000 * 10) / 10 : null;
106
+
107
+ // Attempt detection in priority order:
108
+ // 1. Explicit architecture parameters from API
109
+ // 2. Regex on canonical HF ID if provided by OpenRouter
110
+ // 3. Regex on the model description (common for new models missing architecture metadata)
111
+ // 4. Regex on the OpenRouter ID itself
112
+ let sizeB = apiSize;
113
+ if (!sizeB && model.hugging_face_id) sizeB = getSizeB(model.hugging_face_id);
114
+ if (!sizeB && model.description) {
115
+ const descMatch = model.description.match(/([\d.]+)[Bb]-parameter/);
116
+ if (descMatch) sizeB = parseFloat(descMatch[1]);
117
+ }
118
+ if (!sizeB) sizeB = getSizeB(model.id);
119
+
120
+ if (sizeB) modelEntry.size_b = sizeB;
121
 
122
  models.push(modelEntry);
123
  }
scripts/providers/scaleway.js CHANGED
@@ -23,9 +23,11 @@ const getModelType = (tasks) => {
23
  };
24
 
25
  const getSizeB = (name) => {
26
- // Match patterns like 235b, 70b, 8b but NOT "3.2" in a version number
27
- const match = name.match(/[^.\d](\d+)b/i) || name.match(/^(\d+)b/i);
28
- return match ? parseInt(match[1]) : undefined;
 
 
29
  };
30
 
31
  async function fetchScaleway() {
 
23
  };
24
 
25
  const getSizeB = (name) => {
26
+ // Match patterns like 1.2b, 70b, 8b. Support decimals.
27
+ const match = (name || '').match(/(?:\b|-)([\d.]+)[Bb](?:\b|:|$)/);
28
+ if (!match) return undefined;
29
+ const num = parseFloat(match[1]);
30
+ return (num > 0 && num < 2000) ? num : undefined;
31
  };
32
 
33
  async function fetchScaleway() {