smoltalk 0.15.3 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +62 -0
  2. package/dist/clients/anthropic.js +3 -2
  3. package/dist/clients/baseClient.js +4 -3
  4. package/dist/clients/google.js +2 -1
  5. package/dist/clients/llamaCppLoader.js +2 -2
  6. package/dist/clients/mlx.d.ts +12 -1
  7. package/dist/clients/mlx.js +23 -0
  8. package/dist/clients/ollama.d.ts +1 -1
  9. package/dist/clients/ollama.js +1 -1
  10. package/dist/clients/openai.d.ts +2 -1
  11. package/dist/clients/openai.js +5 -3
  12. package/dist/clients/openaiResponses.js +3 -2
  13. package/dist/clients/resolveAttachments.js +2 -1
  14. package/dist/clients/structuredAfterTools.d.ts +36 -0
  15. package/dist/clients/structuredAfterTools.js +87 -0
  16. package/dist/clients/validationRetry.d.ts +5 -0
  17. package/dist/clients/validationRetry.js +24 -0
  18. package/dist/embed/openai.js +3 -2
  19. package/dist/files/anthropic.js +2 -2
  20. package/dist/files/openai.js +2 -2
  21. package/dist/image/google.js +3 -2
  22. package/dist/image/openai.js +3 -2
  23. package/dist/image/openaiCompat.js +3 -2
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +2 -0
  26. package/dist/modelRefresh.js +10 -11
  27. package/dist/models.d.ts +298 -56
  28. package/dist/models.js +331 -66
  29. package/dist/platform.browser.d.ts +5 -0
  30. package/dist/platform.browser.js +13 -0
  31. package/dist/platform.d.ts +33 -0
  32. package/dist/platform.js +13 -0
  33. package/dist/platform.node.d.ts +5 -0
  34. package/dist/platform.node.js +17 -0
  35. package/dist/speech/google.js +2 -1
  36. package/dist/speech/groq.js +1 -0
  37. package/dist/speech/mlx.js +1 -0
  38. package/dist/speech/openai.js +1 -1
  39. package/dist/speech/openaiCompat.js +1 -1
  40. package/dist/statelogClient.js +2 -1
  41. package/dist/transcription/google.js +3 -2
  42. package/dist/transcription/groq.js +1 -0
  43. package/dist/transcription/openai.js +1 -1
  44. package/dist/transcription/openaiCompat.js +1 -1
  45. package/dist/types.d.ts +6 -0
  46. package/dist/util/attachments.js +2 -1
  47. package/dist/util/base64.d.ts +17 -0
  48. package/dist/util/base64.js +59 -0
  49. package/dist/util/blobRef.js +18 -12
  50. package/dist/util/fileExtension.d.ts +7 -0
  51. package/dist/util/fileExtension.js +15 -0
  52. package/dist/util/provider.d.ts +1 -0
  53. package/dist/util/provider.js +16 -14
  54. package/package.json +14 -2
package/dist/models.js CHANGED
@@ -20,6 +20,7 @@ export const speechToTextModels = [
20
20
  {
21
21
  type: "speech-to-text",
22
22
  modelName: "whisper-1",
23
+ description: "Scheduled shutdown February 26, 2027 (announced 2026-08-26); use gpt-transcribe instead.",
23
24
  perMinuteCost: 0.006,
24
25
  provider: "openai",
25
26
  supportedMimeTypes: [
@@ -28,6 +29,13 @@ export const speechToTextModels = [
28
29
  ],
29
30
  maxBytes: 25 * 1024 * 1024,
30
31
  },
32
+ {
33
+ type: "speech-to-text",
34
+ modelName: "gpt-transcribe",
35
+ description: "OpenAI's transcription model on v1/audio/transcriptions; the named replacement for whisper-1.",
36
+ perMinuteCost: 0.0045, // verified 2026-09-27
37
+ provider: "openai",
38
+ },
31
39
  {
32
40
  type: "speech-to-text",
33
41
  modelName: "whisper-large-v3",
@@ -92,6 +100,24 @@ export const textToSpeechModels = [
92
100
  },
93
101
  // Gemini TTS is token-billed (text input + audio output). No maxInputChars:
94
102
  // Gemini documents a 32k-token context, and characters are not a sound proxy.
103
+ {
104
+ type: "text-to-speech",
105
+ modelName: "gemini-3.8-flash-tts",
106
+ provider: "google",
107
+ description: "Gemini 3.8 Flash TTS (GA 2026-09-22). Introductory pricing through December 31, 2026; $1.00 input / $18.00 audio output per 1M from January 1, 2027.",
108
+ inputTokenCost: 0.5, // $/1M text-input tokens, verified 2026-09-27
109
+ outputAudioTokenCost: 9.0, // $/1M audio-output tokens
110
+ formats: ["pcm", "wav"],
111
+ },
112
+ {
113
+ type: "text-to-speech",
114
+ modelName: "gemini-3.8-flash-lite-tts",
115
+ provider: "google",
116
+ description: "Gemini 3.8 Flash-Lite TTS (GA 2026-09-22). Introductory pricing through December 31, 2026; $1.00 input / $12.00 audio output per 1M from January 1, 2027.",
117
+ inputTokenCost: 0.5, // $/1M text-input tokens, verified 2026-09-27
118
+ outputAudioTokenCost: 6.0, // $/1M audio-output tokens
119
+ formats: ["pcm", "wav"],
120
+ },
95
121
  {
96
122
  type: "text-to-speech",
97
123
  modelName: "gemini-3.1-flash-tts-preview",
@@ -127,7 +153,7 @@ export const textModels = [
127
153
  inputTokenCost: 0.15,
128
154
  cachedInputTokenCost: 0.075,
129
155
  outputTokenCost: 0.6,
130
- outputTokensPerSecond: 65,
156
+ outputTokensPerSecond: 110,
131
157
  modalities: {
132
158
  input: ["text", "image", "pdf"],
133
159
  output: ["text"],
@@ -167,7 +193,7 @@ export const textModels = [
167
193
  {
168
194
  type: "text",
169
195
  modelName: "o3",
170
- description: "o3 is a reasoning model that sets a new standard for math, science, coding, visual reasoning tasks, and technical writing. Part of the o-series of reasoning models. Knowledge cutoff: June 2024.",
196
+ description: "o3 is a reasoning model that sets a new standard for math, science, coding, visual reasoning tasks, and technical writing. Part of the o-series of reasoning models. Knowledge cutoff: June 2024. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to the gpt-5.6 family.",
171
197
  maxInputTokens: 200000,
172
198
  maxOutputTokens: 100000,
173
199
  inputTokenCost: 2,
@@ -197,7 +223,7 @@ export const textModels = [
197
223
  {
198
224
  type: "text",
199
225
  modelName: "o3-mini",
200
- description: "o3-mini is our most recent small reasoning model, providing high intelligence at the same cost and latency targets of o1-mini. o3-mini also supports key developer features, like Structured Outputs, function calling, Batch API, and more. Like other models in the o-series, it is designed to excel at science, math, and coding tasks. Knowledge cutoff: June 2024.",
226
+ description: "o3-mini is our most recent small reasoning model, providing high intelligence at the same cost and latency targets of o1-mini. o3-mini also supports key developer features, like Structured Outputs, function calling, Batch API, and more. Like other models in the o-series, it is designed to excel at science, math, and coding tasks. Knowledge cutoff: June 2024. Scheduled shutdown October 23, 2026; migrate to gpt-5.6-sol.",
201
227
  maxInputTokens: 200000,
202
228
  maxOutputTokens: 100000,
203
229
  inputTokenCost: 1.1,
@@ -227,7 +253,7 @@ export const textModels = [
227
253
  {
228
254
  type: "text",
229
255
  modelName: "o4-mini",
230
- description: "Latest small o-series model optimized for fast, effective reasoning with exceptional performance in coding and visual tasks. Knowledge cutoff: June 2024.",
256
+ description: "Latest small o-series model optimized for fast, effective reasoning with exceptional performance in coding and visual tasks. Knowledge cutoff: June 2024. Scheduled shutdown October 23, 2026; migrate to gpt-5.6-terra.",
231
257
  maxInputTokens: 200000,
232
258
  maxOutputTokens: 100000,
233
259
  inputTokenCost: 1.1,
@@ -257,7 +283,7 @@ export const textModels = [
257
283
  {
258
284
  type: "text",
259
285
  modelName: "o3-pro",
260
- description: "o3-pro uses more compute for complex reasoning tasks. Available via Responses API only. Requests may take several minutes. Knowledge cutoff: June 2024.",
286
+ description: "o3-pro uses more compute for complex reasoning tasks. Available via Responses API only. Requests may take several minutes. Knowledge cutoff: June 2024. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to gpt-5.6-sol with pro reasoning.",
261
287
  maxInputTokens: 200000,
262
288
  maxOutputTokens: 100000,
263
289
  inputTokenCost: 20,
@@ -283,7 +309,7 @@ export const textModels = [
283
309
  {
284
310
  type: "text",
285
311
  modelName: "o1",
286
- description: "o1 is a reasoning model designed to excel at complex reasoning tasks including science, math, and coding. The knowledge cutoff for o1 models is October, 2023.",
312
+ description: "o1 is a reasoning model designed to excel at complex reasoning tasks including science, math, and coding. The knowledge cutoff for o1 models is October, 2023. Scheduled shutdown October 23, 2026; migrate to gpt-5.6-sol.",
287
313
  maxInputTokens: 200000,
288
314
  maxOutputTokens: 100000,
289
315
  inputTokenCost: 15,
@@ -386,7 +412,7 @@ export const textModels = [
386
412
  inputTokenCost: 2,
387
413
  cachedInputTokenCost: 0.5,
388
414
  outputTokenCost: 8,
389
- outputTokensPerSecond: 105,
415
+ outputTokensPerSecond: 141,
390
416
  modalities: {
391
417
  input: ["text", "image", "pdf"],
392
418
  output: ["text"],
@@ -409,7 +435,7 @@ export const textModels = [
409
435
  inputTokenCost: 0.4,
410
436
  cachedInputTokenCost: 0.1,
411
437
  outputTokenCost: 1.6,
412
- outputTokensPerSecond: 78,
438
+ outputTokensPerSecond: 142,
413
439
  modalities: {
414
440
  input: ["text", "image", "pdf"],
415
441
  output: ["text"],
@@ -426,7 +452,7 @@ export const textModels = [
426
452
  {
427
453
  type: "text",
428
454
  modelName: "gpt-4.1-nano",
429
- description: "GPT-4.1 nano is the fastest and most affordable GPT-4.1 variant with 1M token context window. Knowledge cutoff: June 2024.",
455
+ description: "GPT-4.1 nano is the fastest and most affordable GPT-4.1 variant with 1M token context window. Knowledge cutoff: June 2024. Scheduled shutdown October 23, 2026; migrate to gpt-5.6-luna.",
430
456
  maxInputTokens: 1047576,
431
457
  maxOutputTokens: 32768,
432
458
  inputTokenCost: 0.1,
@@ -449,7 +475,7 @@ export const textModels = [
449
475
  {
450
476
  type: "text",
451
477
  modelName: "gpt-5",
452
- description: "GPT-5 is a frontier reasoning model with 400K context window. Supports reasoning tokens. Knowledge cutoff: September 2024.",
478
+ description: "GPT-5 is a frontier reasoning model with 400K context window. Supports reasoning tokens. Knowledge cutoff: September 2024. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to the gpt-5.6 family.",
453
479
  maxInputTokens: 400000,
454
480
  maxOutputTokens: 128000,
455
481
  inputTokenCost: 1.25,
@@ -479,13 +505,13 @@ export const textModels = [
479
505
  {
480
506
  type: "text",
481
507
  modelName: "gpt-5-mini",
482
- description: "GPT-5 mini is a faster, more cost-efficient version of GPT-5 with 400K context window. Knowledge cutoff: May 2024.",
508
+ description: "GPT-5 mini is a faster, more cost-efficient version of GPT-5 with 400K context window. Knowledge cutoff: May 2024. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to the gpt-5.6 family.",
483
509
  maxInputTokens: 400000,
484
510
  maxOutputTokens: 128000,
485
511
  inputTokenCost: 0.25,
486
512
  cachedInputTokenCost: 0.025,
487
513
  outputTokenCost: 2,
488
- outputTokensPerSecond: 69,
514
+ outputTokensPerSecond: 127,
489
515
  reasoning: {
490
516
  levels: ["minimal", "low", "medium", "high"],
491
517
  defaultLevel: "medium",
@@ -509,7 +535,7 @@ export const textModels = [
509
535
  {
510
536
  type: "text",
511
537
  modelName: "gpt-5-nano",
512
- description: "GPT-5 nano is the fastest and most affordable GPT-5 variant with 400K context window. Knowledge cutoff: May 2024.",
538
+ description: "GPT-5 nano is the fastest and most affordable GPT-5 variant with 400K context window. Knowledge cutoff: May 2024. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to the gpt-5.6 family.",
513
539
  maxInputTokens: 400000,
514
540
  maxOutputTokens: 128000,
515
541
  inputTokenCost: 0.05,
@@ -545,6 +571,7 @@ export const textModels = [
545
571
  inputTokenCost: 1.25,
546
572
  cachedInputTokenCost: 0.125,
547
573
  outputTokenCost: 10,
574
+ outputTokensPerSecond: 106,
548
575
  reasoning: {
549
576
  levels: ["none", "low", "medium", "high"],
550
577
  defaultLevel: "none",
@@ -574,7 +601,7 @@ export const textModels = [
574
601
  inputTokenCost: 1.75,
575
602
  cachedInputTokenCost: 0.175,
576
603
  outputTokenCost: 14,
577
- outputTokensPerSecond: 61,
604
+ outputTokensPerSecond: 79,
578
605
  reasoning: {
579
606
  levels: ["none", "low", "medium", "high"],
580
607
  defaultLevel: "none",
@@ -630,6 +657,7 @@ export const textModels = [
630
657
  inputTokenCost: 2.5,
631
658
  cachedInputTokenCost: 0.25,
632
659
  outputTokenCost: 15,
660
+ outputTokensPerSecond: 88,
633
661
  longContext: {
634
662
  inputTokenCost: 5,
635
663
  cachedInputTokenCost: 0.5,
@@ -665,7 +693,7 @@ export const textModels = [
665
693
  inputTokenCost: 0.75,
666
694
  cachedInputTokenCost: 0.075,
667
695
  outputTokenCost: 4.5,
668
- outputTokensPerSecond: 180,
696
+ outputTokensPerSecond: 216,
669
697
  reasoning: {
670
698
  levels: ["none", "low", "medium", "high", "xhigh"],
671
699
  defaultLevel: "none",
@@ -758,7 +786,7 @@ export const textModels = [
758
786
  inputTokenCost: 5,
759
787
  cachedInputTokenCost: 0.5,
760
788
  outputTokenCost: 30,
761
- outputTokensPerSecond: 66,
789
+ outputTokensPerSecond: 86,
762
790
  longContext: {
763
791
  inputTokenCost: 10,
764
792
  cachedInputTokenCost: 1,
@@ -821,13 +849,13 @@ export const textModels = [
821
849
  {
822
850
  type: "text",
823
851
  modelName: "gpt-6-astra",
824
- description: "GPT-6 Astra is OpenAI's most capable model, built for the hardest end-to-end work: complex reasoning, coding, computer use, research, and document creation. 1M context window. Standard pricing for ≤272K input tokens; prompts above that are billed at 2x input/cache and 1.5x output for the whole request. Knowledge cutoff: April 2026.",
852
+ description: "GPT-6 Astra is OpenAI's most capable model, built for the hardest end-to-end work: complex reasoning, coding, computer use, research, and document creation. 1M context window. Standard pricing for ≤272K input tokens; prompts above that are billed at 2x input/cache and 1.5x output for the whole request. Does not support custom temperature/top_p or logprobs. Knowledge cutoff: April 2026.",
825
853
  maxInputTokens: 1050000,
826
854
  maxOutputTokens: 128000,
827
855
  inputTokenCost: 10,
828
856
  cachedInputTokenCost: 1,
829
857
  outputTokenCost: 50,
830
- outputTokensPerSecond: 69,
858
+ outputTokensPerSecond: 52,
831
859
  longContext: {
832
860
  inputTokenCost: 20,
833
861
  cachedInputTokenCost: 2,
@@ -846,8 +874,117 @@ export const textModels = [
846
874
  output: ["text"],
847
875
  },
848
876
  knowledge: "2026-04-30",
849
- releaseDate: "2026-09-04",
850
- lastUpdated: "2026-09-04",
877
+ releaseDate: "2026-09-03",
878
+ lastUpdated: "2026-09-03",
879
+ family: "gpt",
880
+ openWeights: false,
881
+ structuredOutput: true,
882
+ temperatureSupported: false,
883
+ provider: "openai",
884
+ },
885
+ {
886
+ type: "text",
887
+ modelName: "gpt-6.1-sol",
888
+ description: "GPT-6.1 Sol (released 2026-09-29) is the newer Sol model, replacing gpt-6-sol in OpenAI's flagship lineup at the same per-token price; cache reads are 0.05x input ($0.10/1M) instead of 0.1x. 1M context window. Standard pricing for ≤272K input tokens; prompts above that are billed at 2x input/cache and 1.5x output for the whole request. Reasoning cannot be set to none. Cataloged under openai-responses because tool calling requires the Responses API (Chat Completions works only without tools). Knowledge cutoff: April 2026.",
889
+ maxInputTokens: 1050000,
890
+ maxOutputTokens: 128000,
891
+ inputTokenCost: 2,
892
+ cachedInputTokenCost: 0.1,
893
+ cacheCreationInputTokenCost: 2.5,
894
+ outputTokenCost: 10,
895
+ outputTokensPerSecond: 64,
896
+ longContext: {
897
+ inputTokenCost: 4,
898
+ cachedInputTokenCost: 0.2,
899
+ outputTokenCost: 15,
900
+ thresholdTokens: 272000,
901
+ },
902
+ reasoning: {
903
+ levels: ["low", "medium", "high", "xhigh", "max"],
904
+ defaultLevel: "medium",
905
+ canDisable: false,
906
+ outputsThinking: false,
907
+ outputsSignatures: false,
908
+ },
909
+ modalities: {
910
+ input: ["text", "image"],
911
+ output: ["text"],
912
+ },
913
+ knowledge: "2026-04-30",
914
+ releaseDate: "2026-09-29",
915
+ lastUpdated: "2026-09-29",
916
+ family: "gpt",
917
+ openWeights: false,
918
+ structuredOutput: true,
919
+ temperatureSupported: false,
920
+ provider: "openai-responses",
921
+ },
922
+ {
923
+ type: "text",
924
+ modelName: "gpt-6-sol",
925
+ description: "GPT-6 Sol balances capability and cost in the GPT-6 family. Superseded by gpt-6.1-sol (same price, cheaper cache reads); not deprecated. 1M context window. Standard pricing for ≤272K input tokens; prompts above that are billed at 2x input/cache and 1.5x output for the whole request. Knowledge cutoff: April 2026.",
926
+ maxInputTokens: 1050000,
927
+ maxOutputTokens: 128000,
928
+ inputTokenCost: 2,
929
+ cachedInputTokenCost: 0.2,
930
+ outputTokenCost: 10,
931
+ outputTokensPerSecond: 87,
932
+ longContext: {
933
+ inputTokenCost: 4,
934
+ cachedInputTokenCost: 0.4,
935
+ outputTokenCost: 15.0,
936
+ thresholdTokens: 272000,
937
+ },
938
+ reasoning: {
939
+ levels: ["none", "low", "medium", "high", "xhigh", "max"],
940
+ defaultLevel: "medium",
941
+ canDisable: true,
942
+ outputsThinking: false,
943
+ outputsSignatures: false,
944
+ },
945
+ modalities: {
946
+ input: ["text", "image"],
947
+ output: ["text"],
948
+ },
949
+ knowledge: "2026-04-20",
950
+ releaseDate: "2026-09-22",
951
+ lastUpdated: "2026-09-22",
952
+ family: "gpt",
953
+ openWeights: false,
954
+ structuredOutput: true,
955
+ temperatureSupported: false,
956
+ provider: "openai",
957
+ },
958
+ {
959
+ type: "text",
960
+ modelName: "gpt-6-luna",
961
+ description: "GPT-6 Luna is the fast, most affordable member of the GPT-6 family. 1M context window. Standard pricing for ≤272K input tokens; prompts above that are billed at 2x input/cache and 1.5x output for the whole request. Knowledge cutoff: May 2026.",
962
+ maxInputTokens: 1050000,
963
+ maxOutputTokens: 128000,
964
+ inputTokenCost: 0.1,
965
+ cachedInputTokenCost: 0.01,
966
+ outputTokenCost: 0.5,
967
+ outputTokensPerSecond: 128,
968
+ longContext: {
969
+ inputTokenCost: 0.2,
970
+ cachedInputTokenCost: 0.02,
971
+ outputTokenCost: 0.75,
972
+ thresholdTokens: 272000,
973
+ },
974
+ reasoning: {
975
+ levels: ["none", "low", "medium", "high", "xhigh", "max"],
976
+ defaultLevel: "medium",
977
+ canDisable: true,
978
+ outputsThinking: false,
979
+ outputsSignatures: false,
980
+ },
981
+ modalities: {
982
+ input: ["text", "image"],
983
+ output: ["text"],
984
+ },
985
+ knowledge: "2026-05-18",
986
+ releaseDate: "2026-09-22",
987
+ lastUpdated: "2026-09-22",
851
988
  family: "gpt",
852
989
  openWeights: false,
853
990
  structuredOutput: true,
@@ -935,7 +1072,7 @@ export const textModels = [
935
1072
  inputTokenCost: 0.2,
936
1073
  cachedInputTokenCost: 0.02,
937
1074
  outputTokenCost: 1.2,
938
- outputTokensPerSecond: 165,
1075
+ outputTokensPerSecond: 124,
939
1076
  longContext: {
940
1077
  inputTokenCost: 0.4,
941
1078
  cachedInputTokenCost: 0.04,
@@ -1030,14 +1167,14 @@ export const textModels = [
1030
1167
  {
1031
1168
  type: "text",
1032
1169
  modelName: "gemini-3.8-flash",
1033
- description: "Google's most intelligent Flash model (GA September 2, 2026), built on Gemini 3.7 Flash and engineered for long-horizon software engineering, autonomous agents, and complex enterprise workflows. 1M context window, 64K output. Introductory pricing $0.75 input / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Thinking levels low/medium/high — `minimal` returns an error.",
1170
+ description: "Google's most intelligent Flash model (GA September 2, 2026), built on Gemini 3.7 Flash and engineered for long-horizon software engineering, autonomous agents, and complex enterprise workflows. 1M context window, 64K output. Introductory pricing $0.75 input (all modalities, including audio) / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Thinking levels low/medium/high — `minimal` returns an error.",
1034
1171
  maxInputTokens: 1048576,
1035
1172
  maxOutputTokens: 65536,
1036
1173
  inputTokenCost: 0.75,
1037
1174
  cachedInputTokenCost: 0.075,
1038
1175
  outputTokenCost: 3.75,
1039
- outputTokensPerSecond: 329,
1040
- inputAudioTokenCost: 1.5,
1176
+ outputTokensPerSecond: 249,
1177
+ inputAudioTokenCost: 0.75,
1041
1178
  reasoning: {
1042
1179
  levels: ["low", "medium", "high"],
1043
1180
  defaultLevel: "medium",
@@ -1061,14 +1198,14 @@ export const textModels = [
1061
1198
  {
1062
1199
  type: "text",
1063
1200
  modelName: "gemini-3.7-flash",
1064
- description: "Gemini 3.7 Flash (GA August 13, 2026) for complex coding, agentic workflows, and reliable multi-step execution. Superseded by gemini-3.8-flash but fully supported. 1M context window, 64K output. Introductory pricing $0.75 input / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Thinking levels low/medium/high — `minimal` returns an error.",
1201
+ description: "Gemini 3.7 Flash (GA August 13, 2026) for complex coding, agentic workflows, and reliable multi-step execution. Superseded by gemini-3.8-flash but fully supported. 1M context window, 64K output. Introductory pricing $0.75 input (all modalities, including audio) / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Thinking levels low/medium/high — `minimal` returns an error.",
1065
1202
  maxInputTokens: 1048576,
1066
1203
  maxOutputTokens: 65536,
1067
1204
  inputTokenCost: 0.75,
1068
1205
  cachedInputTokenCost: 0.075,
1069
1206
  outputTokenCost: 3.75,
1070
1207
  outputTokensPerSecond: 272,
1071
- inputAudioTokenCost: 1.5,
1208
+ inputAudioTokenCost: 0.75,
1072
1209
  reasoning: {
1073
1210
  levels: ["low", "medium", "high"],
1074
1211
  defaultLevel: "medium",
@@ -1092,16 +1229,17 @@ export const textModels = [
1092
1229
  {
1093
1230
  type: "text",
1094
1231
  modelName: "gemini-3.6-flash",
1095
- description: "Gemini 3.6 Flash (GA July 21, 2026), balancing speed and multimodal capabilities across general agentic and everyday tasks. Superseded by gemini-3.7-flash / gemini-3.8-flash. 1M context window, 64K output. Introductory pricing $0.75 input / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Context caching: $0.075/1M read.",
1232
+ description: "Gemini 3.6 Flash (GA July 21, 2026), balancing speed and multimodal capabilities across general agentic and everyday tasks. Superseded by gemini-3.7-flash / gemini-3.8-flash. 1M context window, 64K output. Introductory pricing $0.75 input (all modalities, including audio) / $3.75 output per 1M through December 31, 2026 ($1.50 / $7.50 thereafter). Context caching: $0.075/1M read.",
1096
1233
  maxInputTokens: 1048576,
1097
1234
  maxOutputTokens: 65536,
1098
1235
  inputTokenCost: 0.75,
1099
1236
  cachedInputTokenCost: 0.075,
1100
1237
  outputTokenCost: 3.75,
1101
- inputAudioTokenCost: 1.5,
1238
+ outputTokensPerSecond: 185,
1239
+ inputAudioTokenCost: 0.75,
1102
1240
  reasoning: {
1103
1241
  levels: ["minimal", "low", "medium", "high"],
1104
- defaultLevel: "high",
1242
+ defaultLevel: "medium",
1105
1243
  canDisable: false,
1106
1244
  outputsThinking: true,
1107
1245
  outputsSignatures: true,
@@ -1128,10 +1266,11 @@ export const textModels = [
1128
1266
  inputTokenCost: 1.5,
1129
1267
  cachedInputTokenCost: 0.15,
1130
1268
  outputTokenCost: 9,
1269
+ outputTokensPerSecond: 211,
1131
1270
  inputAudioTokenCost: 1.5,
1132
1271
  reasoning: {
1133
1272
  levels: ["minimal", "low", "medium", "high"],
1134
- defaultLevel: "high",
1273
+ defaultLevel: "medium",
1135
1274
  canDisable: false,
1136
1275
  outputsThinking: true,
1137
1276
  outputsSignatures: true,
@@ -1152,7 +1291,7 @@ export const textModels = [
1152
1291
  {
1153
1292
  type: "text",
1154
1293
  modelName: "gemini-3-flash-preview",
1155
- description: "Gemini 3 Flash preview. Superseded by gemini-3.5-flash. 1M context window and 64K output. Optimized for agentic workflows and coding.",
1294
+ description: "Gemini 3 Flash preview. Superseded by gemini-3.6-flash (Google's named replacement); no shutdown date announced. 1M context window and 64K output. Optimized for agentic workflows and coding.",
1156
1295
  maxInputTokens: 1048576,
1157
1296
  maxOutputTokens: 65536,
1158
1297
  inputTokenCost: 0.5,
@@ -1190,7 +1329,7 @@ export const textModels = [
1190
1329
  cachedInputTokenCost: 0.03,
1191
1330
  outputTokenCost: 2.5,
1192
1331
  outputTokensPerSecond: 347,
1193
- inputAudioTokenCost: 0.5,
1332
+ inputAudioTokenCost: 0.3,
1194
1333
  reasoning: {
1195
1334
  levels: ["minimal", "low", "medium", "high"],
1196
1335
  defaultLevel: "minimal",
@@ -1214,13 +1353,13 @@ export const textModels = [
1214
1353
  {
1215
1354
  type: "text",
1216
1355
  modelName: "gemini-3.1-flash-lite",
1217
- description: "Cost-effective Gemini 3.1 model (GA). Superseded by gemini-3.5-flash-lite. Thinking support, 1M context window, 64K output. 2.5x faster TTFA and 45% faster output than 2.5 Flash.",
1356
+ description: "Cost-effective Gemini 3.1 model (GA). Superseded by gemini-3.5-flash-lite; scheduled shutdown May 7, 2027. Thinking support, 1M context window, 64K output. 2.5x faster TTFA and 45% faster output than 2.5 Flash.",
1218
1357
  maxInputTokens: 1048576,
1219
1358
  maxOutputTokens: 65536,
1220
1359
  inputTokenCost: 0.25,
1221
1360
  cachedInputTokenCost: 0.025,
1222
1361
  outputTokenCost: 1.5,
1223
- outputTokensPerSecond: 379,
1362
+ outputTokensPerSecond: 267,
1224
1363
  inputAudioTokenCost: 0.5,
1225
1364
  reasoning: {
1226
1365
  levels: ["minimal", "low", "medium", "high"],
@@ -1245,7 +1384,7 @@ export const textModels = [
1245
1384
  {
1246
1385
  type: "text",
1247
1386
  modelName: "gemini-3.1-flash-lite-preview",
1248
- description: "DEPRECATED: Preview version, discontinued July 9, 2026. Use gemini-3.1-flash-lite instead.",
1387
+ description: "DEPRECATED: Preview version, shut down May 25, 2026. Use gemini-3.1-flash-lite instead.",
1249
1388
  maxInputTokens: 1048576,
1250
1389
  maxOutputTokens: 65536,
1251
1390
  inputTokenCost: 0.25,
@@ -1269,13 +1408,13 @@ export const textModels = [
1269
1408
  {
1270
1409
  type: "text",
1271
1410
  modelName: "gemini-2.5-pro",
1272
- description: "High-performance Gemini 2.5 model with 1M context window. Adaptive thinking for complex reasoning and coding. Standard pricing for ≤200k tokens ($1.25 input/$10.00 output), higher rates for >200k tokens ($2.50 input/$15.00 output). Batch API: 50% discount.",
1411
+ description: "High-performance Gemini 2.5 model with 1M context window. Adaptive thinking for complex reasoning and coding. Standard pricing for ≤200k tokens ($1.25 input/$10.00 output), higher rates for >200k tokens ($2.50 input/$15.00 output). Batch API: 50% discount. Since September 18, 2026, access is limited to projects that have used it before (not deprecated; served until further notice).",
1273
1412
  maxInputTokens: 1048576,
1274
1413
  maxOutputTokens: 65536,
1275
1414
  inputTokenCost: 1.25,
1276
1415
  cachedInputTokenCost: 0.125,
1277
1416
  outputTokenCost: 10,
1278
- outputTokensPerSecond: 145,
1417
+ outputTokensPerSecond: 122,
1279
1418
  longContext: {
1280
1419
  inputTokenCost: 2.5,
1281
1420
  cachedInputTokenCost: 0.25,
@@ -1303,7 +1442,7 @@ export const textModels = [
1303
1442
  {
1304
1443
  type: "text",
1305
1444
  modelName: "gemini-2.5-flash",
1306
- description: "Balanced Gemini 2.5 model with excellent performance-to-cost ratio. Lightning-fast with controllable thinking budgets. 1M context window. Context caching available for up to 75% cost reduction.",
1445
+ description: "Balanced Gemini 2.5 model with excellent performance-to-cost ratio. Lightning-fast with controllable thinking budgets. 1M context window. Context caching available for up to 75% cost reduction. Since September 18, 2026, access is limited to projects that have used it before (not deprecated; served until further notice).",
1307
1446
  maxInputTokens: 1048576,
1308
1447
  maxOutputTokens: 65536,
1309
1448
  inputTokenCost: 0.3,
@@ -1337,13 +1476,13 @@ export const textModels = [
1337
1476
  {
1338
1477
  type: "text",
1339
1478
  modelName: "gemini-2.5-flash-lite",
1340
- description: "Most cost-effective Gemini 2.5 option for high-throughput applications. 1M context window.",
1479
+ description: "Most cost-effective Gemini 2.5 option for high-throughput applications. 1M context window. Since September 18, 2026, access is limited to projects that have used it before (not deprecated; served until further notice).",
1341
1480
  maxInputTokens: 1048576,
1342
1481
  maxOutputTokens: 65536,
1343
1482
  inputTokenCost: 0.1,
1344
1483
  cachedInputTokenCost: 0.01,
1345
1484
  outputTokenCost: 0.4,
1346
- outputTokensPerSecond: 400,
1485
+ outputTokensPerSecond: 297,
1347
1486
  inputAudioTokenCost: 0.3,
1348
1487
  reasoning: {
1349
1488
  canDisable: true,
@@ -1458,10 +1597,41 @@ export const textModels = [
1458
1597
  disabled: true,
1459
1598
  provider: "google",
1460
1599
  },
1600
+ {
1601
+ type: "text",
1602
+ modelName: "claude-opus-5-5",
1603
+ description: "Anthropic's recommended default model (released 2026-09-22), superseding claude-opus-5 at a lower price. Cache reads are 0.05x base input ($0.20/MTok) rather than the standard 0.1x. Adaptive thinking is always on (cannot be disabled — `disabled` or `budget_tokens` returns a 400) and defaults to effort `medium`; thinking text is omitted unless requested. Forced tool use (tool_choice any/tool) returns a 400. 1M context window, 128K max output.",
1604
+ maxInputTokens: 1000000,
1605
+ maxOutputTokens: 128000,
1606
+ inputTokenCost: 4,
1607
+ cachedInputTokenCost: 0.2,
1608
+ cacheCreationInputTokenCost: 5,
1609
+ outputTokenCost: 20,
1610
+ outputTokensPerSecond: 92,
1611
+ reasoning: {
1612
+ thinkingStyle: "adaptive",
1613
+ levels: ["low", "medium", "high", "xhigh", "max"],
1614
+ defaultLevel: "medium",
1615
+ canDisable: false,
1616
+ outputsThinking: true,
1617
+ outputsSignatures: true,
1618
+ },
1619
+ modalities: {
1620
+ input: ["text", "image", "pdf"],
1621
+ output: ["text"],
1622
+ },
1623
+ knowledge: "2026-06",
1624
+ releaseDate: "2026-09-22",
1625
+ lastUpdated: "2026-09-22",
1626
+ family: "claude-opus",
1627
+ openWeights: false,
1628
+ temperatureSupported: false,
1629
+ provider: "anthropic",
1630
+ },
1461
1631
  {
1462
1632
  type: "text",
1463
1633
  modelName: "claude-fable-5-1",
1464
- description: "Anthropic's most capable widely released model, for the most demanding reasoning and long-horizon agentic work. Successor to claude-fable-5 in the same tier at the same per-token price, but cache reads are 0.025x base input ($0.25/MTok) rather than the standard 0.1x. Thinking is always on (cannot be disabled); the raw chain of thought is never returned. Forced tool use (tool_choice any/tool) returns a 400. Requires 30-day data retention (not available under zero data retention). 1M context window, 128K max output.",
1634
+ description: "Anthropic's most capable widely released model, for the most demanding reasoning and long-horizon agentic work (claude-opus-5-5 is the recommended default for everything else). Successor to claude-fable-5 in the same tier at the same per-token price, but cache reads are 0.025x base input ($0.25/MTok) rather than the standard 0.1x. Thinking is always on (cannot be disabled); the raw chain of thought is never returned. Forced tool use (tool_choice any/tool) returns a 400. Requires 30-day data retention (not available under zero data retention). 1M context window, 128K max output.",
1465
1635
  maxInputTokens: 1000000,
1466
1636
  maxOutputTokens: 128000,
1467
1637
  inputTokenCost: 10,
@@ -1492,7 +1662,7 @@ export const textModels = [
1492
1662
  {
1493
1663
  type: "text",
1494
1664
  modelName: "claude-opus-5",
1495
- description: "Opus-tier model above Opus 4.8, strongest on deep reasoning, agentic and long-horizon work, at half the cost of claude-fable-5-1. Thinking is on by default; it can be disabled only at effort `high` or below (xhigh/max return a 400). 1M context window, 128K max output.",
1665
+ description: "Legacy Opus-tier model, superseded by claude-opus-5-5 (which is cheaper at $4/$20). Strong on deep reasoning, agentic and long-horizon work. Thinking is on by default; it can be disabled only at effort `high` or below (xhigh/max return a 400). 1M context window, 128K max output.",
1496
1666
  maxInputTokens: 1000000,
1497
1667
  maxOutputTokens: 128000,
1498
1668
  inputTokenCost: 5,
@@ -1554,16 +1724,19 @@ export const textModels = [
1554
1724
  {
1555
1725
  type: "text",
1556
1726
  modelName: "claude-opus-4-8",
1557
- description: "The most capable Claude model for complex reasoning and agentic coding. Same per-token pricing as Opus 4.7 with improved tool-use efficiency (~290 tokens for tool-use system prompt vs 675 on 4.7). 1M context window, 128K max output.",
1727
+ description: "Claude Opus 4.8 — legacy model; prefer claude-opus-5-5. Same per-token pricing as Opus 4.7 with improved tool-use efficiency (~290 tokens for tool-use system prompt vs 675 on 4.7). Adaptive thinking is off by default. 1M context window, 128K max output.",
1558
1728
  maxInputTokens: 1000000,
1559
1729
  maxOutputTokens: 128000,
1560
1730
  inputTokenCost: 5,
1561
1731
  cachedInputTokenCost: 0.5,
1562
1732
  cacheCreationInputTokenCost: 6.25,
1563
1733
  outputTokenCost: 25,
1734
+ outputTokensPerSecond: 61,
1564
1735
  reasoning: {
1565
1736
  thinkingStyle: "adaptive",
1566
- canDisable: false,
1737
+ levels: ["low", "medium", "high", "xhigh", "max"],
1738
+ defaultLevel: "high",
1739
+ canDisable: true,
1567
1740
  outputsThinking: true,
1568
1741
  outputsSignatures: true,
1569
1742
  },
@@ -1571,6 +1744,7 @@ export const textModels = [
1571
1744
  input: ["text", "image", "pdf"],
1572
1745
  output: ["text"],
1573
1746
  },
1747
+ knowledge: "2026-01",
1574
1748
  releaseDate: "2026-05-28",
1575
1749
  lastUpdated: "2026-05-28",
1576
1750
  family: "claude-opus",
@@ -1588,10 +1762,12 @@ export const textModels = [
1588
1762
  cachedInputTokenCost: 0.5,
1589
1763
  cacheCreationInputTokenCost: 6.25,
1590
1764
  outputTokenCost: 25,
1591
- outputTokensPerSecond: 72,
1765
+ outputTokensPerSecond: 48,
1592
1766
  reasoning: {
1593
1767
  thinkingStyle: "adaptive",
1594
- canDisable: false,
1768
+ levels: ["low", "medium", "high", "xhigh", "max"],
1769
+ defaultLevel: "high",
1770
+ canDisable: true,
1595
1771
  outputsThinking: true,
1596
1772
  outputsSignatures: true,
1597
1773
  },
@@ -1610,16 +1786,18 @@ export const textModels = [
1610
1786
  {
1611
1787
  type: "text",
1612
1788
  modelName: "claude-opus-4-6",
1613
- description: "Claude Opus 4.6 — legacy model. Use claude-opus-4-7 instead. 1M context window, 128K max output.",
1789
+ description: "Claude Opus 4.6 — legacy model. Use claude-opus-5-5 instead. 1M context window, 128K max output.",
1614
1790
  maxInputTokens: 1000000,
1615
1791
  maxOutputTokens: 128000,
1616
1792
  inputTokenCost: 5,
1617
1793
  cachedInputTokenCost: 0.5,
1618
1794
  cacheCreationInputTokenCost: 6.25,
1619
1795
  outputTokenCost: 25,
1620
- outputTokensPerSecond: 53,
1796
+ outputTokensPerSecond: 38,
1621
1797
  reasoning: {
1622
1798
  thinkingStyle: "adaptive",
1799
+ levels: ["low", "medium", "high", "max"],
1800
+ defaultLevel: "high",
1623
1801
  canDisable: true,
1624
1802
  outputsThinking: true,
1625
1803
  outputsSignatures: true,
@@ -1636,10 +1814,40 @@ export const textModels = [
1636
1814
  temperatureSupported: true,
1637
1815
  provider: "anthropic",
1638
1816
  },
1817
+ {
1818
+ type: "text",
1819
+ modelName: "claude-sonnet-5-5",
1820
+ description: "Current Sonnet-tier model (released 2026-09-28), superseding claude-sonnet-5 at the same price. Adaptive thinking is always on and defaults to effort `high`; `thinking: {type: \"disabled\"}` and `budget_tokens` return a 400. The lowest setting is `thinking: {type: \"between_tools\"}` (low/medium/high effort only), which skips up-front thinking but still emits short thinking blocks between tool calls. Thinking text is omitted unless requested. Forced tool use (tool_choice any/tool) and non-default temperature/top_p/top_k return a 400. Same tokenizer as Sonnet 5. 1M context window, 128K max output.",
1821
+ maxInputTokens: 1000000,
1822
+ maxOutputTokens: 128000,
1823
+ inputTokenCost: 2,
1824
+ cachedInputTokenCost: 0.2,
1825
+ cacheCreationInputTokenCost: 2.5,
1826
+ outputTokenCost: 10,
1827
+ reasoning: {
1828
+ thinkingStyle: "adaptive",
1829
+ levels: ["low", "medium", "high", "xhigh", "max"],
1830
+ defaultLevel: "high",
1831
+ canDisable: false,
1832
+ outputsThinking: true,
1833
+ outputsSignatures: true,
1834
+ },
1835
+ modalities: {
1836
+ input: ["text", "image", "pdf"],
1837
+ output: ["text"],
1838
+ },
1839
+ knowledge: "2026-06",
1840
+ releaseDate: "2026-09-28",
1841
+ lastUpdated: "2026-09-28",
1842
+ family: "claude-sonnet",
1843
+ openWeights: false,
1844
+ temperatureSupported: false,
1845
+ provider: "anthropic",
1846
+ },
1639
1847
  {
1640
1848
  type: "text",
1641
1849
  modelName: "claude-sonnet-5",
1642
- description: "The best combination of speed and intelligence in the Sonnet tier, with near-Opus quality on coding and agentic work. Adaptive thinking on by default; supports the full low/medium/high/xhigh/max effort range. New tokenizer (~30% more tokens for the same text vs Sonnet 4.6). The $2/$10 per MTok launch rate is now the standard price — the increase to $3/$15 scheduled for 2026-09-01 was cancelled. 1M context window, 128K max output.",
1850
+ description: "Legacy Sonnet-tier model, superseded by claude-sonnet-5-5 at the same price. Near-Opus quality on coding and agentic work. Adaptive thinking on by default; supports the full low/medium/high/xhigh/max effort range. New tokenizer (~30% more tokens for the same text vs Sonnet 4.6). The $2/$10 per MTok launch rate is now the standard price — the increase to $3/$15 scheduled for 2026-09-01 was cancelled. 1M context window, 128K max output.",
1643
1851
  maxInputTokens: 1000000,
1644
1852
  maxOutputTokens: 128000,
1645
1853
  inputTokenCost: 2,
@@ -1680,6 +1888,8 @@ export const textModels = [
1680
1888
  outputTokensPerSecond: 52,
1681
1889
  reasoning: {
1682
1890
  thinkingStyle: "adaptive",
1891
+ levels: ["low", "medium", "high", "max"],
1892
+ defaultLevel: "high",
1683
1893
  canDisable: true,
1684
1894
  outputsThinking: true,
1685
1895
  outputsSignatures: true,
@@ -1765,6 +1975,7 @@ export const textModels = [
1765
1975
  cachedInputTokenCost: 0.1,
1766
1976
  cacheCreationInputTokenCost: 1.25,
1767
1977
  outputTokenCost: 5,
1978
+ outputTokensPerSecond: 97,
1768
1979
  reasoning: {
1769
1980
  thinkingStyle: "budget",
1770
1981
  canDisable: true,
@@ -1786,13 +1997,14 @@ export const textModels = [
1786
1997
  {
1787
1998
  type: "text",
1788
1999
  modelName: "claude-opus-4-5",
1789
- description: "Claude Opus 4.5 — earlier Opus generation. Prefer claude-opus-4-8.",
2000
+ description: "Claude Opus 4.5 — earlier Opus generation. Prefer claude-opus-5-5. Supports the effort parameter alongside budget_tokens thinking.",
1790
2001
  maxInputTokens: 200000,
1791
2002
  maxOutputTokens: 64000,
1792
2003
  inputTokenCost: 5,
1793
2004
  cachedInputTokenCost: 0.5,
1794
2005
  cacheCreationInputTokenCost: 6.25,
1795
2006
  outputTokenCost: 25,
2007
+ outputTokensPerSecond: 49,
1796
2008
  reasoning: {
1797
2009
  thinkingStyle: "budget",
1798
2010
  canDisable: true,
@@ -1814,13 +2026,14 @@ export const textModels = [
1814
2026
  {
1815
2027
  type: "text",
1816
2028
  modelName: "claude-sonnet-4-5",
1817
- description: "Claude Sonnet 4.5 — earlier Sonnet generation. Prefer claude-sonnet-4-6.",
2029
+ description: "Claude Sonnet 4.5 — earlier Sonnet generation. Deprecated 2026-09-30; retires November 30, 2026. Migrate to claude-sonnet-5-5.",
1818
2030
  maxInputTokens: 200000,
1819
2031
  maxOutputTokens: 64000,
1820
2032
  inputTokenCost: 3,
1821
2033
  cachedInputTokenCost: 0.3,
1822
2034
  cacheCreationInputTokenCost: 3.75,
1823
2035
  outputTokenCost: 15,
2036
+ outputTokensPerSecond: 46,
1824
2037
  reasoning: {
1825
2038
  thinkingStyle: "budget",
1826
2039
  canDisable: true,
@@ -1842,7 +2055,7 @@ export const textModels = [
1842
2055
  {
1843
2056
  type: "text",
1844
2057
  modelName: "gpt-5-pro",
1845
- description: "GPT-5 Pro uses more compute for complex reasoning tasks. Available via the Responses API.",
2058
+ description: "GPT-5 Pro uses more compute for complex reasoning tasks. Available via the Responses API. Scheduled shutdown December 11, 2026 (announced 2026-06-11); migrate to gpt-5.6-sol with pro reasoning.",
1846
2059
  maxInputTokens: 400000,
1847
2060
  maxOutputTokens: 272000,
1848
2061
  inputTokenCost: 15,
@@ -1884,6 +2097,7 @@ export const imageModels = [
1884
2097
  type: "image",
1885
2098
  modelName: "gpt-image-1",
1886
2099
  provider: "openai",
2100
+ description: "Scheduled shutdown October 23, 2026; migrate to gpt-image-2.5-sunburst or gpt-image-2.5-flare.",
1887
2101
  // Token-based pricing per https://platform.openai.com/docs/models/gpt-image-1
1888
2102
  inputTokenCost: 5,
1889
2103
  cachedInputTokenCost: 1.25,
@@ -1892,12 +2106,43 @@ export const imageModels = [
1892
2106
  // Rough per-image fallback estimate when usage is unavailable.
1893
2107
  costPerImage: 0.25,
1894
2108
  },
2109
+ {
2110
+ type: "image",
2111
+ modelName: "gpt-image-2",
2112
+ provider: "openai",
2113
+ description: "Replacement for gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest (those shut down 2026-12-01).",
2114
+ inputTokenCost: 5,
2115
+ cachedInputTokenCost: 1.25,
2116
+ inputImageTokenCost: 8,
2117
+ outputImageTokenCost: 30,
2118
+ },
2119
+ {
2120
+ type: "image",
2121
+ modelName: "gpt-image-2.5-sunburst",
2122
+ provider: "openai",
2123
+ description: "GPT Image 2.5 Sunburst (released 2026-09-08). Quality low/medium/high/xhigh/max/auto. Cached image input $2/1M; text output is not billed.",
2124
+ inputTokenCost: 5,
2125
+ cachedInputTokenCost: 1.25,
2126
+ inputImageTokenCost: 8,
2127
+ outputImageTokenCost: 30,
2128
+ },
2129
+ {
2130
+ type: "image",
2131
+ modelName: "gpt-image-2.5-flare",
2132
+ provider: "openai",
2133
+ description: "GPT Image 2.5 Flare (released 2026-09-08). Quality low/medium/high/xhigh/max/auto. Cached image input $2/1M; text output is not billed.",
2134
+ inputTokenCost: 5,
2135
+ cachedInputTokenCost: 1.25,
2136
+ inputImageTokenCost: 8,
2137
+ outputImageTokenCost: 30,
2138
+ },
1895
2139
  {
1896
2140
  type: "image",
1897
2141
  modelName: "gemini-2.5-flash-image",
1898
2142
  provider: "google",
1899
- description: "aka nano-banana. Graduated from preview (was gemini-2.5-flash-image-preview).",
1900
- costPerImage: 0.04,
2143
+ description: "aka nano-banana. RETIRED: shut down October 2, 2026. Use gemini-3.1-flash-image or gemini-3.1-flash-lite-image.",
2144
+ costPerImage: 0.039,
2145
+ disabled: true,
1901
2146
  },
1902
2147
  {
1903
2148
  type: "image",
@@ -1910,8 +2155,16 @@ export const imageModels = [
1910
2155
  type: "image",
1911
2156
  modelName: "gemini-3-pro-image-preview",
1912
2157
  provider: "google",
1913
- description: "High-fidelity image generation with reasoning-enhanced composition. Supports legible text rendering, complex multi-turn editing, and character consistency using up to 14 reference inputs.",
2158
+ description: "DEPRECATED: Preview version, shut down June 25, 2026. Use gemini-3-pro-image instead.",
1914
2159
  costPerImage: 0.05,
2160
+ disabled: true,
2161
+ },
2162
+ {
2163
+ type: "image",
2164
+ modelName: "gemini-3-pro-image",
2165
+ provider: "google",
2166
+ description: "aka Nano Banana Pro (GA 2026-05-28). High-fidelity image generation with reasoning-enhanced composition. Supports legible text rendering, complex multi-turn editing, and character consistency using up to 14 reference inputs. $0.134/image at 1K or 2K, $0.24 at 4K; text input $2/1M, text/thinking output $12/1M.",
2167
+ costPerImage: 0.134,
1915
2168
  },
1916
2169
  {
1917
2170
  type: "image",
@@ -1932,7 +2185,7 @@ export const imageModels = [
1932
2185
  type: "image",
1933
2186
  modelName: "gemini-3.1-flash-lite-image",
1934
2187
  provider: "google",
1935
- description: "aka Nano Banana 2 Lite (GA 2026-06-30). Fastest, most cost-effective Gemini image model (~4s generation). ~$0.034/image at 1K. Recommended replacement for gemini-2.5-flash-image.",
2188
+ description: "aka Nano Banana 2 Lite (GA 2026-06-30). Fastest, most cost-effective Gemini image model (~4s generation). ~$0.034/image at 1K.",
1936
2189
  costPerImage: 0.034,
1937
2190
  },
1938
2191
  ];
@@ -1960,6 +2213,13 @@ export const embeddingsModels = [
1960
2213
  modelName: "gemini-embedding-2-preview",
1961
2214
  provider: "google",
1962
2215
  tokenCost: 0.2,
2216
+ disabled: true, // shut down 2026-08-10; use gemini-embedding-2
2217
+ },
2218
+ {
2219
+ type: "embeddings",
2220
+ modelName: "gemini-embedding-2",
2221
+ provider: "google",
2222
+ tokenCost: 0.2,
1963
2223
  },
1964
2224
  ];
1965
2225
  export const decisionModels = [
@@ -2019,7 +2279,7 @@ export const hostedTools = [
2019
2279
  category: "web_search",
2020
2280
  description: "Server-side web search (Responses API).",
2021
2281
  providerToolId: "web_search",
2022
- pricing: { unit: "per_call", amount: 0.01, note: "$10/1k standard; $25/1k preview non-reasoning; plus ~8k input tokens per call. Varies by search_context_size." },
2282
+ pricing: { unit: "per_call", amount: 0.01, note: "$10/1k standard; $25/1k preview non-reasoning (search tokens free); otherwise search tokens billed at model rates." },
2023
2283
  },
2024
2284
  {
2025
2285
  name: "file_search",
@@ -2035,15 +2295,15 @@ export const hostedTools = [
2035
2295
  category: "code_execution",
2036
2296
  description: "Run Python in a sandboxed container.",
2037
2297
  providerToolId: "code_interpreter",
2038
- pricing: { unit: "per_session", amount: 0.03, note: "Per container session." },
2298
+ pricing: { unit: "per_session", amount: 0.03, note: "$0.03 per 20-minute session (1 GB container); $0.12 for 4 GB, $0.48 for 16 GB, $1.92 for 64 GB." },
2039
2299
  },
2040
2300
  {
2041
2301
  name: "image_generation",
2042
2302
  provider: "openai-responses",
2043
2303
  category: "image_generation",
2044
- description: "Generate images with gpt-image-1 as a tool.",
2304
+ description: "Generate images with a GPT Image model as a tool.",
2045
2305
  providerToolId: "image_generation",
2046
- pricing: { unit: "tokens", note: "gpt-image-1 token pricing: $5/$10/$40 per 1M text-in/image-in/image-out." },
2306
+ pricing: { unit: "tokens", note: "Billed at the image model's token rates: gpt-image-2.5-sunburst/flare $5/$8/$30 per 1M text-in/image-in/image-out; gpt-image-1 (shuts down 2026-10-23) $5/$10/$40." },
2047
2307
  },
2048
2308
  {
2049
2309
  name: "google_search",
@@ -2054,7 +2314,7 @@ export const hostedTools = [
2054
2314
  pricing: {
2055
2315
  unit: "per_call",
2056
2316
  amount: 0.014,
2057
- freeAllowance: "5,000 grounded prompts/month (Gemini 3)",
2317
+ freeAllowance: "5,000 search requests/month (shared across Gemini 3 models)",
2058
2318
  note: "Billed per query; a request may issue multiple queries.",
2059
2319
  perModel: {
2060
2320
  "gemini-2.5-pro": { amount: 0.035, freeAllowance: "1,500/day shared", note: "Billed per prompt (Gemini 2.5)." },
@@ -2083,26 +2343,31 @@ export const hostedTools = [
2083
2343
  name: "maps_grounding",
2084
2344
  provider: "google",
2085
2345
  category: "maps_grounding",
2086
- description: "Grounding with Google Maps (Gemini 3 only).",
2346
+ description: "Grounding with Google Maps (Gemini 3 and Gemini 2.5).",
2087
2347
  providerToolId: "google_maps",
2088
- models: ["gemini-3-pro-preview", "gemini-3.1-pro-preview", "gemini-3-flash-preview", "gemini-3.5-flash", "gemini-3.6-flash", "gemini-3.7-flash", "gemini-3.8-flash", "gemini-3.1-flash-lite", "gemini-3.5-flash-lite"],
2348
+ models: ["gemini-3-pro-preview", "gemini-3.1-pro-preview", "gemini-3-flash-preview", "gemini-3.5-flash", "gemini-3.6-flash", "gemini-3.7-flash", "gemini-3.8-flash", "gemini-3.1-flash-lite", "gemini-3.5-flash-lite", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite"],
2089
2349
  pricing: {
2090
2350
  unit: "per_call",
2091
2351
  amount: 0.014,
2092
2352
  freeAllowance: "5,000 grounded prompts/month (Gemini 3)",
2093
2353
  note: "$14 per 1,000 search queries on the Gemini 3 family.",
2354
+ perModel: {
2355
+ "gemini-2.5-pro": { amount: 0.025, freeAllowance: "10,000/day", note: "$25 per 1,000 grounded prompts (Gemini 2.5)." },
2356
+ "gemini-2.5-flash": { amount: 0.025, freeAllowance: "1,500/day", note: "$25 per 1,000 grounded prompts (Gemini 2.5)." },
2357
+ "gemini-2.5-flash-lite": { amount: 0.025, freeAllowance: "1,500/day", note: "$25 per 1,000 grounded prompts (Gemini 2.5)." },
2358
+ },
2094
2359
  },
2095
2360
  },
2096
2361
  {
2097
2362
  name: "web_search",
2098
2363
  provider: "openrouter",
2099
2364
  category: "web_search",
2100
- description: "Web search via OpenRouter's web plugin (Exa-backed). Adds citations as annotations.",
2365
+ description: "Web search via OpenRouter's web plugin (native search where the model supports it, otherwise Exa). Adds citations as annotations. OpenRouter has deprecated the plugin in favor of the openrouter:web_search server tool.",
2101
2366
  providerToolId: "web",
2102
2367
  pricing: {
2103
2368
  unit: "per_call",
2104
- amount: 0.02,
2105
- note: "$4 per 1,000 results returned by the web plugin × default 5 results/call = $0.02/call. Plus token cost for inserted context. If you override max_results, scale this accordingly.",
2369
+ amount: 0.007,
2370
+ note: "Exa auto: $0.007 per request, including up to 10 results; $0.001 per additional result. Exa Deep $0.012, Deep Reasoning $0.015. Plus token cost for inserted context. Native search is billed at the model provider's own rate.",
2106
2371
  },
2107
2372
  },
2108
2373
  ];