liter_llm 1.0.0.pre.rc.6

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 (78) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +239 -0
  3. data/ext/liter_llm_rb/extconf.rb +65 -0
  4. data/ext/liter_llm_rb/native/.cargo/config.toml +23 -0
  5. data/ext/liter_llm_rb/native/Cargo.lock +3713 -0
  6. data/ext/liter_llm_rb/native/Cargo.toml +32 -0
  7. data/ext/liter_llm_rb/native/build.rs +15 -0
  8. data/ext/liter_llm_rb/native/src/lib.rs +1079 -0
  9. data/lib/liter_llm.rb +8 -0
  10. data/sig/liter_llm.rbs +416 -0
  11. data/vendor/Cargo.toml +54 -0
  12. data/vendor/liter-llm/Cargo.toml +92 -0
  13. data/vendor/liter-llm/README.md +252 -0
  14. data/vendor/liter-llm/schemas/pricing.json +40 -0
  15. data/vendor/liter-llm/schemas/providers.json +1662 -0
  16. data/vendor/liter-llm/src/auth/azure_ad.rs +264 -0
  17. data/vendor/liter-llm/src/auth/bedrock_sts.rs +353 -0
  18. data/vendor/liter-llm/src/auth/mod.rs +68 -0
  19. data/vendor/liter-llm/src/auth/vertex_oauth.rs +353 -0
  20. data/vendor/liter-llm/src/client/config.rs +351 -0
  21. data/vendor/liter-llm/src/client/managed.rs +622 -0
  22. data/vendor/liter-llm/src/client/mod.rs +864 -0
  23. data/vendor/liter-llm/src/cost.rs +212 -0
  24. data/vendor/liter-llm/src/error.rs +190 -0
  25. data/vendor/liter-llm/src/http/eventstream.rs +860 -0
  26. data/vendor/liter-llm/src/http/mod.rs +12 -0
  27. data/vendor/liter-llm/src/http/request.rs +438 -0
  28. data/vendor/liter-llm/src/http/retry.rs +72 -0
  29. data/vendor/liter-llm/src/http/streaming.rs +289 -0
  30. data/vendor/liter-llm/src/lib.rs +37 -0
  31. data/vendor/liter-llm/src/provider/anthropic.rs +2250 -0
  32. data/vendor/liter-llm/src/provider/azure.rs +579 -0
  33. data/vendor/liter-llm/src/provider/bedrock.rs +1543 -0
  34. data/vendor/liter-llm/src/provider/cohere.rs +654 -0
  35. data/vendor/liter-llm/src/provider/custom.rs +404 -0
  36. data/vendor/liter-llm/src/provider/google_ai.rs +281 -0
  37. data/vendor/liter-llm/src/provider/mistral.rs +188 -0
  38. data/vendor/liter-llm/src/provider/mod.rs +616 -0
  39. data/vendor/liter-llm/src/provider/vertex.rs +1504 -0
  40. data/vendor/liter-llm/src/tests.rs +1425 -0
  41. data/vendor/liter-llm/src/tokenizer.rs +281 -0
  42. data/vendor/liter-llm/src/tower/budget.rs +599 -0
  43. data/vendor/liter-llm/src/tower/cache.rs +502 -0
  44. data/vendor/liter-llm/src/tower/cache_opendal.rs +270 -0
  45. data/vendor/liter-llm/src/tower/cooldown.rs +231 -0
  46. data/vendor/liter-llm/src/tower/cost.rs +404 -0
  47. data/vendor/liter-llm/src/tower/fallback.rs +121 -0
  48. data/vendor/liter-llm/src/tower/health.rs +219 -0
  49. data/vendor/liter-llm/src/tower/hooks.rs +369 -0
  50. data/vendor/liter-llm/src/tower/mod.rs +77 -0
  51. data/vendor/liter-llm/src/tower/rate_limit.rs +300 -0
  52. data/vendor/liter-llm/src/tower/router.rs +436 -0
  53. data/vendor/liter-llm/src/tower/service.rs +181 -0
  54. data/vendor/liter-llm/src/tower/tests.rs +539 -0
  55. data/vendor/liter-llm/src/tower/tests_common.rs +252 -0
  56. data/vendor/liter-llm/src/tower/tracing.rs +209 -0
  57. data/vendor/liter-llm/src/tower/types.rs +170 -0
  58. data/vendor/liter-llm/src/types/audio.rs +52 -0
  59. data/vendor/liter-llm/src/types/batch.rs +77 -0
  60. data/vendor/liter-llm/src/types/chat.rs +214 -0
  61. data/vendor/liter-llm/src/types/common.rs +244 -0
  62. data/vendor/liter-llm/src/types/embedding.rs +84 -0
  63. data/vendor/liter-llm/src/types/files.rs +58 -0
  64. data/vendor/liter-llm/src/types/image.rs +40 -0
  65. data/vendor/liter-llm/src/types/mod.rs +27 -0
  66. data/vendor/liter-llm/src/types/models.rs +21 -0
  67. data/vendor/liter-llm/src/types/moderation.rs +80 -0
  68. data/vendor/liter-llm/src/types/ocr.rs +87 -0
  69. data/vendor/liter-llm/src/types/rerank.rs +46 -0
  70. data/vendor/liter-llm/src/types/responses.rs +55 -0
  71. data/vendor/liter-llm/src/types/search.rs +45 -0
  72. data/vendor/liter-llm/tests/contract.rs +332 -0
  73. data/vendor/liter-llm-ffi/Cargo.toml +30 -0
  74. data/vendor/liter-llm-ffi/build.rs +66 -0
  75. data/vendor/liter-llm-ffi/cbindgen.toml +60 -0
  76. data/vendor/liter-llm-ffi/liter_llm.h +850 -0
  77. data/vendor/liter-llm-ffi/src/lib.rs +2488 -0
  78. metadata +286 -0
@@ -0,0 +1,1662 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$comment": "Generated from litellm data. Source: https://github.com/BerriAI/litellm (MIT License, Copyright 2023 Berri AI)",
4
+ "providers": [
5
+ {
6
+ "name": "a2a",
7
+ "display_name": "A2A",
8
+ "endpoints": ["chat"]
9
+ },
10
+ {
11
+ "name": "abliteration",
12
+ "display_name": "Abliteration",
13
+ "base_url": "https://api.abliteration.ai/v1",
14
+ "auth": {
15
+ "type": "bearer",
16
+ "env_var": "ABLITERATION_API_KEY"
17
+ },
18
+ "endpoints": ["chat"]
19
+ },
20
+ {
21
+ "name": "ai21",
22
+ "display_name": "AI21",
23
+ "base_url": "https://api.ai21.com/studio/v1",
24
+ "auth": {
25
+ "type": "bearer",
26
+ "env_var": "AI21_API_KEY"
27
+ },
28
+ "endpoints": ["chat"],
29
+ "model_prefixes": ["j2-", "jamba-"],
30
+ "model_count": 12
31
+ },
32
+ {
33
+ "name": "ai21_chat",
34
+ "display_name": "AI21 Chat",
35
+ "base_url": "https://api.ai21.com/studio/v1",
36
+ "auth": {
37
+ "type": "bearer",
38
+ "env_var": "AI21_API_KEY"
39
+ },
40
+ "endpoints": ["chat"]
41
+ },
42
+ {
43
+ "name": "aiml",
44
+ "display_name": "AI/ML API",
45
+ "base_url": "https://api.aimlapi.com/v1",
46
+ "auth": {
47
+ "type": "bearer",
48
+ "env_var": "AIML_API_KEY"
49
+ },
50
+ "endpoints": ["chat", "embedding", "image"],
51
+ "model_prefixes": ["aiml/", "aiml/dall-", "aiml/flux-", "aiml/flux/kontext-"],
52
+ "model_count": 12
53
+ },
54
+ {
55
+ "name": "amazon_nova",
56
+ "display_name": "Amazon Nova",
57
+ "endpoints": ["chat"],
58
+ "model_prefixes": ["amazon-", "amazon-nova/"],
59
+ "model_count": 4
60
+ },
61
+ {
62
+ "name": "anthropic",
63
+ "display_name": "Anthropic",
64
+ "base_url": "https://api.anthropic.com/v1",
65
+ "auth": {
66
+ "type": "bearer",
67
+ "env_var": "ANTHROPIC_API_KEY"
68
+ },
69
+ "endpoints": ["batch", "chat"],
70
+ "model_prefixes": ["claude-"],
71
+ "model_count": 18
72
+ },
73
+ {
74
+ "name": "anthropic_text",
75
+ "display_name": "Anthropic Text",
76
+ "base_url": "https://api.anthropic.com/v1",
77
+ "auth": {
78
+ "type": "bearer",
79
+ "env_var": "ANTHROPIC_API_KEY"
80
+ },
81
+ "endpoints": ["batch", "chat"]
82
+ },
83
+ {
84
+ "name": "apertis",
85
+ "display_name": "Apertis",
86
+ "base_url": "https://api.stima.tech/v1",
87
+ "auth": {
88
+ "type": "bearer",
89
+ "env_var": "STIMA_API_KEY"
90
+ },
91
+ "param_mappings": {
92
+ "max_completion_tokens": "max_tokens"
93
+ },
94
+ "endpoints": ["chat", "embedding"]
95
+ },
96
+ {
97
+ "name": "assemblyai",
98
+ "display_name": "AssemblyAI",
99
+ "base_url": "https://api.assemblyai.com",
100
+ "auth": {
101
+ "type": "bearer",
102
+ "env_var": "ASSEMBLYAI_API_KEY"
103
+ },
104
+ "endpoints": ["audio", "chat"],
105
+ "model_prefixes": ["assemblyai/"],
106
+ "model_count": 2
107
+ },
108
+ {
109
+ "name": "auto_router",
110
+ "display_name": "Auto Router",
111
+ "endpoints": ["chat"]
112
+ },
113
+ {
114
+ "name": "aws_polly",
115
+ "display_name": "AWS - Polly",
116
+ "endpoints": ["audio"],
117
+ "model_prefixes": ["aws_polly/"],
118
+ "model_count": 4
119
+ },
120
+ {
121
+ "name": "azure",
122
+ "display_name": "Azure",
123
+ "endpoints": ["audio", "batch", "chat", "completion", "embedding", "image", "moderation"],
124
+ "model_prefixes": [
125
+ "azure/",
126
+ "azure/eu/gpt-",
127
+ "azure/eu/o1-",
128
+ "azure/global-",
129
+ "azure/global/gpt-",
130
+ "azure/gpt-",
131
+ "azure/hd/1024-",
132
+ "azure/high/1024-",
133
+ "azure/high/1536-",
134
+ "azure/low/1024-",
135
+ "azure/low/1536-",
136
+ "azure/medium/1024-",
137
+ "azure/medium/1536-",
138
+ "azure/mistral-",
139
+ "azure/o1-",
140
+ "azure/o3-",
141
+ "azure/o4-",
142
+ "azure/sora-",
143
+ "azure/speech/azure-",
144
+ "azure/standard/1024-",
145
+ "azure/text-",
146
+ "azure/tts-",
147
+ "azure/us/gpt-",
148
+ "azure/us/o1-",
149
+ "azure/us/o3-"
150
+ ],
151
+ "model_count": 189
152
+ },
153
+ {
154
+ "name": "azure_ai",
155
+ "display_name": "Azure AI",
156
+ "endpoints": ["audio", "batch", "chat", "embedding", "image", "moderation", "ocr"],
157
+ "model_prefixes": [
158
+ "azure_ai/",
159
+ "azure_ai/Cohere-",
160
+ "azure_ai/Llama-",
161
+ "azure_ai/Meta-",
162
+ "azure_ai/Phi-",
163
+ "azure_ai/claude-",
164
+ "azure_ai/cohere-",
165
+ "azure_ai/deepseek-",
166
+ "azure_ai/doc-",
167
+ "azure_ai/global/grok-",
168
+ "azure_ai/grok-",
169
+ "azure_ai/mistral-"
170
+ ],
171
+ "model_count": 75
172
+ },
173
+ {
174
+ "name": "azure_ai/agents",
175
+ "display_name": "Azure AI Foundry Agents",
176
+ "endpoints": ["chat"]
177
+ },
178
+ {
179
+ "name": "azure_ai/doc-intelligence",
180
+ "display_name": "Azure AI Document Intelligence",
181
+ "endpoints": ["ocr"]
182
+ },
183
+ {
184
+ "name": "azure_text",
185
+ "display_name": "Azure Text",
186
+ "endpoints": ["audio", "batch", "chat", "moderation"],
187
+ "model_prefixes": ["azure/", "azure/gpt-"],
188
+ "model_count": 3
189
+ },
190
+ {
191
+ "name": "baseten",
192
+ "display_name": "Baseten",
193
+ "endpoints": ["chat"]
194
+ },
195
+ {
196
+ "name": "bedrock",
197
+ "display_name": "AWS - Bedrock",
198
+ "endpoints": ["chat", "embedding", "rerank"],
199
+ "model_prefixes": [
200
+ "1024-",
201
+ "1024-x-1024/",
202
+ "512-",
203
+ "512-x-512/",
204
+ "ai21.j2-",
205
+ "ai21.jamba-",
206
+ "amazon.nova-",
207
+ "amazon.titan-",
208
+ "anthropic.claude-",
209
+ "apac.anthropic.claude-",
210
+ "bedrock/",
211
+ "bedrock/*/1-",
212
+ "bedrock/*/6-",
213
+ "bedrock/ap-",
214
+ "bedrock/ca-",
215
+ "bedrock/eu-",
216
+ "bedrock/moonshotai.kimi-",
217
+ "bedrock/sa-",
218
+ "bedrock/us-",
219
+ "cohere.command-",
220
+ "cohere.embed-",
221
+ "eu.anthropic.claude-",
222
+ "eu.meta.llama3-",
223
+ "max-",
224
+ "max-x-max/",
225
+ "meta.llama2-",
226
+ "meta.llama3-",
227
+ "mistral.mistral-",
228
+ "stability.sd3-",
229
+ "stability.stable-",
230
+ "us.anthropic.claude-",
231
+ "us.meta.llama3-"
232
+ ],
233
+ "model_count": 245
234
+ },
235
+ {
236
+ "name": "brave",
237
+ "display_name": "Brave Search",
238
+ "base_url": "https://api.search.brave.com/res/v1",
239
+ "auth": {
240
+ "type": "bearer",
241
+ "env_var": "BRAVE_API_KEY"
242
+ },
243
+ "endpoints": ["search"]
244
+ },
245
+ {
246
+ "name": "bytez",
247
+ "display_name": "Bytez",
248
+ "base_url": "https://api.bytez.com/models/v2",
249
+ "auth": {
250
+ "type": "bearer",
251
+ "env_var": "BYTEZ_KEY"
252
+ },
253
+ "endpoints": ["chat"]
254
+ },
255
+ {
256
+ "name": "cerebras",
257
+ "display_name": "Cerebras",
258
+ "base_url": "https://api.cerebras.ai/v1",
259
+ "auth": {
260
+ "type": "bearer",
261
+ "env_var": "CEREBRAS_API_KEY"
262
+ },
263
+ "endpoints": ["chat"],
264
+ "model_prefixes": ["cerebras/", "cerebras/llama3.1-", "cerebras/zai-"],
265
+ "model_count": 7
266
+ },
267
+ {
268
+ "name": "chatgpt",
269
+ "display_name": "ChatGPT Subscription",
270
+ "endpoints": ["chat"],
271
+ "model_prefixes": ["chatgpt/", "chatgpt/gpt-"],
272
+ "model_count": 10
273
+ },
274
+ {
275
+ "name": "chutes",
276
+ "display_name": "Chutes",
277
+ "base_url": "https://llm.chutes.ai/v1",
278
+ "auth": {
279
+ "type": "bearer",
280
+ "env_var": "CHUTES_API_KEY"
281
+ },
282
+ "param_mappings": {
283
+ "max_completion_tokens": "max_tokens"
284
+ },
285
+ "endpoints": ["chat", "embedding"]
286
+ },
287
+ {
288
+ "name": "clarifai",
289
+ "display_name": "Clarifai",
290
+ "base_url": "https://api.clarifai.com",
291
+ "auth": {
292
+ "type": "bearer",
293
+ "env_var": "CLARIFAI_API_KEY"
294
+ },
295
+ "endpoints": ["chat"]
296
+ },
297
+ {
298
+ "name": "cloudflare",
299
+ "display_name": "Cloudflare AI Workers",
300
+ "endpoints": ["chat"],
301
+ "model_prefixes": ["cloudflare/", "cloudflare/@cf/meta/llama-"],
302
+ "model_count": 4
303
+ },
304
+ {
305
+ "name": "codestral",
306
+ "display_name": "Codestral",
307
+ "base_url": "https://codestral.mistral.ai/v1",
308
+ "auth": {
309
+ "type": "bearer",
310
+ "env_var": "CODESTRAL_API_KEY"
311
+ },
312
+ "endpoints": ["chat"],
313
+ "model_prefixes": ["codestral/", "codestral/codestral-"],
314
+ "model_count": 2
315
+ },
316
+ {
317
+ "name": "cohere",
318
+ "display_name": "Cohere",
319
+ "base_url": "https://api.cohere.ai/v1",
320
+ "auth": {
321
+ "type": "bearer",
322
+ "env_var": "COHERE_API_KEY"
323
+ },
324
+ "endpoints": ["chat", "embedding", "rerank"],
325
+ "model_prefixes": ["embed-", "rerank-"],
326
+ "model_count": 15
327
+ },
328
+ {
329
+ "name": "cohere_chat",
330
+ "display_name": "Cohere Chat",
331
+ "base_url": "https://api.cohere.ai/v2",
332
+ "auth": {
333
+ "type": "bearer",
334
+ "env_var": "COHERE_API_KEY"
335
+ },
336
+ "endpoints": ["chat"],
337
+ "model_prefixes": ["command-"],
338
+ "model_count": 7
339
+ },
340
+ {
341
+ "name": "cometapi",
342
+ "display_name": "CometAPI",
343
+ "base_url": "https://api.cometapi.com/v1",
344
+ "auth": {
345
+ "type": "bearer",
346
+ "env_var": "COMETAPI_API_KEY"
347
+ },
348
+ "endpoints": ["chat", "embedding"]
349
+ },
350
+ {
351
+ "name": "compactifai",
352
+ "display_name": "CompactifAI",
353
+ "endpoints": ["chat"]
354
+ },
355
+ {
356
+ "name": "cursor",
357
+ "display_name": "Cursor BYOK",
358
+ "endpoints": ["chat"]
359
+ },
360
+ {
361
+ "name": "custom",
362
+ "display_name": "Custom",
363
+ "endpoints": ["chat"]
364
+ },
365
+ {
366
+ "name": "custom_openai",
367
+ "display_name": "Custom OpenAI",
368
+ "endpoints": ["audio", "batch", "chat", "moderation"]
369
+ },
370
+ {
371
+ "name": "dashscope",
372
+ "display_name": "Dashscope",
373
+ "base_url": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
374
+ "auth": {
375
+ "type": "bearer",
376
+ "env_var": "DASHSCOPE_API_KEY"
377
+ },
378
+ "endpoints": ["chat"],
379
+ "model_prefixes": ["dashscope/", "dashscope/qwen-", "dashscope/qwen3-"],
380
+ "model_count": 32
381
+ },
382
+ {
383
+ "name": "databricks",
384
+ "display_name": "Databricks",
385
+ "endpoints": ["chat"],
386
+ "model_prefixes": ["databricks/", "databricks/databricks-"],
387
+ "model_count": 28
388
+ },
389
+ {
390
+ "name": "dataforseo",
391
+ "display_name": "DataForSEO",
392
+ "base_url": "https://api.dataforseo.com/v3",
393
+ "auth": {
394
+ "type": "bearer",
395
+ "env_var": "DATAFORSEO_API_KEY"
396
+ },
397
+ "endpoints": ["search"],
398
+ "model_count": 1
399
+ },
400
+ {
401
+ "name": "datarobot",
402
+ "display_name": "DataRobot",
403
+ "endpoints": ["chat"]
404
+ },
405
+ {
406
+ "name": "deepgram",
407
+ "display_name": "Deepgram",
408
+ "base_url": "https://api.deepgram.com/v1",
409
+ "auth": {
410
+ "type": "bearer",
411
+ "env_var": "DEEPGRAM_API_KEY"
412
+ },
413
+ "endpoints": ["audio", "chat"],
414
+ "model_prefixes": ["deepgram/", "deepgram/base-", "deepgram/enhanced-", "deepgram/nova-", "deepgram/whisper-"],
415
+ "model_count": 36
416
+ },
417
+ {
418
+ "name": "deepinfra",
419
+ "display_name": "DeepInfra",
420
+ "base_url": "https://api.deepinfra.com/v1/openai",
421
+ "auth": {
422
+ "type": "bearer",
423
+ "env_var": "DEEPINFRA_API_KEY"
424
+ },
425
+ "endpoints": ["chat"],
426
+ "model_prefixes": [
427
+ "deepinfra/",
428
+ "deepinfra/NousResearch/Hermes-",
429
+ "deepinfra/Qwen/Qwen2.5-",
430
+ "deepinfra/Qwen/Qwen3-",
431
+ "deepinfra/anthropic/claude-",
432
+ "deepinfra/deepseek-",
433
+ "deepinfra/google/gemini-",
434
+ "deepinfra/google/gemma-",
435
+ "deepinfra/meta-",
436
+ "deepinfra/mistralai/Mistral-",
437
+ "deepinfra/moonshotai/Kimi-",
438
+ "deepinfra/nvidia/Llama-",
439
+ "deepinfra/openai/gpt-"
440
+ ],
441
+ "model_count": 67
442
+ },
443
+ {
444
+ "name": "deepseek",
445
+ "display_name": "Deepseek",
446
+ "base_url": "https://api.deepseek.com/v1",
447
+ "auth": {
448
+ "type": "bearer",
449
+ "env_var": "DEEPSEEK_API_KEY"
450
+ },
451
+ "endpoints": ["chat"],
452
+ "model_prefixes": ["deepseek-", "deepseek/", "deepseek/deepseek-"],
453
+ "model_count": 8
454
+ },
455
+ {
456
+ "name": "docker_model_runner",
457
+ "display_name": "Docker Model Runner",
458
+ "endpoints": ["chat"]
459
+ },
460
+ {
461
+ "name": "duckduckgo",
462
+ "display_name": "DuckDuckGo",
463
+ "endpoints": ["search"],
464
+ "model_count": 1
465
+ },
466
+ {
467
+ "name": "elevenlabs",
468
+ "display_name": "ElevenLabs",
469
+ "base_url": "https://api.elevenlabs.io/v1",
470
+ "auth": {
471
+ "type": "bearer",
472
+ "env_var": "ELEVENLABS_API_KEY"
473
+ },
474
+ "endpoints": ["audio", "chat"],
475
+ "model_prefixes": ["elevenlabs/"],
476
+ "model_count": 4
477
+ },
478
+ {
479
+ "name": "empower",
480
+ "display_name": "Empower",
481
+ "base_url": "https://app.empower.dev/api/v1",
482
+ "auth": {
483
+ "type": "bearer",
484
+ "env_var": "EMPOWER_API_KEY"
485
+ },
486
+ "endpoints": ["chat"]
487
+ },
488
+ {
489
+ "name": "exa_ai",
490
+ "display_name": "Exa AI",
491
+ "base_url": "https://api.exa.ai",
492
+ "auth": {
493
+ "type": "bearer",
494
+ "env_var": "EXA_API_KEY"
495
+ },
496
+ "endpoints": ["search"],
497
+ "model_count": 1
498
+ },
499
+ {
500
+ "name": "fal_ai",
501
+ "display_name": "Fal AI",
502
+ "base_url": "https://fal.run",
503
+ "auth": {
504
+ "type": "bearer",
505
+ "env_var": "FAL_KEY"
506
+ },
507
+ "endpoints": ["chat", "image"],
508
+ "model_prefixes": ["fal_ai/", "fal_ai/fal-"],
509
+ "model_count": 12
510
+ },
511
+ {
512
+ "name": "featherless_ai",
513
+ "display_name": "Featherless AI",
514
+ "base_url": "https://api.featherless.ai/v1",
515
+ "auth": {
516
+ "type": "bearer",
517
+ "env_var": "FEATHERLESS_AI_API_KEY"
518
+ },
519
+ "endpoints": ["chat"],
520
+ "model_prefixes": ["featherless_ai/", "featherless_ai/featherless-"],
521
+ "model_count": 2
522
+ },
523
+ {
524
+ "name": "firecrawl",
525
+ "display_name": "Firecrawl",
526
+ "base_url": "https://api.firecrawl.dev/v1",
527
+ "auth": {
528
+ "type": "bearer",
529
+ "env_var": "FIRECRAWL_API_KEY"
530
+ },
531
+ "endpoints": ["search"],
532
+ "model_count": 1
533
+ },
534
+ {
535
+ "name": "fireworks_ai",
536
+ "display_name": "Fireworks AI",
537
+ "base_url": "https://api.fireworks.ai/inference/v1",
538
+ "auth": {
539
+ "type": "bearer",
540
+ "env_var": "FIREWORKS_AI_API_KEY"
541
+ },
542
+ "endpoints": ["chat", "rerank"],
543
+ "model_prefixes": [
544
+ "fireworks-",
545
+ "fireworks_ai/",
546
+ "fireworks_ai/accounts/fireworks/models/code-",
547
+ "fireworks_ai/accounts/fireworks/models/codegemma-",
548
+ "fireworks_ai/accounts/fireworks/models/cogito-",
549
+ "fireworks_ai/accounts/fireworks/models/deepseek-",
550
+ "fireworks_ai/accounts/fireworks/models/dobby-",
551
+ "fireworks_ai/accounts/fireworks/models/dolphin-",
552
+ "fireworks_ai/accounts/fireworks/models/ernie-",
553
+ "fireworks_ai/accounts/fireworks/models/firefunction-",
554
+ "fireworks_ai/accounts/fireworks/models/fireworks-",
555
+ "fireworks_ai/accounts/fireworks/models/flux-",
556
+ "fireworks_ai/accounts/fireworks/models/gemma-",
557
+ "fireworks_ai/accounts/fireworks/models/glm-",
558
+ "fireworks_ai/accounts/fireworks/models/gpt-",
559
+ "fireworks_ai/accounts/fireworks/models/internvl3-",
560
+ "fireworks_ai/accounts/fireworks/models/kat-",
561
+ "fireworks_ai/accounts/fireworks/models/kimi-",
562
+ "fireworks_ai/accounts/fireworks/models/llama-",
563
+ "fireworks_ai/accounts/fireworks/models/llama4-",
564
+ "fireworks_ai/accounts/fireworks/models/minimax-",
565
+ "fireworks_ai/accounts/fireworks/models/ministral-",
566
+ "fireworks_ai/accounts/fireworks/models/mistral-",
567
+ "fireworks_ai/accounts/fireworks/models/mixtral-",
568
+ "fireworks_ai/accounts/fireworks/models/nous-",
569
+ "fireworks_ai/accounts/fireworks/models/nvidia-",
570
+ "fireworks_ai/accounts/fireworks/models/openhermes-",
571
+ "fireworks_ai/accounts/fireworks/models/phi-",
572
+ "fireworks_ai/accounts/fireworks/models/phind-",
573
+ "fireworks_ai/accounts/fireworks/models/playground-",
574
+ "fireworks_ai/accounts/fireworks/models/qwen-",
575
+ "fireworks_ai/accounts/fireworks/models/qwen2-",
576
+ "fireworks_ai/accounts/fireworks/models/qwen2p5-",
577
+ "fireworks_ai/accounts/fireworks/models/qwen3-",
578
+ "fireworks_ai/accounts/fireworks/models/starcoder-",
579
+ "fireworks_ai/accounts/fireworks/models/starcoder2-",
580
+ "fireworks_ai/accounts/fireworks/models/whisper-",
581
+ "fireworks_ai/accounts/fireworks/models/yi-"
582
+ ],
583
+ "model_count": 269
584
+ },
585
+ {
586
+ "name": "friendliai",
587
+ "display_name": "FriendliAI",
588
+ "base_url": "https://inference.friendli.ai/v1",
589
+ "auth": {
590
+ "type": "bearer",
591
+ "env_var": "FRIENDLI_TOKEN"
592
+ },
593
+ "endpoints": ["chat"],
594
+ "model_prefixes": ["friendliai/", "friendliai/meta-"],
595
+ "model_count": 2
596
+ },
597
+ {
598
+ "name": "galadriel",
599
+ "display_name": "Galadriel",
600
+ "base_url": "https://api.galadriel.com/v1",
601
+ "auth": {
602
+ "type": "bearer",
603
+ "env_var": "GALADRIEL_API_KEY"
604
+ },
605
+ "endpoints": ["chat"]
606
+ },
607
+ {
608
+ "name": "gemini",
609
+ "display_name": "Google AI Studio - Gemini",
610
+ "base_url": "https://generativelanguage.googleapis.com/v1beta/openai",
611
+ "auth": {
612
+ "type": "bearer",
613
+ "env_var": "GEMINI_API_KEY"
614
+ },
615
+ "endpoints": ["chat"],
616
+ "model_prefixes": ["gemini-", "gemini/", "gemini/gemini-", "gemini/imagen-", "gemini/veo-"],
617
+ "model_count": 60
618
+ },
619
+ {
620
+ "name": "gigachat",
621
+ "display_name": "GigaChat",
622
+ "base_url": "https://gigachat.devices.sberbank.ru/api/v1",
623
+ "auth": {
624
+ "type": "bearer",
625
+ "env_var": "GIGACHAT_API_KEY"
626
+ },
627
+ "endpoints": ["chat", "embedding"],
628
+ "model_prefixes": ["gigachat/", "gigachat/GigaChat-"],
629
+ "model_count": 6
630
+ },
631
+ {
632
+ "name": "github",
633
+ "display_name": "GitHub Models",
634
+ "base_url": "https://models.inference.ai.azure.com",
635
+ "auth": {
636
+ "type": "bearer",
637
+ "env_var": "GITHUB_API_KEY"
638
+ },
639
+ "endpoints": ["chat"]
640
+ },
641
+ {
642
+ "name": "github_copilot",
643
+ "display_name": "GitHub Copilot",
644
+ "endpoints": ["chat"],
645
+ "model_prefixes": [
646
+ "github_copilot/",
647
+ "github_copilot/claude-",
648
+ "github_copilot/gemini-",
649
+ "github_copilot/gpt-",
650
+ "github_copilot/text-"
651
+ ],
652
+ "model_count": 31
653
+ },
654
+ {
655
+ "name": "gmi",
656
+ "display_name": "GMI Cloud",
657
+ "base_url": "https://inference.gmicloud.ai/v1",
658
+ "auth": {
659
+ "type": "bearer",
660
+ "env_var": "GMI_API_KEY"
661
+ },
662
+ "endpoints": ["chat"],
663
+ "model_prefixes": ["gmi/", "gmi/anthropic/claude-", "gmi/deepseek-", "gmi/google/gemini-", "gmi/openai/gpt-"],
664
+ "model_count": 17
665
+ },
666
+ {
667
+ "name": "google_pse",
668
+ "display_name": "Google PSE",
669
+ "base_url": "https://customsearch.googleapis.com/customsearch/v1",
670
+ "auth": {
671
+ "type": "bearer",
672
+ "env_var": "GOOGLE_PSE_API_KEY"
673
+ },
674
+ "endpoints": ["search"],
675
+ "model_count": 1
676
+ },
677
+ {
678
+ "name": "gradient_ai",
679
+ "display_name": "GradientAI",
680
+ "base_url": "https://api.gradient.ai/api",
681
+ "auth": {
682
+ "type": "bearer",
683
+ "env_var": "GRADIENT_ACCESS_TOKEN"
684
+ },
685
+ "endpoints": ["chat"],
686
+ "model_prefixes": ["gradient_ai/", "gradient_ai/anthropic-", "gradient_ai/openai-"],
687
+ "model_count": 13
688
+ },
689
+ {
690
+ "name": "groq",
691
+ "display_name": "Groq AI",
692
+ "base_url": "https://api.groq.com/openai/v1",
693
+ "auth": {
694
+ "type": "bearer",
695
+ "env_var": "GROQ_API_KEY"
696
+ },
697
+ "endpoints": ["chat"],
698
+ "model_prefixes": ["groq/", "groq/llama-", "groq/meta-", "groq/openai/gpt-", "groq/whisper-"],
699
+ "model_count": 14
700
+ },
701
+ {
702
+ "name": "helicone",
703
+ "display_name": "Helicone",
704
+ "base_url": "https://gateway.helicone.ai/v1",
705
+ "auth": {
706
+ "type": "bearer",
707
+ "env_var": "HELICONE_API_KEY"
708
+ },
709
+ "endpoints": ["chat"]
710
+ },
711
+ {
712
+ "name": "heroku",
713
+ "display_name": "Heroku",
714
+ "base_url": "https://us.inference.heroku.com",
715
+ "auth": {
716
+ "type": "bearer",
717
+ "env_var": "HEROKU_API_KEY"
718
+ },
719
+ "endpoints": ["chat"],
720
+ "model_prefixes": ["heroku/", "heroku/claude-"],
721
+ "model_count": 4
722
+ },
723
+ {
724
+ "name": "hosted_vllm",
725
+ "display_name": "Hosted VLLM",
726
+ "endpoints": ["batch", "chat", "embedding", "files", "rerank"]
727
+ },
728
+ {
729
+ "name": "huggingface",
730
+ "display_name": "Huggingface",
731
+ "base_url": "https://api-inference.huggingface.co/v1",
732
+ "auth": {
733
+ "type": "bearer",
734
+ "env_var": "HUGGINGFACE_API_KEY"
735
+ },
736
+ "endpoints": ["chat", "embedding", "rerank"]
737
+ },
738
+ {
739
+ "name": "hyperbolic",
740
+ "display_name": "Hyperbolic",
741
+ "base_url": "https://api.hyperbolic.xyz/v1",
742
+ "auth": {
743
+ "type": "bearer",
744
+ "env_var": "HYPERBOLIC_API_KEY"
745
+ },
746
+ "endpoints": ["chat"],
747
+ "model_prefixes": ["hyperbolic/", "hyperbolic/Qwen/Qwen2.5-", "hyperbolic/deepseek-", "hyperbolic/meta-"],
748
+ "model_count": 16
749
+ },
750
+ {
751
+ "name": "infinity",
752
+ "display_name": "Infinity",
753
+ "base_url": "http://localhost:7997",
754
+ "auth": {
755
+ "type": "none"
756
+ },
757
+ "endpoints": ["embedding"]
758
+ },
759
+ {
760
+ "name": "jina_ai",
761
+ "display_name": "Jina AI",
762
+ "base_url": "https://api.jina.ai/v1",
763
+ "auth": {
764
+ "type": "bearer",
765
+ "env_var": "JINA_API_KEY"
766
+ },
767
+ "endpoints": ["embedding"],
768
+ "model_count": 1
769
+ },
770
+ {
771
+ "name": "lambda_ai",
772
+ "display_name": "Lambda AI",
773
+ "base_url": "https://api.lambdalabs.com/v1",
774
+ "auth": {
775
+ "type": "bearer",
776
+ "env_var": "LAMBDA_API_KEY"
777
+ },
778
+ "endpoints": ["chat"],
779
+ "model_prefixes": [
780
+ "lambda_ai/",
781
+ "lambda_ai/deepseek-",
782
+ "lambda_ai/hermes3-",
783
+ "lambda_ai/lfm-",
784
+ "lambda_ai/llama-",
785
+ "lambda_ai/llama3.1-",
786
+ "lambda_ai/llama3.2-"
787
+ ],
788
+ "model_count": 20
789
+ },
790
+ {
791
+ "name": "langgraph",
792
+ "display_name": "LangGraph",
793
+ "endpoints": ["chat"]
794
+ },
795
+ {
796
+ "name": "lemonade",
797
+ "display_name": "Lemonade",
798
+ "endpoints": ["chat"],
799
+ "model_prefixes": ["lemonade/", "lemonade/Qwen3-", "lemonade/gpt-"],
800
+ "model_count": 5
801
+ },
802
+ {
803
+ "name": "linkup",
804
+ "display_name": "Linkup",
805
+ "base_url": "https://api.linkup.so/v1",
806
+ "auth": {
807
+ "type": "bearer",
808
+ "env_var": "LINKUP_API_KEY"
809
+ },
810
+ "endpoints": ["search"],
811
+ "model_prefixes": ["linkup/"],
812
+ "model_count": 2
813
+ },
814
+ {
815
+ "name": "litellm_proxy",
816
+ "display_name": "LiteLLM Proxy",
817
+ "endpoints": ["chat", "embedding", "image"]
818
+ },
819
+ {
820
+ "name": "llamafile",
821
+ "display_name": "Llamafile",
822
+ "base_url": "http://localhost:8080/v1",
823
+ "auth": {
824
+ "type": "none"
825
+ },
826
+ "endpoints": ["chat"]
827
+ },
828
+ {
829
+ "name": "llamagate",
830
+ "display_name": "LlamaGate",
831
+ "base_url": "https://api.llamagate.dev/v1",
832
+ "auth": {
833
+ "type": "bearer",
834
+ "env_var": "LLAMAGATE_API_KEY"
835
+ },
836
+ "param_mappings": {
837
+ "max_completion_tokens": "max_tokens"
838
+ },
839
+ "endpoints": ["chat"],
840
+ "model_prefixes": ["llamagate/", "llamagate/deepseek-", "llamagate/llama-", "llamagate/qwen3-"],
841
+ "model_count": 16
842
+ },
843
+ {
844
+ "name": "lm_studio",
845
+ "display_name": "LM Studio",
846
+ "base_url": "http://localhost:1234/v1",
847
+ "auth": {
848
+ "type": "none"
849
+ },
850
+ "endpoints": ["chat"]
851
+ },
852
+ {
853
+ "name": "manus",
854
+ "display_name": "Manus",
855
+ "endpoints": ["chat", "files"]
856
+ },
857
+ {
858
+ "name": "maritalk",
859
+ "display_name": "Maritalk",
860
+ "base_url": "https://chat.maritaca.ai/api",
861
+ "auth": {
862
+ "type": "bearer",
863
+ "env_var": "MARITALK_API_KEY"
864
+ },
865
+ "endpoints": ["chat"]
866
+ },
867
+ {
868
+ "name": "meta_llama",
869
+ "display_name": "Meta - Llama API",
870
+ "base_url": "https://api.llama.com/compat/v1",
871
+ "auth": {
872
+ "type": "bearer",
873
+ "env_var": "LLAMA_API_KEY"
874
+ },
875
+ "endpoints": ["chat"],
876
+ "model_prefixes": ["meta_llama/", "meta_llama/Llama-"],
877
+ "model_count": 4
878
+ },
879
+ {
880
+ "name": "milvus",
881
+ "display_name": "Milvus"
882
+ },
883
+ {
884
+ "name": "minimax",
885
+ "display_name": "Minimax",
886
+ "base_url": "https://api.minimax.chat/v1",
887
+ "auth": {
888
+ "type": "bearer",
889
+ "env_var": "MINIMAX_API_KEY"
890
+ },
891
+ "endpoints": ["chat"],
892
+ "model_prefixes": ["minimax/", "minimax/MiniMax-", "minimax/speech-"],
893
+ "model_count": 9
894
+ },
895
+ {
896
+ "name": "mistral",
897
+ "display_name": "Mistral AI API",
898
+ "base_url": "https://api.mistral.ai/v1",
899
+ "auth": {
900
+ "type": "bearer",
901
+ "env_var": "MISTRAL_API_KEY"
902
+ },
903
+ "endpoints": ["chat", "embedding", "ocr"],
904
+ "model_prefixes": [
905
+ "mistral/",
906
+ "mistral/codestral-",
907
+ "mistral/devstral-",
908
+ "mistral/magistral-",
909
+ "mistral/ministral-",
910
+ "mistral/mistral-",
911
+ "mistral/open-",
912
+ "mistral/pixtral-"
913
+ ],
914
+ "model_count": 51
915
+ },
916
+ {
917
+ "name": "moonshot",
918
+ "display_name": "Moonshot",
919
+ "base_url": "https://api.moonshot.cn/v1",
920
+ "auth": {
921
+ "type": "bearer",
922
+ "env_var": "MOONSHOT_API_KEY"
923
+ },
924
+ "endpoints": ["chat"],
925
+ "model_prefixes": ["moonshot/", "moonshot/kimi-", "moonshot/moonshot-"],
926
+ "model_count": 21
927
+ },
928
+ {
929
+ "name": "morph",
930
+ "display_name": "Morph",
931
+ "base_url": "https://api.morph.so/v1",
932
+ "auth": {
933
+ "type": "bearer",
934
+ "env_var": "MORPH_API_KEY"
935
+ },
936
+ "endpoints": ["chat"],
937
+ "model_prefixes": ["morph/", "morph/morph-"],
938
+ "model_count": 2
939
+ },
940
+ {
941
+ "name": "nanogpt",
942
+ "display_name": "NanoGPT",
943
+ "base_url": "https://nano-gpt.com/api/v1",
944
+ "auth": {
945
+ "type": "bearer",
946
+ "env_var": "NANOGPT_API_KEY"
947
+ },
948
+ "endpoints": ["chat", "embedding"]
949
+ },
950
+ {
951
+ "name": "nebius",
952
+ "display_name": "Nebius AI Studio",
953
+ "base_url": "https://api.studio.nebius.ai/v1",
954
+ "auth": {
955
+ "type": "bearer",
956
+ "env_var": "NEBIUS_API_KEY"
957
+ },
958
+ "endpoints": ["chat", "embedding"],
959
+ "model_prefixes": [
960
+ "nebius/",
961
+ "nebius/BAAI/bge-",
962
+ "nebius/Qwen/Qwen2-",
963
+ "nebius/Qwen/Qwen2.5-",
964
+ "nebius/Qwen/Qwen3-",
965
+ "nebius/deepseek-",
966
+ "nebius/meta-",
967
+ "nebius/nvidia/Llama-"
968
+ ],
969
+ "model_count": 30
970
+ },
971
+ {
972
+ "name": "nlp_cloud",
973
+ "display_name": "NLP Cloud",
974
+ "base_url": "https://api.nlpcloud.io/v1",
975
+ "auth": {
976
+ "type": "bearer",
977
+ "env_var": "NLP_CLOUD_API_KEY"
978
+ },
979
+ "endpoints": ["chat"],
980
+ "model_count": 2
981
+ },
982
+ {
983
+ "name": "novita",
984
+ "display_name": "Novita AI",
985
+ "base_url": "https://api.novita.ai/v3/openai",
986
+ "auth": {
987
+ "type": "bearer",
988
+ "env_var": "NOVITA_API_KEY"
989
+ },
990
+ "endpoints": ["chat"],
991
+ "model_prefixes": [
992
+ "novita/",
993
+ "novita/baai/bge-",
994
+ "novita/baidu/ernie-",
995
+ "novita/deepseek/deepseek-",
996
+ "novita/google/gemma-",
997
+ "novita/meta-",
998
+ "novita/minimax/minimax-",
999
+ "novita/moonshotai/kimi-",
1000
+ "novita/openai/gpt-",
1001
+ "novita/qwen/qwen-",
1002
+ "novita/qwen/qwen2.5-",
1003
+ "novita/qwen/qwen3-",
1004
+ "novita/sao10k/l3-",
1005
+ "novita/zai-"
1006
+ ],
1007
+ "model_count": 85
1008
+ },
1009
+ {
1010
+ "name": "nscale",
1011
+ "display_name": "Nscale",
1012
+ "base_url": "https://inference.api.nscale.com/v1",
1013
+ "auth": {
1014
+ "type": "bearer",
1015
+ "env_var": "NSCALE_API_KEY"
1016
+ },
1017
+ "endpoints": ["chat"],
1018
+ "model_prefixes": ["nscale/", "nscale/Qwen/Qwen2.5-", "nscale/deepseek-", "nscale/meta-"],
1019
+ "model_count": 16
1020
+ },
1021
+ {
1022
+ "name": "nvidia_nim",
1023
+ "display_name": "Nvidia NIM",
1024
+ "base_url": "https://integrate.api.nvidia.com/v1",
1025
+ "auth": {
1026
+ "type": "bearer",
1027
+ "env_var": "NVIDIA_NIM_API_KEY"
1028
+ },
1029
+ "endpoints": ["chat"],
1030
+ "model_prefixes": ["nvidia_nim/"],
1031
+ "model_count": 3
1032
+ },
1033
+ {
1034
+ "name": "oci",
1035
+ "display_name": "OCI",
1036
+ "endpoints": ["chat"],
1037
+ "model_prefixes": ["oci/", "oci/cohere.command-", "oci/meta.llama-", "oci/xai.grok-"],
1038
+ "model_count": 13
1039
+ },
1040
+ {
1041
+ "name": "ollama",
1042
+ "display_name": "Ollama",
1043
+ "base_url": "http://localhost:11434/v1",
1044
+ "auth": {
1045
+ "type": "none"
1046
+ },
1047
+ "endpoints": ["chat", "embedding"],
1048
+ "model_prefixes": ["ollama/", "ollama/deepseek-", "ollama/gpt-", "ollama/mistral-", "ollama/mixtral-"],
1049
+ "model_count": 29
1050
+ },
1051
+ {
1052
+ "name": "ollama_chat",
1053
+ "display_name": "Ollama Chat",
1054
+ "base_url": "http://localhost:11434/v1",
1055
+ "auth": {
1056
+ "type": "none"
1057
+ },
1058
+ "endpoints": ["chat"]
1059
+ },
1060
+ {
1061
+ "name": "oobabooga",
1062
+ "display_name": "Oobabooga",
1063
+ "base_url": "http://localhost:5000/v1",
1064
+ "auth": {
1065
+ "type": "none"
1066
+ },
1067
+ "endpoints": ["audio", "batch", "chat", "moderation"]
1068
+ },
1069
+ {
1070
+ "name": "openai",
1071
+ "display_name": "OpenAI",
1072
+ "base_url": "https://api.openai.com/v1",
1073
+ "auth": {
1074
+ "type": "bearer",
1075
+ "env_var": "OPENAI_API_KEY"
1076
+ },
1077
+ "endpoints": ["audio", "batch", "chat", "completion", "embedding", "image", "moderation"],
1078
+ "model_prefixes": [
1079
+ "1024-",
1080
+ "1024-x-1024/",
1081
+ "1024-x-1536/",
1082
+ "1536-",
1083
+ "1536-x-1024/",
1084
+ "chatgpt-",
1085
+ "dall-",
1086
+ "ft:gpt-",
1087
+ "gpt-",
1088
+ "hd/",
1089
+ "hd/1024-",
1090
+ "high/",
1091
+ "high/1024-",
1092
+ "high/1536-",
1093
+ "low/",
1094
+ "low/1024-",
1095
+ "low/1536-",
1096
+ "medium/",
1097
+ "medium/1024-",
1098
+ "medium/1536-",
1099
+ "o1-",
1100
+ "o3-",
1101
+ "o4-",
1102
+ "omni-",
1103
+ "openai/",
1104
+ "openai/sora-",
1105
+ "sora-",
1106
+ "standard/",
1107
+ "standard/1024-",
1108
+ "standard/1536-",
1109
+ "text-",
1110
+ "tts-"
1111
+ ],
1112
+ "model_count": 203
1113
+ },
1114
+ {
1115
+ "name": "openai_like",
1116
+ "display_name": "OpenAI-like",
1117
+ "endpoints": ["embedding"]
1118
+ },
1119
+ {
1120
+ "name": "openrouter",
1121
+ "display_name": "OpenRouter",
1122
+ "base_url": "https://openrouter.ai/api/v1",
1123
+ "auth": {
1124
+ "type": "bearer",
1125
+ "env_var": "OPENROUTER_API_KEY"
1126
+ },
1127
+ "endpoints": ["chat", "embedding"],
1128
+ "model_prefixes": [
1129
+ "openrouter/",
1130
+ "openrouter/anthropic/claude-",
1131
+ "openrouter/deepseek/deepseek-",
1132
+ "openrouter/google/gemini-",
1133
+ "openrouter/minimax/minimax-",
1134
+ "openrouter/mistralai/ministral-",
1135
+ "openrouter/mistralai/mistral-",
1136
+ "openrouter/openai/gpt-",
1137
+ "openrouter/openai/o3-",
1138
+ "openrouter/qwen/qwen-",
1139
+ "openrouter/qwen/qwen3-",
1140
+ "openrouter/qwen/qwen3.5-",
1141
+ "openrouter/z-"
1142
+ ],
1143
+ "model_count": 89
1144
+ },
1145
+ {
1146
+ "name": "ovhcloud",
1147
+ "display_name": "OVHCloud AI Endpoints",
1148
+ "base_url": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
1149
+ "auth": {
1150
+ "type": "bearer",
1151
+ "env_var": "OVH_API_KEY"
1152
+ },
1153
+ "endpoints": ["audio", "chat"],
1154
+ "model_prefixes": ["ovhcloud/", "ovhcloud/Meta-", "ovhcloud/Mistral-", "ovhcloud/Qwen2.5-", "ovhcloud/gpt-"],
1155
+ "model_count": 15
1156
+ },
1157
+ {
1158
+ "name": "parallel_ai",
1159
+ "display_name": "Parallel AI",
1160
+ "base_url": "https://api.parallel.ai/v1",
1161
+ "auth": {
1162
+ "type": "bearer",
1163
+ "env_var": "PARALLEL_AI_API_KEY"
1164
+ },
1165
+ "endpoints": ["search"],
1166
+ "model_prefixes": ["parallel_ai/"],
1167
+ "model_count": 2
1168
+ },
1169
+ {
1170
+ "name": "perplexity",
1171
+ "display_name": "Perplexity AI",
1172
+ "base_url": "https://api.perplexity.ai",
1173
+ "auth": {
1174
+ "type": "bearer",
1175
+ "env_var": "PERPLEXITYAI_API_KEY"
1176
+ },
1177
+ "endpoints": ["chat", "search"],
1178
+ "model_prefixes": [
1179
+ "perplexity/",
1180
+ "perplexity/anthropic/claude-",
1181
+ "perplexity/codellama-",
1182
+ "perplexity/google/gemini-",
1183
+ "perplexity/llama-",
1184
+ "perplexity/openai/gpt-",
1185
+ "perplexity/pplx-",
1186
+ "perplexity/sonar-"
1187
+ ],
1188
+ "model_count": 40
1189
+ },
1190
+ {
1191
+ "name": "petals",
1192
+ "display_name": "Petals",
1193
+ "endpoints": ["chat"]
1194
+ },
1195
+ {
1196
+ "name": "pg_vector",
1197
+ "display_name": "PG Vector"
1198
+ },
1199
+ {
1200
+ "name": "poe",
1201
+ "display_name": "Poe",
1202
+ "base_url": "https://api.poe.com/bot",
1203
+ "auth": {
1204
+ "type": "bearer",
1205
+ "env_var": "POE_API_KEY"
1206
+ },
1207
+ "param_mappings": {
1208
+ "max_completion_tokens": "max_tokens"
1209
+ },
1210
+ "endpoints": ["chat", "embedding"]
1211
+ },
1212
+ {
1213
+ "name": "predibase",
1214
+ "display_name": "Predibase",
1215
+ "base_url": "https://serving.app.predibase.com",
1216
+ "auth": {
1217
+ "type": "bearer",
1218
+ "env_var": "PREDIBASE_API_KEY"
1219
+ },
1220
+ "endpoints": ["chat"]
1221
+ },
1222
+ {
1223
+ "name": "publicai",
1224
+ "display_name": "PublicAI",
1225
+ "base_url": "https://api.publicai.co/v1",
1226
+ "auth": {
1227
+ "type": "bearer",
1228
+ "env_var": "PUBLICAI_API_KEY"
1229
+ },
1230
+ "param_mappings": {
1231
+ "max_completion_tokens": "max_tokens"
1232
+ },
1233
+ "endpoints": ["chat"],
1234
+ "model_prefixes": ["publicai/", "publicai/BSC-", "publicai/allenai/Olmo-", "publicai/swiss-"],
1235
+ "model_count": 9
1236
+ },
1237
+ {
1238
+ "name": "pydantic_ai_agents",
1239
+ "display_name": "Pydantic AI Agents"
1240
+ },
1241
+ {
1242
+ "name": "ragflow",
1243
+ "display_name": "RAGFlow",
1244
+ "endpoints": ["chat"]
1245
+ },
1246
+ {
1247
+ "name": "recraft",
1248
+ "display_name": "Recraft",
1249
+ "base_url": "https://external.api.recraft.ai/v1",
1250
+ "auth": {
1251
+ "type": "bearer",
1252
+ "env_var": "RECRAFT_API_KEY"
1253
+ },
1254
+ "endpoints": ["image"],
1255
+ "model_prefixes": ["recraft/"],
1256
+ "model_count": 2
1257
+ },
1258
+ {
1259
+ "name": "replicate",
1260
+ "display_name": "Replicate",
1261
+ "base_url": "https://api.replicate.com/v1",
1262
+ "auth": {
1263
+ "type": "bearer",
1264
+ "env_var": "REPLICATE_API_KEY"
1265
+ },
1266
+ "endpoints": ["chat"],
1267
+ "model_prefixes": [
1268
+ "replicate/",
1269
+ "replicate/anthropic/claude-",
1270
+ "replicate/deepseek-",
1271
+ "replicate/google/gemini-",
1272
+ "replicate/meta/llama-",
1273
+ "replicate/mistralai/mistral-",
1274
+ "replicate/openai/gpt-"
1275
+ ],
1276
+ "model_count": 40
1277
+ },
1278
+ {
1279
+ "name": "runwayml",
1280
+ "display_name": "RunwayML",
1281
+ "base_url": "https://api.dev.runwayml.com/v1",
1282
+ "auth": {
1283
+ "type": "bearer",
1284
+ "env_var": "RUNWAYML_API_KEY"
1285
+ },
1286
+ "endpoints": ["audio", "image"],
1287
+ "model_prefixes": ["runwayml/"],
1288
+ "model_count": 6
1289
+ },
1290
+ {
1291
+ "name": "s3_vectors",
1292
+ "display_name": "AWS S3 Vectors"
1293
+ },
1294
+ {
1295
+ "name": "sagemaker",
1296
+ "display_name": "AWS - Sagemaker",
1297
+ "endpoints": ["chat", "embedding"],
1298
+ "model_prefixes": ["sagemaker/", "sagemaker/meta-"],
1299
+ "model_count": 6
1300
+ },
1301
+ {
1302
+ "name": "sagemaker_chat",
1303
+ "display_name": "Sagemaker Chat",
1304
+ "endpoints": ["chat"]
1305
+ },
1306
+ {
1307
+ "name": "sambanova",
1308
+ "display_name": "Sambanova",
1309
+ "base_url": "https://api.sambanova.ai/v1",
1310
+ "auth": {
1311
+ "type": "bearer",
1312
+ "env_var": "SAMBANOVA_API_KEY"
1313
+ },
1314
+ "endpoints": ["chat"],
1315
+ "model_prefixes": ["sambanova/", "sambanova/DeepSeek-", "sambanova/Llama-", "sambanova/Meta-"],
1316
+ "model_count": 16
1317
+ },
1318
+ {
1319
+ "name": "sap",
1320
+ "display_name": "SAP Generative AI Hub",
1321
+ "endpoints": ["chat"]
1322
+ },
1323
+ {
1324
+ "name": "sarvam",
1325
+ "display_name": "Sarvam",
1326
+ "base_url": "https://api.sarvam.ai/v1",
1327
+ "auth": {
1328
+ "type": "bearer",
1329
+ "env_var": "SARVAM_API_KEY"
1330
+ },
1331
+ "param_mappings": {
1332
+ "max_completion_tokens": "max_tokens"
1333
+ },
1334
+ "endpoints": ["chat"],
1335
+ "model_count": 1
1336
+ },
1337
+ {
1338
+ "name": "scaleway",
1339
+ "display_name": "Scaleway",
1340
+ "base_url": "https://api.scaleway.ai/v1",
1341
+ "auth": {
1342
+ "type": "bearer",
1343
+ "env_var": "SCW_SECRET_KEY"
1344
+ },
1345
+ "endpoints": ["chat"]
1346
+ },
1347
+ {
1348
+ "name": "searxng",
1349
+ "display_name": "SearXNG",
1350
+ "endpoints": ["search"],
1351
+ "model_count": 1
1352
+ },
1353
+ {
1354
+ "name": "serper",
1355
+ "display_name": "Serper",
1356
+ "base_url": "https://google.serper.dev",
1357
+ "auth": {
1358
+ "type": "bearer",
1359
+ "env_var": "SERPER_API_KEY"
1360
+ },
1361
+ "endpoints": ["search"],
1362
+ "model_count": 1
1363
+ },
1364
+ {
1365
+ "name": "snowflake",
1366
+ "display_name": "Snowflake",
1367
+ "endpoints": ["chat"],
1368
+ "model_prefixes": [
1369
+ "snowflake/",
1370
+ "snowflake/jamba-",
1371
+ "snowflake/llama3-",
1372
+ "snowflake/llama3.1-",
1373
+ "snowflake/llama3.2-",
1374
+ "snowflake/mistral-",
1375
+ "snowflake/reka-",
1376
+ "snowflake/snowflake-"
1377
+ ],
1378
+ "model_count": 24
1379
+ },
1380
+ {
1381
+ "name": "stability",
1382
+ "display_name": "Stability AI",
1383
+ "base_url": "https://api.stability.ai/v2beta",
1384
+ "auth": {
1385
+ "type": "bearer",
1386
+ "env_var": "STABILITY_API_KEY"
1387
+ },
1388
+ "endpoints": ["image"],
1389
+ "model_prefixes": ["stability/", "stability/sd3-", "stability/sd3.5-", "stability/search-", "stability/stable-"],
1390
+ "model_count": 23
1391
+ },
1392
+ {
1393
+ "name": "synthetic",
1394
+ "display_name": "Synthetic",
1395
+ "base_url": "https://api.synthetic.new/openai/v1",
1396
+ "auth": {
1397
+ "type": "bearer",
1398
+ "env_var": "SYNTHETIC_API_KEY"
1399
+ },
1400
+ "param_mappings": {
1401
+ "max_completion_tokens": "max_tokens"
1402
+ },
1403
+ "endpoints": ["chat", "embedding"]
1404
+ },
1405
+ {
1406
+ "name": "tavily",
1407
+ "display_name": "Tavily",
1408
+ "base_url": "https://api.tavily.com/v1",
1409
+ "auth": {
1410
+ "type": "bearer",
1411
+ "env_var": "TAVILY_API_KEY"
1412
+ },
1413
+ "endpoints": ["search"],
1414
+ "model_prefixes": ["tavily/"],
1415
+ "model_count": 2
1416
+ },
1417
+ {
1418
+ "name": "text-completion-codestral",
1419
+ "display_name": "Text Completion Codestral",
1420
+ "base_url": "https://codestral.mistral.ai/v1",
1421
+ "auth": {
1422
+ "type": "bearer",
1423
+ "env_var": "CODESTRAL_API_KEY"
1424
+ },
1425
+ "endpoints": ["chat"],
1426
+ "model_prefixes": ["text-", "text-completion-codestral/"],
1427
+ "model_count": 2
1428
+ },
1429
+ {
1430
+ "name": "text-completion-openai",
1431
+ "display_name": "Text Completion OpenAI",
1432
+ "base_url": "https://api.openai.com/v1",
1433
+ "auth": {
1434
+ "type": "bearer",
1435
+ "env_var": "OPENAI_API_KEY"
1436
+ },
1437
+ "endpoints": ["audio", "batch", "chat", "moderation"],
1438
+ "model_prefixes": ["gpt-"],
1439
+ "model_count": 6
1440
+ },
1441
+ {
1442
+ "name": "together_ai",
1443
+ "display_name": "Together AI",
1444
+ "base_url": "https://api.together.xyz/v1",
1445
+ "auth": {
1446
+ "type": "bearer",
1447
+ "env_var": "TOGETHER_AI_API_KEY"
1448
+ },
1449
+ "endpoints": ["chat"],
1450
+ "model_prefixes": [
1451
+ "together-",
1452
+ "together_ai/",
1453
+ "together_ai/Qwen/Qwen2.5-",
1454
+ "together_ai/Qwen/Qwen3-",
1455
+ "together_ai/deepseek-",
1456
+ "together_ai/meta-",
1457
+ "together_ai/mistralai/Mistral-",
1458
+ "together_ai/moonshotai/Kimi-",
1459
+ "together_ai/openai/gpt-",
1460
+ "together_ai/zai-"
1461
+ ],
1462
+ "model_count": 43
1463
+ },
1464
+ {
1465
+ "name": "topaz",
1466
+ "display_name": "Topaz",
1467
+ "base_url": "https://api.topazlabs.com/image/v1",
1468
+ "auth": {
1469
+ "type": "bearer",
1470
+ "env_var": "TOPAZ_API_KEY"
1471
+ }
1472
+ },
1473
+ {
1474
+ "name": "triton",
1475
+ "display_name": "Triton",
1476
+ "endpoints": ["chat"]
1477
+ },
1478
+ {
1479
+ "name": "v0",
1480
+ "display_name": "V0",
1481
+ "endpoints": ["chat"],
1482
+ "model_prefixes": ["v0/", "v0/v0-"],
1483
+ "model_count": 3
1484
+ },
1485
+ {
1486
+ "name": "venice",
1487
+ "display_name": "Venice.ai",
1488
+ "base_url": "https://api.venice.ai/api/v1",
1489
+ "auth": {
1490
+ "type": "bearer",
1491
+ "env_var": "VENICE_API_KEY"
1492
+ },
1493
+ "endpoints": ["chat"]
1494
+ },
1495
+ {
1496
+ "name": "vercel_ai_gateway",
1497
+ "display_name": "Vercel AI Gateway",
1498
+ "endpoints": ["chat"],
1499
+ "model_prefixes": [
1500
+ "vercel_ai_gateway/",
1501
+ "vercel_ai_gateway/alibaba/qwen-",
1502
+ "vercel_ai_gateway/amazon/nova-",
1503
+ "vercel_ai_gateway/anthropic/claude-",
1504
+ "vercel_ai_gateway/cohere/command-",
1505
+ "vercel_ai_gateway/deepseek/deepseek-",
1506
+ "vercel_ai_gateway/google/gemini-",
1507
+ "vercel_ai_gateway/google/text-",
1508
+ "vercel_ai_gateway/meta/llama-",
1509
+ "vercel_ai_gateway/mistral/magistral-",
1510
+ "vercel_ai_gateway/mistral/ministral-",
1511
+ "vercel_ai_gateway/mistral/mistral-",
1512
+ "vercel_ai_gateway/mistral/pixtral-",
1513
+ "vercel_ai_gateway/morph/morph-",
1514
+ "vercel_ai_gateway/openai/gpt-",
1515
+ "vercel_ai_gateway/openai/text-",
1516
+ "vercel_ai_gateway/perplexity/sonar-",
1517
+ "vercel_ai_gateway/vercel/v0-",
1518
+ "vercel_ai_gateway/xai/grok-",
1519
+ "vercel_ai_gateway/zai/glm-"
1520
+ ],
1521
+ "model_count": 101
1522
+ },
1523
+ {
1524
+ "name": "vertex_ai",
1525
+ "display_name": "Google - Vertex AI",
1526
+ "endpoints": ["audio", "chat", "embedding", "image", "ocr"],
1527
+ "model_prefixes": ["vertex_ai/", "vertex_ai/gemini-"],
1528
+ "model_count": 9
1529
+ },
1530
+ {
1531
+ "name": "vertex_ai/agent_engine",
1532
+ "display_name": "Vertex AI Agent Engine",
1533
+ "endpoints": ["chat"]
1534
+ },
1535
+ {
1536
+ "name": "vllm",
1537
+ "display_name": "VLLM",
1538
+ "base_url": "http://localhost:8000/v1",
1539
+ "auth": {
1540
+ "type": "none"
1541
+ },
1542
+ "endpoints": ["batch", "chat", "embedding", "files", "rerank"]
1543
+ },
1544
+ {
1545
+ "name": "volcengine",
1546
+ "display_name": "Volcengine",
1547
+ "base_url": "https://ark.cn-beijing.volces.com/api/v3",
1548
+ "auth": {
1549
+ "type": "bearer",
1550
+ "env_var": "VOLCENGINE_API_KEY"
1551
+ },
1552
+ "endpoints": ["chat"],
1553
+ "model_prefixes": ["doubao-", "volcengine/", "volcengine/doubao-"],
1554
+ "model_count": 12
1555
+ },
1556
+ {
1557
+ "name": "voyage",
1558
+ "display_name": "Voyage AI",
1559
+ "base_url": "https://api.voyageai.com/v1",
1560
+ "auth": {
1561
+ "type": "bearer",
1562
+ "env_var": "VOYAGE_API_KEY"
1563
+ },
1564
+ "endpoints": ["embedding", "rerank"],
1565
+ "model_prefixes": ["voyage/", "voyage/rerank-", "voyage/voyage-"],
1566
+ "model_count": 19
1567
+ },
1568
+ {
1569
+ "name": "wandb",
1570
+ "display_name": "WandB Inference",
1571
+ "base_url": "https://api.wandb.ai/proxy/openai/v1",
1572
+ "auth": {
1573
+ "type": "bearer",
1574
+ "env_var": "WANDB_API_KEY"
1575
+ },
1576
+ "endpoints": ["chat"],
1577
+ "model_prefixes": ["wandb/", "wandb/Qwen/Qwen3-", "wandb/deepseek-", "wandb/meta-", "wandb/openai/gpt-"],
1578
+ "model_count": 14
1579
+ },
1580
+ {
1581
+ "name": "watsonx",
1582
+ "display_name": "IBM - Watsonx.ai",
1583
+ "endpoints": ["audio", "chat", "embedding"],
1584
+ "model_prefixes": ["watsonx/", "watsonx/ibm/granite-", "watsonx/meta-", "watsonx/mistralai/mistral-"],
1585
+ "model_count": 29
1586
+ },
1587
+ {
1588
+ "name": "watsonx_text",
1589
+ "display_name": "Watsonx Text",
1590
+ "endpoints": ["chat"]
1591
+ },
1592
+ {
1593
+ "name": "xai",
1594
+ "display_name": "xAI",
1595
+ "base_url": "https://api.x.ai/v1",
1596
+ "auth": {
1597
+ "type": "bearer",
1598
+ "env_var": "XAI_API_KEY"
1599
+ },
1600
+ "endpoints": ["chat"],
1601
+ "model_prefixes": ["xai/", "xai/grok-"],
1602
+ "model_count": 35
1603
+ },
1604
+ {
1605
+ "name": "xiaomi_mimo",
1606
+ "display_name": "Xiaomi Mimo",
1607
+ "base_url": "https://api.xiaomimimo.com/v1",
1608
+ "auth": {
1609
+ "type": "bearer",
1610
+ "env_var": "XIAOMI_MIMO_API_KEY"
1611
+ },
1612
+ "param_mappings": {
1613
+ "max_completion_tokens": "max_tokens"
1614
+ },
1615
+ "endpoints": ["chat"]
1616
+ },
1617
+ {
1618
+ "name": "xinference",
1619
+ "display_name": "Xinference",
1620
+ "base_url": "http://localhost:9997/v1",
1621
+ "auth": {
1622
+ "type": "none"
1623
+ },
1624
+ "endpoints": ["embedding"]
1625
+ },
1626
+ {
1627
+ "name": "zai",
1628
+ "display_name": "Z.AI",
1629
+ "endpoints": ["chat"],
1630
+ "model_prefixes": ["zai/", "zai/glm-"],
1631
+ "model_count": 11
1632
+ }
1633
+ ],
1634
+ "complex_providers": [
1635
+ "amazon_nova",
1636
+ "anthropic",
1637
+ "anthropic_text",
1638
+ "aws_polly",
1639
+ "azure",
1640
+ "azure_ai",
1641
+ "azure_ai/agents",
1642
+ "azure_ai/doc-intelligence",
1643
+ "azure_text",
1644
+ "baseten",
1645
+ "bedrock",
1646
+ "cloudflare",
1647
+ "databricks",
1648
+ "datarobot",
1649
+ "gigachat",
1650
+ "github_copilot",
1651
+ "oci",
1652
+ "s3_vectors",
1653
+ "sagemaker",
1654
+ "sagemaker_chat",
1655
+ "sap",
1656
+ "snowflake",
1657
+ "vertex_ai",
1658
+ "vertex_ai/agent_engine",
1659
+ "watsonx",
1660
+ "watsonx_text"
1661
+ ]
1662
+ }