patch-code 0.1.0__py3-none-any.whl

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 (153) hide show
  1. patch/__init__.py +3 -0
  2. patch/__main__.py +4 -0
  3. patch/analytics.py +268 -0
  4. patch/args.py +949 -0
  5. patch/args_formatter.py +227 -0
  6. patch/coders/__init__.py +34 -0
  7. patch/coders/architect_coder.py +48 -0
  8. patch/coders/architect_prompts.py +40 -0
  9. patch/coders/ask_coder.py +9 -0
  10. patch/coders/ask_prompts.py +41 -0
  11. patch/coders/base_coder.py +2485 -0
  12. patch/coders/base_prompts.py +60 -0
  13. patch/coders/chat_chunks.py +64 -0
  14. patch/coders/context_coder.py +53 -0
  15. patch/coders/context_prompts.py +75 -0
  16. patch/coders/editblock_coder.py +657 -0
  17. patch/coders/editblock_fenced_coder.py +10 -0
  18. patch/coders/editblock_fenced_prompts.py +143 -0
  19. patch/coders/editblock_func_coder.py +141 -0
  20. patch/coders/editblock_func_prompts.py +27 -0
  21. patch/coders/editblock_prompts.py +172 -0
  22. patch/coders/editor_diff_fenced_coder.py +9 -0
  23. patch/coders/editor_diff_fenced_prompts.py +11 -0
  24. patch/coders/editor_editblock_coder.py +8 -0
  25. patch/coders/editor_editblock_prompts.py +18 -0
  26. patch/coders/editor_whole_coder.py +8 -0
  27. patch/coders/editor_whole_prompts.py +10 -0
  28. patch/coders/help_coder.py +16 -0
  29. patch/coders/help_prompts.py +46 -0
  30. patch/coders/patch_coder.py +706 -0
  31. patch/coders/patch_prompts.py +159 -0
  32. patch/coders/search_replace.py +757 -0
  33. patch/coders/shell.py +37 -0
  34. patch/coders/single_wholefile_func_coder.py +102 -0
  35. patch/coders/single_wholefile_func_prompts.py +27 -0
  36. patch/coders/udiff_coder.py +429 -0
  37. patch/coders/udiff_prompts.py +113 -0
  38. patch/coders/udiff_simple.py +14 -0
  39. patch/coders/udiff_simple_prompts.py +25 -0
  40. patch/coders/wholefile_coder.py +144 -0
  41. patch/coders/wholefile_func_coder.py +134 -0
  42. patch/coders/wholefile_func_prompts.py +27 -0
  43. patch/coders/wholefile_prompts.py +64 -0
  44. patch/commands.py +1712 -0
  45. patch/copypaste.py +72 -0
  46. patch/deprecated.py +126 -0
  47. patch/diffs.py +128 -0
  48. patch/docs/__init__.py +1 -0
  49. patch/docs/analytics.md +28 -0
  50. patch/docs/config.md +43 -0
  51. patch/docs/git.md +22 -0
  52. patch/docs/install.md +54 -0
  53. patch/docs/models.md +59 -0
  54. patch/docs/troubleshooting.md +23 -0
  55. patch/docs/usage.md +47 -0
  56. patch/dump.py +29 -0
  57. patch/editor.py +147 -0
  58. patch/exceptions.py +113 -0
  59. patch/format_settings.py +26 -0
  60. patch/gui.py +545 -0
  61. patch/help.py +118 -0
  62. patch/history.py +143 -0
  63. patch/io.py +1191 -0
  64. patch/linter.py +304 -0
  65. patch/llm.py +47 -0
  66. patch/main.py +1274 -0
  67. patch/mdstream.py +243 -0
  68. patch/models.py +1338 -0
  69. patch/onboarding.py +428 -0
  70. patch/openrouter.py +128 -0
  71. patch/prompts.py +61 -0
  72. patch/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  73. patch/queries/tree-sitter-language-pack/bash-tags.scm +8 -0
  74. patch/queries/tree-sitter-language-pack/c-tags.scm +9 -0
  75. patch/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  76. patch/queries/tree-sitter-language-pack/clojure-tags.scm +7 -0
  77. patch/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
  78. patch/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
  79. patch/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
  80. patch/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  81. patch/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
  82. patch/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  83. patch/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
  84. patch/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
  85. patch/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  86. patch/queries/tree-sitter-language-pack/go-tags.scm +42 -0
  87. patch/queries/tree-sitter-language-pack/java-tags.scm +20 -0
  88. patch/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
  89. patch/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
  90. patch/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
  91. patch/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  92. patch/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
  93. patch/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  94. patch/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  95. patch/queries/tree-sitter-language-pack/python-tags.scm +14 -0
  96. patch/queries/tree-sitter-language-pack/r-tags.scm +21 -0
  97. patch/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  98. patch/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
  99. patch/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
  100. patch/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  101. patch/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
  102. patch/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  103. patch/queries/tree-sitter-languages/bash-tags.scm +8 -0
  104. patch/queries/tree-sitter-languages/c-tags.scm +9 -0
  105. patch/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
  106. patch/queries/tree-sitter-languages/cpp-tags.scm +15 -0
  107. patch/queries/tree-sitter-languages/dart-tags.scm +91 -0
  108. patch/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  109. patch/queries/tree-sitter-languages/elixir-tags.scm +54 -0
  110. patch/queries/tree-sitter-languages/elm-tags.scm +19 -0
  111. patch/queries/tree-sitter-languages/fortran-tags.scm +15 -0
  112. patch/queries/tree-sitter-languages/go-tags.scm +30 -0
  113. patch/queries/tree-sitter-languages/haskell-tags.scm +3 -0
  114. patch/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  115. patch/queries/tree-sitter-languages/java-tags.scm +20 -0
  116. patch/queries/tree-sitter-languages/javascript-tags.scm +88 -0
  117. patch/queries/tree-sitter-languages/julia-tags.scm +60 -0
  118. patch/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
  119. patch/queries/tree-sitter-languages/matlab-tags.scm +10 -0
  120. patch/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  121. patch/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
  122. patch/queries/tree-sitter-languages/php-tags.scm +26 -0
  123. patch/queries/tree-sitter-languages/python-tags.scm +12 -0
  124. patch/queries/tree-sitter-languages/ql-tags.scm +26 -0
  125. patch/queries/tree-sitter-languages/ruby-tags.scm +64 -0
  126. patch/queries/tree-sitter-languages/rust-tags.scm +60 -0
  127. patch/queries/tree-sitter-languages/scala-tags.scm +65 -0
  128. patch/queries/tree-sitter-languages/typescript-tags.scm +41 -0
  129. patch/queries/tree-sitter-languages/zig-tags.scm +3 -0
  130. patch/reasoning_tags.py +82 -0
  131. patch/repo.py +622 -0
  132. patch/repomap.py +867 -0
  133. patch/report.py +200 -0
  134. patch/resources/__init__.py +3 -0
  135. patch/resources/model-metadata.json +715 -0
  136. patch/resources/model-settings.yml +3128 -0
  137. patch/run_cmd.py +132 -0
  138. patch/scrape.py +284 -0
  139. patch/sendchat.py +61 -0
  140. patch/special.py +203 -0
  141. patch/urls.py +17 -0
  142. patch/utils.py +348 -0
  143. patch/versioncheck.py +130 -0
  144. patch/voice.py +187 -0
  145. patch/waiting.py +221 -0
  146. patch/watch.py +318 -0
  147. patch/watch_prompts.py +12 -0
  148. patch_code-0.1.0.dist-info/METADATA +467 -0
  149. patch_code-0.1.0.dist-info/RECORD +153 -0
  150. patch_code-0.1.0.dist-info/WHEEL +5 -0
  151. patch_code-0.1.0.dist-info/entry_points.txt +2 -0
  152. patch_code-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
  153. patch_code-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,715 @@
1
+ {
2
+ "deepseek/deepseek-reasoner": {
3
+ "max_tokens": 64000,
4
+ "max_input_tokens": 128000,
5
+ "max_output_tokens": 64000,
6
+ "input_cost_per_token": 0.00000028,
7
+ "input_cost_per_token_cache_hit": 0.000000028,
8
+ "cache_read_input_token_cost": 0.000000028,
9
+ "cache_creation_input_token_cost": 0.0,
10
+ "output_cost_per_token": 0.00000042,
11
+ "litellm_provider": "deepseek",
12
+ "mode": "chat",
13
+ //"supports_function_calling": true,
14
+ "supports_assistant_prefill": true,
15
+ "supports_tool_choice": false,
16
+ "supports_prompt_caching": true
17
+ },
18
+ "deepseek/deepseek-chat": {
19
+ "max_tokens": 8192,
20
+ "max_input_tokens": 128000,
21
+ "max_output_tokens": 8192,
22
+ "input_cost_per_token": 0.00000028,
23
+ "input_cost_per_token_cache_hit": 0.000000028,
24
+ "cache_read_input_token_cost": 0.000000028,
25
+ "cache_creation_input_token_cost": 0.0,
26
+ "output_cost_per_token": 0.00000042,
27
+ "litellm_provider": "deepseek",
28
+ "mode": "chat",
29
+ //"supports_function_calling": true,
30
+ "supports_assistant_prefill": true,
31
+ //"supports_tool_choice": true,
32
+ "supports_prompt_caching": true
33
+ },
34
+ "openrouter/deepseek/deepseek-r1:free": {
35
+ "max_tokens": 8192,
36
+ "max_input_tokens": 64000,
37
+ "max_output_tokens": 8192,
38
+ "input_cost_per_token": 0.0,
39
+ "input_cost_per_token_cache_hit": 0.0,
40
+ "cache_read_input_token_cost": 0.00,
41
+ "cache_creation_input_token_cost": 0.0,
42
+ "output_cost_per_token": 0.0,
43
+ "litellm_provider": "openrouter",
44
+ "mode": "chat",
45
+ //"supports_function_calling": true,
46
+ "supports_assistant_prefill": true,
47
+ //"supports_tool_choice": true,
48
+ "supports_prompt_caching": true
49
+ },
50
+ "openrouter/deepseek/deepseek-chat:free": {
51
+ "max_tokens": 8192,
52
+ "max_input_tokens": 64000,
53
+ "max_output_tokens": 8192,
54
+ "input_cost_per_token": 0.0,
55
+ "input_cost_per_token_cache_hit": 0.0,
56
+ "cache_read_input_token_cost": 0.00,
57
+ "cache_creation_input_token_cost": 0.0,
58
+ "output_cost_per_token": 0.0,
59
+ "litellm_provider": "openrouter",
60
+ "mode": "chat",
61
+ //"supports_function_calling": true,
62
+ "supports_assistant_prefill": true,
63
+ //"supports_tool_choice": true,
64
+ "supports_prompt_caching": true
65
+ },
66
+ "openrouter/deepseek/deepseek-chat-v3-0324": {
67
+ "max_tokens": 8192,
68
+ "max_input_tokens": 131072,
69
+ "max_output_tokens": 8192,
70
+ "input_cost_per_token": 0.00000055,
71
+ "input_cost_per_token_cache_hit": 0.00000014,
72
+ "cache_read_input_token_cost": 0.00000014,
73
+ "cache_creation_input_token_cost": 0.0,
74
+ "output_cost_per_token": 0.00000219,
75
+ "litellm_provider": "openrouter",
76
+ "mode": "chat",
77
+ //"supports_function_calling": true,
78
+ "supports_assistant_prefill": true,
79
+ //"supports_tool_choice": true,
80
+ "supports_prompt_caching": true
81
+ },
82
+ "openrouter/deepseek/deepseek-chat-v3-0324:free": {
83
+ "max_tokens": 131072,
84
+ "max_input_tokens": 131072,
85
+ "max_output_tokens": 131072,
86
+ "input_cost_per_token": 0,
87
+ "output_cost_per_token": 0,
88
+ "litellm_provider": "openrouter",
89
+ "supports_prompt_caching": true,
90
+ "mode": "chat",
91
+ "supports_tool_choice": true
92
+ },
93
+ "fireworks_ai/accounts/fireworks/models/deepseek-r1": {
94
+ "max_tokens": 160000,
95
+ "max_input_tokens": 128000,
96
+ "max_output_tokens": 20480,
97
+ "litellm_provider": "fireworks_ai",
98
+ "input_cost_per_token": 0.000008,
99
+ "output_cost_per_token": 0.000008,
100
+ "mode": "chat",
101
+ },
102
+ "fireworks_ai/accounts/fireworks/models/deepseek-v3-0324": {
103
+ "max_tokens": 160000,
104
+ "max_input_tokens": 100000,
105
+ "max_output_tokens": 8192,
106
+ "litellm_provider": "fireworks_ai",
107
+ "input_cost_per_token": 0.0000009,
108
+ "output_cost_per_token": 0.0000009,
109
+ "mode": "chat",
110
+ },
111
+ "openrouter/openrouter/quasar-alpha": {
112
+ "max_input_tokens": 1000000,
113
+ "max_output_tokens": 32000,
114
+ "input_cost_per_token": 0.0,
115
+ "output_cost_per_token": 0.0,
116
+ "litellm_provider": "openrouter",
117
+ "mode": "chat",
118
+ "supports_vision": true,
119
+ "supports_function_calling": true,
120
+ "supports_system_messages": true,
121
+ "supports_prompt_caching": true
122
+ },
123
+ "openrouter/openrouter/optimus-alpha": {
124
+ "max_input_tokens": 1000000,
125
+ "max_output_tokens": 32000,
126
+ "input_cost_per_token": 0.0,
127
+ "output_cost_per_token": 0.0,
128
+ "litellm_provider": "openrouter",
129
+ "mode": "chat"
130
+ },
131
+ "openrouter/openai/gpt-4o-mini": {
132
+ "max_tokens": 16384,
133
+ "max_input_tokens": 128000,
134
+ "max_output_tokens": 16384,
135
+ "input_cost_per_token": 0.00000015,
136
+ "output_cost_per_token": 0.00000060,
137
+ "input_cost_per_token_batches": 0.000000075,
138
+ "output_cost_per_token_batches": 0.00000030,
139
+ "cache_read_input_token_cost": 0.000000075,
140
+ "litellm_provider": "openrouter",
141
+ "mode": "chat",
142
+ "supports_function_calling": true,
143
+ "supports_parallel_function_calling": true,
144
+ "supports_response_schema": true,
145
+ "supports_vision": true,
146
+ "supports_prompt_caching": true,
147
+ "supports_system_messages": true
148
+ },
149
+ "anthropic/claude-3-7-sonnet-20250219": {
150
+ "max_tokens": 8192,
151
+ "max_input_tokens": 200000,
152
+ "max_output_tokens": 8192,
153
+ "input_cost_per_token": 0.000003,
154
+ "output_cost_per_token": 0.000015,
155
+ "cache_creation_input_token_cost": 0.00000375,
156
+ "cache_read_input_token_cost": 0.0000003,
157
+ "litellm_provider": "anthropic",
158
+ "mode": "chat",
159
+ "supports_function_calling": true,
160
+ "supports_vision": true,
161
+ "tool_use_system_prompt_tokens": 159,
162
+ "supports_assistant_prefill": true,
163
+ "supports_pdf_input": true,
164
+ "supports_prompt_caching": true,
165
+ "supports_response_schema": true,
166
+ "deprecation_date": "2025-10-01",
167
+ "supports_tool_choice": true
168
+ },
169
+ "openai/gpt-4.5-preview": {
170
+ "max_tokens": 16384,
171
+ "max_input_tokens": 128000,
172
+ "max_output_tokens": 16384,
173
+ "input_cost_per_token": 0.000075,
174
+ "output_cost_per_token": 0.00015,
175
+ "cache_read_input_token_cost": 0.0000375,
176
+ "litellm_provider": "openai",
177
+ "mode": "chat",
178
+ "supports_function_calling": true,
179
+ "supports_parallel_function_calling": true,
180
+ "supports_response_schema": true,
181
+ "supports_vision": true,
182
+ "supports_prompt_caching": true,
183
+ "supports_system_messages": true,
184
+ "supports_tool_choice": true
185
+ },
186
+ "gemini/gemini-2.5-pro-exp-03-25": {
187
+ "max_tokens": 8192,
188
+ "max_input_tokens": 1048576,
189
+ "max_output_tokens": 64000,
190
+ "max_images_per_prompt": 3000,
191
+ "max_videos_per_prompt": 10,
192
+ "max_video_length": 1,
193
+ "max_audio_length_hours": 8.4,
194
+ "max_audio_per_prompt": 1,
195
+ "max_pdf_size_mb": 30,
196
+ "input_cost_per_image": 0,
197
+ "input_cost_per_video_per_second": 0,
198
+ "input_cost_per_audio_per_second": 0,
199
+ "input_cost_per_token": 0,
200
+ "input_cost_per_character": 0,
201
+ "input_cost_per_token_above_128k_tokens": 0,
202
+ "input_cost_per_character_above_128k_tokens": 0,
203
+ "input_cost_per_image_above_128k_tokens": 0,
204
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
205
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
206
+ "output_cost_per_token": 0,
207
+ "output_cost_per_character": 0,
208
+ "output_cost_per_token_above_128k_tokens": 0,
209
+ "output_cost_per_character_above_128k_tokens": 0,
210
+ //"litellm_provider": "vertex_ai-language-models",
211
+ "litellm_provider": "gemini",
212
+ "mode": "chat",
213
+ "supports_system_messages": true,
214
+ "supports_function_calling": true,
215
+ "supports_vision": true,
216
+ "supports_audio_input": true,
217
+ "supports_video_input": true,
218
+ "supports_pdf_input": true,
219
+ "supports_response_schema": true,
220
+ "supports_tool_choice": true,
221
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
222
+ },
223
+ "vertex_ai/gemini-2.5-pro-exp-03-25": {
224
+ "max_tokens": 8192,
225
+ "max_input_tokens": 1048576,
226
+ "max_output_tokens": 64000,
227
+ "max_images_per_prompt": 3000,
228
+ "max_videos_per_prompt": 10,
229
+ "max_video_length": 1,
230
+ "max_audio_length_hours": 8.4,
231
+ "max_audio_per_prompt": 1,
232
+ "max_pdf_size_mb": 30,
233
+ "input_cost_per_image": 0,
234
+ "input_cost_per_video_per_second": 0,
235
+ "input_cost_per_audio_per_second": 0,
236
+ "input_cost_per_token": 0,
237
+ "input_cost_per_character": 0,
238
+ "input_cost_per_token_above_128k_tokens": 0,
239
+ "input_cost_per_character_above_128k_tokens": 0,
240
+ "input_cost_per_image_above_128k_tokens": 0,
241
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
242
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
243
+ "output_cost_per_token": 0,
244
+ "output_cost_per_character": 0,
245
+ "output_cost_per_token_above_128k_tokens": 0,
246
+ "output_cost_per_character_above_128k_tokens": 0,
247
+ "litellm_provider": "vertex_ai-language-models",
248
+ "mode": "chat",
249
+ "supports_system_messages": true,
250
+ "supports_function_calling": true,
251
+ "supports_vision": true,
252
+ "supports_audio_input": true,
253
+ "supports_video_input": true,
254
+ "supports_pdf_input": true,
255
+ "supports_response_schema": true,
256
+ "supports_tool_choice": true,
257
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
258
+ },
259
+ "vertex_ai/gemini-2.5-pro-preview-03-25": {
260
+ "max_tokens": 8192,
261
+ "max_input_tokens": 1048576,
262
+ "max_output_tokens": 64000,
263
+ "max_images_per_prompt": 3000,
264
+ "max_videos_per_prompt": 10,
265
+ "max_video_length": 1,
266
+ "max_audio_length_hours": 8.4,
267
+ "max_audio_per_prompt": 1,
268
+ "max_pdf_size_mb": 30,
269
+ "input_cost_per_image": 0,
270
+ "input_cost_per_video_per_second": 0,
271
+ "input_cost_per_audio_per_second": 0,
272
+ "input_cost_per_token": 0.00000125,
273
+ "input_cost_per_character": 0,
274
+ "input_cost_per_token_above_128k_tokens": 0,
275
+ "input_cost_per_character_above_128k_tokens": 0,
276
+ "input_cost_per_image_above_128k_tokens": 0,
277
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
278
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
279
+ "output_cost_per_token": 0.000010,
280
+ "output_cost_per_character": 0,
281
+ "output_cost_per_token_above_128k_tokens": 0,
282
+ "output_cost_per_character_above_128k_tokens": 0,
283
+ "litellm_provider": "vertex_ai-language-models",
284
+ "mode": "chat",
285
+ "supports_system_messages": true,
286
+ "supports_function_calling": true,
287
+ "supports_vision": true,
288
+ "supports_audio_input": true,
289
+ "supports_video_input": true,
290
+ "supports_pdf_input": true,
291
+ "supports_response_schema": true,
292
+ "supports_tool_choice": true,
293
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
294
+ },
295
+ "vertex_ai/gemini-2.5-pro": {
296
+ "max_tokens": 65536,
297
+ "max_input_tokens": 1048576,
298
+ "max_output_tokens": 65536,
299
+ "max_images_per_prompt": 3000,
300
+ "max_videos_per_prompt": 10,
301
+ "max_video_length": 1,
302
+ "max_audio_length_hours": 8.4,
303
+ "max_audio_per_prompt": 1,
304
+ "max_pdf_size_mb": 20,
305
+ "input_cost_per_token": 0.00000125,
306
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
307
+ "output_cost_per_token": 0.00001,
308
+ "output_cost_per_token_above_200k_tokens": 0.000015,
309
+ "litellm_provider": "vertex_ai-language-models",
310
+ "mode": "chat",
311
+ "rpm": 2000,
312
+ "tpm": 8000000,
313
+ "supports_system_messages": true,
314
+ "supports_function_calling": true,
315
+ "supports_vision": true,
316
+ "supports_response_schema": true,
317
+ "supports_audio_output": false,
318
+ "supports_tool_choice": true,
319
+ "supported_modalities": ["text", "image", "audio", "video"],
320
+ "supported_output_modalities": ["text"],
321
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
322
+ },
323
+ "vertex_ai/gemini-2.5-flash": {
324
+ "max_tokens": 65536,
325
+ "max_input_tokens": 1048576,
326
+ "max_output_tokens": 65536,
327
+ "max_images_per_prompt": 3000,
328
+ "max_videos_per_prompt": 10,
329
+ "max_video_length": 1,
330
+ "max_audio_length_hours": 8.4,
331
+ "max_audio_per_prompt": 1,
332
+ "max_pdf_size_mb": 20,
333
+ "input_cost_per_token": 0.0000003,
334
+ "input_cost_per_audio_token": 0.000001,
335
+ "output_cost_per_token": 0.0000025,
336
+ "litellm_provider": "vertex_ai-language-models",
337
+ "mode": "chat",
338
+ "rpm": 10000,
339
+ "tpm": 8000000,
340
+ "supports_system_messages": true,
341
+ "supports_function_calling": true,
342
+ "supports_vision": true,
343
+ "supports_response_schema": true,
344
+ "supports_audio_output": false,
345
+ "supports_tool_choice": true,
346
+ "supported_modalities": ["text", "image", "audio", "video"],
347
+ "supported_output_modalities": ["text"],
348
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
349
+ },
350
+ "openrouter/google/gemini-2.5-pro-preview-03-25": {
351
+ "max_tokens": 8192,
352
+ "max_input_tokens": 1048576,
353
+ "max_output_tokens": 64000,
354
+ "max_images_per_prompt": 3000,
355
+ "max_videos_per_prompt": 10,
356
+ "max_video_length": 1,
357
+ "max_audio_length_hours": 8.4,
358
+ "max_audio_per_prompt": 1,
359
+ "max_pdf_size_mb": 30,
360
+ "input_cost_per_image": 0,
361
+ "input_cost_per_video_per_second": 0,
362
+ "input_cost_per_audio_per_second": 0,
363
+ "input_cost_per_token": 0.00000125,
364
+ "input_cost_per_character": 0,
365
+ "input_cost_per_token_above_128k_tokens": 0,
366
+ "input_cost_per_character_above_128k_tokens": 0,
367
+ "input_cost_per_image_above_128k_tokens": 0,
368
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
369
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
370
+ "output_cost_per_token": 0.000010,
371
+ "output_cost_per_character": 0,
372
+ "output_cost_per_token_above_128k_tokens": 0,
373
+ "output_cost_per_character_above_128k_tokens": 0,
374
+ "litellm_provider": "vertex_ai-language-models",
375
+ "mode": "chat",
376
+ "supports_system_messages": true,
377
+ "supports_function_calling": true,
378
+ "supports_vision": true,
379
+ "supports_audio_input": true,
380
+ "supports_video_input": true,
381
+ "supports_pdf_input": true,
382
+ "supports_response_schema": true,
383
+ "supports_tool_choice": true,
384
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
385
+ },
386
+ "openrouter/google/gemini-2.5-pro-exp-03-25": {
387
+ "max_tokens": 8192,
388
+ "max_input_tokens": 1048576,
389
+ "max_output_tokens": 64000,
390
+ "max_images_per_prompt": 3000,
391
+ "max_videos_per_prompt": 10,
392
+ "max_video_length": 1,
393
+ "max_audio_length_hours": 8.4,
394
+ "max_audio_per_prompt": 1,
395
+ "max_pdf_size_mb": 30,
396
+ "input_cost_per_image": 0,
397
+ "input_cost_per_video_per_second": 0,
398
+ "input_cost_per_audio_per_second": 0,
399
+ "input_cost_per_token": 0,
400
+ "input_cost_per_character": 0,
401
+ "input_cost_per_token_above_128k_tokens": 0,
402
+ "input_cost_per_character_above_128k_tokens": 0,
403
+ "input_cost_per_image_above_128k_tokens": 0,
404
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
405
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
406
+ "output_cost_per_token": 0,
407
+ "output_cost_per_character": 0,
408
+ "output_cost_per_token_above_128k_tokens": 0,
409
+ "output_cost_per_character_above_128k_tokens": 0,
410
+ "litellm_provider": "openrouter",
411
+ "mode": "chat",
412
+ "supports_system_messages": true,
413
+ "supports_function_calling": true,
414
+ "supports_vision": true,
415
+ "supports_audio_input": true,
416
+ "supports_video_input": true,
417
+ "supports_pdf_input": true,
418
+ "supports_response_schema": true,
419
+ "supports_tool_choice": true,
420
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
421
+ },
422
+ "openrouter/google/gemini-2.5": {
423
+ "max_tokens": 8192,
424
+ "max_input_tokens": 1048576,
425
+ "max_output_tokens": 64000,
426
+ "max_images_per_prompt": 3000,
427
+ "max_videos_per_prompt": 10,
428
+ "max_video_length": 1,
429
+ "max_audio_length_hours": 8.4,
430
+ "max_audio_per_prompt": 1,
431
+ "max_pdf_size_mb": 30,
432
+ "input_cost_per_image": 0,
433
+ "input_cost_per_video_per_second": 0,
434
+ "input_cost_per_audio_per_second": 0,
435
+ "input_cost_per_token": 0,
436
+ "input_cost_per_character": 0,
437
+ "input_cost_per_token_above_128k_tokens": 0,
438
+ "input_cost_per_character_above_128k_tokens": 0,
439
+ "input_cost_per_image_above_128k_tokens": 0,
440
+ "input_cost_per_video_per_second_above_128k_tokens": 0,
441
+ "input_cost_per_audio_per_second_above_128k_tokens": 0,
442
+ "output_cost_per_token": 0,
443
+ "output_cost_per_character": 0,
444
+ "output_cost_per_token_above_128k_tokens": 0,
445
+ "output_cost_per_character_above_128k_tokens": 0,
446
+ "litellm_provider": "openrouter",
447
+ "mode": "chat",
448
+ "supports_system_messages": true,
449
+ "supports_function_calling": true,
450
+ "supports_vision": true,
451
+ "supports_audio_input": true,
452
+ "supports_video_input": true,
453
+ "supports_pdf_input": true,
454
+ "supports_response_schema": true,
455
+ "supports_tool_choice": true,
456
+ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing"
457
+ },
458
+ "openrouter/x-ai/grok-3-beta": {
459
+ "max_tokens": 131072,
460
+ "max_input_tokens": 131072,
461
+ "max_output_tokens": 131072,
462
+ "input_cost_per_token": 0.000003,
463
+ "output_cost_per_token": 0.000015,
464
+ "litellm_provider": "openrouter",
465
+ "mode": "chat"
466
+ },
467
+ "openrouter/x-ai/grok-3-mini-beta": {
468
+ "max_tokens": 131072,
469
+ "max_input_tokens": 131072,
470
+ "max_output_tokens": 131072,
471
+ "input_cost_per_token": 0.0000003,
472
+ "output_cost_per_token": 0.0000005,
473
+ "litellm_provider": "openrouter",
474
+ "mode": "chat"
475
+ },
476
+ "openrouter/x-ai/grok-3-fast-beta": {
477
+ "max_tokens": 131072,
478
+ "max_input_tokens": 131072,
479
+ "max_output_tokens": 131072,
480
+ "input_cost_per_token": 0.000005,
481
+ "output_cost_per_token": 0.000025,
482
+ "litellm_provider": "openrouter",
483
+ "mode": "chat"
484
+ },
485
+ "openrouter/x-ai/grok-3-mini-fast-beta": {
486
+ "max_tokens": 131072,
487
+ "max_input_tokens": 131072,
488
+ "max_output_tokens": 131072,
489
+ "input_cost_per_token": 0.0000006,
490
+ "output_cost_per_token": 0.000004,
491
+ "litellm_provider": "openrouter",
492
+ "mode": "chat"
493
+ },
494
+ "openrouter/google/gemini-2.0-flash-exp:free": {
495
+ "max_tokens": 8192,
496
+ "max_input_tokens": 1048576,
497
+ "max_output_tokens": 8192,
498
+ "max_images_per_prompt": 3000,
499
+ "max_videos_per_prompt": 10,
500
+ "max_video_length": 1,
501
+ "max_audio_length_hours": 8.4,
502
+ "max_audio_per_prompt": 1,
503
+ "max_pdf_size_mb": 30,
504
+ "litellm_provider": "openrouter",
505
+ "mode": "chat",
506
+ "supports_system_messages": true,
507
+ "supports_function_calling": true,
508
+ "supports_vision": true,
509
+ "supports_response_schema": true,
510
+ "supports_audio_output": true,
511
+ "supports_tool_choice": true
512
+ },
513
+ "gemini-2.5-pro-preview-05-06": {
514
+ "max_tokens": 65536,
515
+ "max_input_tokens": 1048576,
516
+ "max_output_tokens": 65536,
517
+ "max_images_per_prompt": 3000,
518
+ "max_videos_per_prompt": 10,
519
+ "max_video_length": 1,
520
+ "max_audio_length_hours": 8.4,
521
+ "max_audio_per_prompt": 1,
522
+ "max_pdf_size_mb": 30,
523
+ "input_cost_per_audio_token": 0.00000125,
524
+ "input_cost_per_token": 0.00000125,
525
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
526
+ "output_cost_per_token": 0.00001,
527
+ "output_cost_per_token_above_200k_tokens": 0.000015,
528
+ "litellm_provider": "vertex_ai-language-models",
529
+ "mode": "chat",
530
+ "supports_reasoning": true,
531
+ "supports_system_messages": true,
532
+ "supports_function_calling": true,
533
+ "supports_vision": true,
534
+ "supports_response_schema": true,
535
+ "supports_audio_output": false,
536
+ "supports_tool_choice": true,
537
+ "supported_endpoints": ["/v1/chat/completions", "/v1/completions", "/v1/batch"],
538
+ "supported_modalities": ["text", "image", "audio", "video"],
539
+ "supported_output_modalities": ["text"],
540
+ "source": "https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview"
541
+ },
542
+ "gemini-2.5-pro-preview-06-05": {
543
+ "max_tokens": 65536,
544
+ "max_input_tokens": 1048576,
545
+ "max_output_tokens": 65536,
546
+ "max_images_per_prompt": 3000,
547
+ "max_videos_per_prompt": 10,
548
+ "max_video_length": 1,
549
+ "max_audio_length_hours": 8.4,
550
+ "max_audio_per_prompt": 1,
551
+ "max_pdf_size_mb": 30,
552
+ "input_cost_per_audio_token": 0.00000125,
553
+ "input_cost_per_token": 0.00000125,
554
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
555
+ "output_cost_per_token": 0.00001,
556
+ "output_cost_per_token_above_200k_tokens": 0.000015,
557
+ "litellm_provider": "vertex_ai-language-models",
558
+ "mode": "chat",
559
+ "supports_reasoning": true,
560
+ "supports_system_messages": true,
561
+ "supports_function_calling": true,
562
+ "supports_vision": true,
563
+ "supports_response_schema": true,
564
+ "supports_audio_output": false,
565
+ "supports_tool_choice": true,
566
+ "supported_endpoints": ["/v1/chat/completions", "/v1/completions", "/v1/batch"],
567
+ "supported_modalities": ["text", "image", "audio", "video"],
568
+ "supported_output_modalities": ["text"],
569
+ "source": "https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview"
570
+ },
571
+ "gemini/gemini-2.5-pro-preview-05-06": {
572
+ "max_tokens": 65536,
573
+ "max_input_tokens": 1048576,
574
+ "max_output_tokens": 65536,
575
+ "max_images_per_prompt": 3000,
576
+ "max_videos_per_prompt": 10,
577
+ "max_video_length": 1,
578
+ "max_audio_length_hours": 8.4,
579
+ "max_audio_per_prompt": 1,
580
+ "max_pdf_size_mb": 30,
581
+ "input_cost_per_audio_token": 0.0000007,
582
+ "input_cost_per_token": 0.00000125,
583
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
584
+ "output_cost_per_token": 0.00001,
585
+ "output_cost_per_token_above_200k_tokens": 0.000015,
586
+ "litellm_provider": "gemini",
587
+ "mode": "chat",
588
+ "rpm": 10000,
589
+ "tpm": 10000000,
590
+ "supports_system_messages": true,
591
+ "supports_function_calling": true,
592
+ "supports_vision": true,
593
+ "supports_response_schema": true,
594
+ "supports_audio_output": false,
595
+ "supports_tool_choice": true,
596
+ "supported_modalities": ["text", "image", "audio", "video"],
597
+ "supported_output_modalities": ["text"],
598
+ "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview"
599
+ },
600
+ "gemini/gemini-2.5-pro-preview-06-05": {
601
+ "max_tokens": 65536,
602
+ "max_input_tokens": 1048576,
603
+ "max_output_tokens": 65536,
604
+ "max_images_per_prompt": 3000,
605
+ "max_videos_per_prompt": 10,
606
+ "max_video_length": 1,
607
+ "max_audio_length_hours": 8.4,
608
+ "max_audio_per_prompt": 1,
609
+ "max_pdf_size_mb": 30,
610
+ "input_cost_per_audio_token": 0.0000007,
611
+ "input_cost_per_token": 0.00000125,
612
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
613
+ "output_cost_per_token": 0.00001,
614
+ "output_cost_per_token_above_200k_tokens": 0.000015,
615
+ "litellm_provider": "gemini",
616
+ "mode": "chat",
617
+ "rpm": 10000,
618
+ "tpm": 10000000,
619
+ "supports_system_messages": true,
620
+ "supports_function_calling": true,
621
+ "supports_vision": true,
622
+ "supports_response_schema": true,
623
+ "supports_audio_output": false,
624
+ "supports_tool_choice": true,
625
+ "supported_modalities": ["text", "image", "audio", "video"],
626
+ "supported_output_modalities": ["text"],
627
+ "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview"
628
+ },
629
+ "gemini/gemini-2.5-pro": {
630
+ "max_tokens": 65536,
631
+ "max_input_tokens": 1048576,
632
+ "max_output_tokens": 65536,
633
+ "max_images_per_prompt": 3000,
634
+ "max_videos_per_prompt": 10,
635
+ "max_video_length": 1,
636
+ "max_audio_length_hours": 8.4,
637
+ "max_audio_per_prompt": 1,
638
+ "max_pdf_size_mb": 20,
639
+ "input_cost_per_token": 0.00000125,
640
+ "input_cost_per_token_above_200k_tokens": 0.0000025,
641
+ "output_cost_per_token": 0.00001,
642
+ "output_cost_per_token_above_200k_tokens": 0.000015,
643
+ "litellm_provider": "gemini",
644
+ "mode": "chat",
645
+ "rpm": 2000,
646
+ "tpm": 8000000,
647
+ "supports_system_messages": true,
648
+ "supports_function_calling": true,
649
+ "supports_vision": true,
650
+ "supports_response_schema": true,
651
+ "supports_audio_output": false,
652
+ "supports_tool_choice": true,
653
+ "supported_modalities": ["text", "image", "audio", "video"],
654
+ "supported_output_modalities": ["text"],
655
+ "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro"
656
+ },
657
+ "gemini/gemini-2.5-flash": {
658
+ "max_tokens": 65536,
659
+ "max_input_tokens": 1048576,
660
+ "max_output_tokens": 65536,
661
+ "max_images_per_prompt": 3000,
662
+ "max_videos_per_prompt": 10,
663
+ "max_video_length": 1,
664
+ "max_audio_length_hours": 8.4,
665
+ "max_audio_per_prompt": 1,
666
+ "max_pdf_size_mb": 20,
667
+ "input_cost_per_token": 0.00000035,
668
+ "input_cost_per_audio_token": 0.000001,
669
+ "output_cost_per_token": 0.0000025,
670
+ "litellm_provider": "gemini",
671
+ "mode": "chat",
672
+ "rpm": 10000,
673
+ "tpm": 8000000,
674
+ "supports_system_messages": true,
675
+ "supports_function_calling": true,
676
+ "supports_vision": true,
677
+ "supports_response_schema": true,
678
+ "supports_audio_output": false,
679
+ "supports_tool_choice": true,
680
+ "supported_modalities": ["text", "image", "audio", "video"],
681
+ "supported_output_modalities": ["text"],
682
+ "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-flash"
683
+ },
684
+ "gemini/gemini-2.5-flash-lite-preview-06-17": {
685
+ "max_tokens": 64000,
686
+ "max_input_tokens": 1000000,
687
+ "max_output_tokens": 64000,
688
+ "max_images_per_prompt": 3000,
689
+ "max_videos_per_prompt": 10,
690
+ "max_video_length": 1,
691
+ "max_audio_length_hours": 8.4,
692
+ "max_audio_per_prompt": 1,
693
+ "max_pdf_size_mb": 20,
694
+ "input_cost_per_token": 0.00000001,
695
+ "input_cost_per_audio_token": 0.0000005,
696
+ "output_cost_per_token": 0.0000004,
697
+ "litellm_provider": "gemini",
698
+ "mode": "chat",
699
+ "rpm": 30000,
700
+ "tpm": 30000000,
701
+ "supports_system_messages": true,
702
+ "supports_function_calling": true,
703
+ "supports_vision": true,
704
+ "supports_response_schema": true,
705
+ "supports_audio_output": false,
706
+ "supports_tool_choice": true,
707
+ "supported_modalities": ["text", "image", "audio", "video"],
708
+ "supported_output_modalities": ["text"],
709
+ "source": "https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-flash-lite"
710
+ },
711
+ "together_ai/Qwen/Qwen3-235B-A22B-fp8-tput": {
712
+ "input_cost_per_token": 0.0000002,
713
+ "output_cost_per_token": 0.0000006,
714
+ }
715
+ }