mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-29 06:33:28 +00:00
Merge 7bf684d82e into 208cac49f0
This commit is contained in:
commit
7f8381b97a
9 changed files with 1036 additions and 0 deletions
|
|
@ -1047,6 +1047,7 @@ openai_compatible_endpoints: Final[list[str]] = [
|
|||
"https://inference.coralbricks.ai/v1",
|
||||
"https://api.cortecs.ai/v1",
|
||||
"https://api.scx.ai/v1",
|
||||
"https://bettertoken.ai/v1",
|
||||
"https://api.prisminference.com/v1",
|
||||
"https://api.reka.ai/v1",
|
||||
"https://gigachat.devices.sberbank.ru/api/v1",
|
||||
|
|
@ -1126,6 +1127,7 @@ openai_compatible_providers: Final[list[str]] = [
|
|||
"coralbricks",
|
||||
"cortecs",
|
||||
"scx-ai",
|
||||
"bettertoken",
|
||||
"prism",
|
||||
"sail",
|
||||
"reka",
|
||||
|
|
|
|||
|
|
@ -249,5 +249,11 @@
|
|||
"/v1/responses",
|
||||
"/v1/messages"
|
||||
]
|
||||
},
|
||||
"bettertoken": {
|
||||
"base_url": "https://bettertoken.ai/v1",
|
||||
"api_key_env": "BETTERTOKEN_API_KEY",
|
||||
"api_base_env": "BETTERTOKEN_API_BASE",
|
||||
"supported_endpoints": ["/v1/chat/completions", "/v1/responses", "/v1/messages"]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -284,6 +284,459 @@
|
|||
"output_cost_per_image": 0.06,
|
||||
"supports_nova_canvas_image_edit": true
|
||||
},
|
||||
"bettertoken/MiniMax-M3": {
|
||||
"cache_read_input_token_cost": 3.48e-08,
|
||||
"cache_read_input_token_cost_above_512k_tokens": 6.96e-08,
|
||||
"input_cost_per_token": 1.74e-07,
|
||||
"input_cost_per_token_above_512k_tokens": 3.48e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 512000,
|
||||
"max_tokens": 512000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.96e-07,
|
||||
"output_cost_per_token_above_512k_tokens": 1.392e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-fable-5": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_read_input_token_cost": 6.8e-07,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-fable-5-1": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_read_input_token_cost": 1.7e-07,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-haiku-4-5-20251001": {
|
||||
"cache_creation_input_token_cost": 8.5e-07,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"input_cost_per_token": 6.8e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"max_tokens": 64000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-haiku-5-5": {
|
||||
"cache_creation_input_token_cost": 8.5e-08,
|
||||
"cache_creation_input_token_cost_above_100k_tokens": 4.25e-07,
|
||||
"cache_read_input_token_cost": 6.8e-09,
|
||||
"cache_read_input_token_cost_above_100k_tokens": 3.4e-08,
|
||||
"input_cost_per_token": 6.8e-08,
|
||||
"input_cost_per_token_above_100k_tokens": 3.4e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-07,
|
||||
"output_cost_per_token_above_100k_tokens": 1.7e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-4-8": {
|
||||
"cache_creation_input_token_cost": 4.25e-06,
|
||||
"cache_read_input_token_cost": 3.4e-07,
|
||||
"input_cost_per_token": 3.4e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.7e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-5": {
|
||||
"cache_creation_input_token_cost": 4.25e-06,
|
||||
"cache_read_input_token_cost": 3.4e-07,
|
||||
"input_cost_per_token": 3.4e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.7e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-5-5": {
|
||||
"cache_creation_input_token_cost": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"input_cost_per_token": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.36e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-sonnet-5": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-sonnet-5-5": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/deepseek-flash": {
|
||||
"cache_read_input_token_cost": 4.68e-09,
|
||||
"input_cost_per_token": 2.34e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.36e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/deepseek-pro": {
|
||||
"cache_read_input_token_cost": 3.432e-08,
|
||||
"input_cost_per_token": 1.03e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.089e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/deepseek-v4-pro-0813": {
|
||||
"cache_read_input_token_cost": 3.432e-08,
|
||||
"input_cost_per_token": 1.03e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.089e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.2": {
|
||||
"cache_read_input_token_cost": 1.95e-07,
|
||||
"input_cost_per_token": 1.05e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.3e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.3": {
|
||||
"cache_read_input_token_cost": 1.95e-07,
|
||||
"input_cost_per_token": 1.05e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.3e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.3-flash": {
|
||||
"cache_read_input_token_cost": 2.25e-08,
|
||||
"input_cost_per_token": 1.125e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.75e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-luna": {
|
||||
"cache_creation_input_token_cost": 1.7e-07,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-07,
|
||||
"cache_read_input_token_cost": 1.36e-08,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-08,
|
||||
"input_cost_per_token": 1.36e-07,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.16e-07,
|
||||
"output_cost_per_token_above_272k_tokens": 1.224e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-sol": {
|
||||
"cache_creation_input_token_cost": 3.4e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 6.8e-06,
|
||||
"cache_read_input_token_cost": 2.72e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 5.44e-07,
|
||||
"input_cost_per_token": 2.72e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 5.44e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.36e-05,
|
||||
"output_cost_per_token_above_272k_tokens": 2.04e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-terra": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.16e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.224e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-astra": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 1.7e-05,
|
||||
"cache_read_input_token_cost": 6.8e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-06,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 1.36e-05,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"output_cost_per_token_above_272k_tokens": 5.1e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-luna": {
|
||||
"cache_creation_input_token_cost": 8.5e-08,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 1.7e-07,
|
||||
"cache_read_input_token_cost": 6.8e-09,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-08,
|
||||
"input_cost_per_token": 6.8e-08,
|
||||
"input_cost_per_token_above_272k_tokens": 1.36e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-07,
|
||||
"output_cost_per_token_above_272k_tokens": 5.1e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-sol": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6.1-sol": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/kimi-k3": {
|
||||
"cache_creation_input_token_cost": 2.04e-06,
|
||||
"cache_read_input_token_cost": 2.04e-07,
|
||||
"input_cost_per_token": 2.04e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/qwen3.8-max": {
|
||||
"cache_creation_input_token_cost": 1.8e-06,
|
||||
"cache_read_input_token_cost": 1.8e-07,
|
||||
"input_cost_per_token": 1.44e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.32e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"us.amazon.nova-canvas-v1:0": {
|
||||
"deprecation_date": "2026-09-30",
|
||||
"litellm_provider": "bedrock",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,24 @@
|
|||
{
|
||||
"_comment": "This file defines which endpoints are supported by each LiteLLM provider",
|
||||
"_schema": {
|
||||
"bettertoken": {
|
||||
"display_name": "BetterToken (`bettertoken`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/bettertoken",
|
||||
"endpoints": {
|
||||
"chat_completions": true,
|
||||
"messages": true,
|
||||
"responses": true,
|
||||
"embeddings": false,
|
||||
"image_generations": false,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false,
|
||||
"interactions": false
|
||||
}
|
||||
},
|
||||
"provider_slug": {
|
||||
"display_name": "Display name shown in README (e.g., 'OpenAI (`openai`)')",
|
||||
"url": "Link to provider documentation",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,32 @@
|
|||
[
|
||||
{
|
||||
"provider": "BETTERTOKEN",
|
||||
"provider_display_name": "BetterToken",
|
||||
"litellm_provider": "bettertoken",
|
||||
"credential_fields": [
|
||||
{
|
||||
"key": "api_base",
|
||||
"label": "API Base",
|
||||
"placeholder": "https://bettertoken.ai/v1",
|
||||
"tooltip": null,
|
||||
"required": false,
|
||||
"field_type": "text",
|
||||
"options": null,
|
||||
"default_value": null
|
||||
},
|
||||
{
|
||||
"key": "api_key",
|
||||
"label": "API Key",
|
||||
"placeholder": null,
|
||||
"tooltip": null,
|
||||
"required": true,
|
||||
"field_type": "password",
|
||||
"options": null,
|
||||
"default_value": null
|
||||
}
|
||||
],
|
||||
"default_model_placeholder": "bettertoken/claude-sonnet-5-5"
|
||||
},
|
||||
{
|
||||
"provider": "SCALEDOWN",
|
||||
"provider_display_name": "ScaleDown",
|
||||
|
|
|
|||
|
|
@ -4531,6 +4531,7 @@ class LlmProviders(str, Enum):
|
|||
CORALBRICKS = "coralbricks"
|
||||
CORTECS = "cortecs"
|
||||
SCX_AI = "scx-ai"
|
||||
BETTERTOKEN = "bettertoken"
|
||||
PRISM = "prism"
|
||||
OPENINFER = "openinfer"
|
||||
INFERENCEAPIS = "inferenceapis"
|
||||
|
|
|
|||
|
|
@ -284,6 +284,459 @@
|
|||
"output_cost_per_image": 0.06,
|
||||
"supports_nova_canvas_image_edit": true
|
||||
},
|
||||
"bettertoken/MiniMax-M3": {
|
||||
"cache_read_input_token_cost": 3.48e-08,
|
||||
"cache_read_input_token_cost_above_512k_tokens": 6.96e-08,
|
||||
"input_cost_per_token": 1.74e-07,
|
||||
"input_cost_per_token_above_512k_tokens": 3.48e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 512000,
|
||||
"max_tokens": 512000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.96e-07,
|
||||
"output_cost_per_token_above_512k_tokens": 1.392e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-fable-5": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_read_input_token_cost": 6.8e-07,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-fable-5-1": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_read_input_token_cost": 1.7e-07,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-haiku-4-5-20251001": {
|
||||
"cache_creation_input_token_cost": 8.5e-07,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"input_cost_per_token": 6.8e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"max_tokens": 64000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-haiku-5-5": {
|
||||
"cache_creation_input_token_cost": 8.5e-08,
|
||||
"cache_creation_input_token_cost_above_100k_tokens": 4.25e-07,
|
||||
"cache_read_input_token_cost": 6.8e-09,
|
||||
"cache_read_input_token_cost_above_100k_tokens": 3.4e-08,
|
||||
"input_cost_per_token": 6.8e-08,
|
||||
"input_cost_per_token_above_100k_tokens": 3.4e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-07,
|
||||
"output_cost_per_token_above_100k_tokens": 1.7e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-4-8": {
|
||||
"cache_creation_input_token_cost": 4.25e-06,
|
||||
"cache_read_input_token_cost": 3.4e-07,
|
||||
"input_cost_per_token": 3.4e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.7e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-5": {
|
||||
"cache_creation_input_token_cost": 4.25e-06,
|
||||
"cache_read_input_token_cost": 3.4e-07,
|
||||
"input_cost_per_token": 3.4e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.7e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-opus-5-5": {
|
||||
"cache_creation_input_token_cost": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"input_cost_per_token": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.36e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-sonnet-5": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/claude-sonnet-5-5": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/deepseek-flash": {
|
||||
"cache_read_input_token_cost": 4.68e-09,
|
||||
"input_cost_per_token": 2.34e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.36e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/deepseek-pro": {
|
||||
"cache_read_input_token_cost": 3.432e-08,
|
||||
"input_cost_per_token": 1.03e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.089e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/deepseek-v4-pro-0813": {
|
||||
"cache_read_input_token_cost": 3.432e-08,
|
||||
"input_cost_per_token": 1.03e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 384000,
|
||||
"max_tokens": 384000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.089e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.2": {
|
||||
"cache_read_input_token_cost": 1.95e-07,
|
||||
"input_cost_per_token": 1.05e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.3e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.3": {
|
||||
"cache_read_input_token_cost": 1.95e-07,
|
||||
"input_cost_per_token": 1.05e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.3e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": false
|
||||
},
|
||||
"bettertoken/glm-5.3-flash": {
|
||||
"cache_read_input_token_cost": 2.25e-08,
|
||||
"input_cost_per_token": 1.125e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.75e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-luna": {
|
||||
"cache_creation_input_token_cost": 1.7e-07,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-07,
|
||||
"cache_read_input_token_cost": 1.36e-08,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-08,
|
||||
"input_cost_per_token": 1.36e-07,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.16e-07,
|
||||
"output_cost_per_token_above_272k_tokens": 1.224e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-sol": {
|
||||
"cache_creation_input_token_cost": 3.4e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 6.8e-06,
|
||||
"cache_read_input_token_cost": 2.72e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 5.44e-07,
|
||||
"input_cost_per_token": 2.72e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 5.44e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.36e-05,
|
||||
"output_cost_per_token_above_272k_tokens": 2.04e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-5.6-terra": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.16e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.224e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-astra": {
|
||||
"cache_creation_input_token_cost": 8.5e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 1.7e-05,
|
||||
"cache_read_input_token_cost": 6.8e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-06,
|
||||
"input_cost_per_token": 6.8e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 1.36e-05,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-05,
|
||||
"output_cost_per_token_above_272k_tokens": 5.1e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-luna": {
|
||||
"cache_creation_input_token_cost": 8.5e-08,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 1.7e-07,
|
||||
"cache_read_input_token_cost": 6.8e-09,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-08,
|
||||
"input_cost_per_token": 6.8e-08,
|
||||
"input_cost_per_token_above_272k_tokens": 1.36e-07,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.4e-07,
|
||||
"output_cost_per_token_above_272k_tokens": 5.1e-07,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6-sol": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 1.36e-07,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 2.72e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/gpt-6.1-sol": {
|
||||
"cache_creation_input_token_cost": 1.7e-06,
|
||||
"cache_creation_input_token_cost_above_272k_tokens": 3.4e-06,
|
||||
"cache_read_input_token_cost": 6.8e-08,
|
||||
"cache_read_input_token_cost_above_272k_tokens": 1.36e-07,
|
||||
"input_cost_per_token": 1.36e-06,
|
||||
"input_cost_per_token_above_272k_tokens": 2.72e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 922000,
|
||||
"max_output_tokens": 128000,
|
||||
"max_tokens": 128000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.8e-06,
|
||||
"output_cost_per_token_above_272k_tokens": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/kimi-k3": {
|
||||
"cache_creation_input_token_cost": 2.04e-06,
|
||||
"cache_read_input_token_cost": 2.04e-07,
|
||||
"input_cost_per_token": 2.04e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.02e-05,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"bettertoken/qwen3.8-max": {
|
||||
"cache_creation_input_token_cost": 1.8e-06,
|
||||
"cache_read_input_token_cost": 1.8e-07,
|
||||
"input_cost_per_token": 1.44e-06,
|
||||
"litellm_provider": "bettertoken",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 131072,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.32e-06,
|
||||
"source": "https://bettertoken.ai/api/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"us.amazon.nova-canvas-v1:0": {
|
||||
"deprecation_date": "2026-09-30",
|
||||
"litellm_provider": "bedrock",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,24 @@
|
|||
{
|
||||
"_comment": "This file defines which endpoints are supported by each LiteLLM provider",
|
||||
"_schema": {
|
||||
"bettertoken": {
|
||||
"display_name": "BetterToken (`bettertoken`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/bettertoken",
|
||||
"endpoints": {
|
||||
"chat_completions": true,
|
||||
"messages": true,
|
||||
"responses": true,
|
||||
"embeddings": false,
|
||||
"image_generations": false,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false,
|
||||
"interactions": false
|
||||
}
|
||||
},
|
||||
"provider_slug": {
|
||||
"display_name": "Display name shown in README (e.g., 'OpenAI (`openai`)')",
|
||||
"url": "Link to provider documentation",
|
||||
|
|
|
|||
57
tests/unit/llms/openai_like/test_bettertoken_provider.py
Normal file
57
tests/unit/llms/openai_like/test_bettertoken_provider.py
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
import json
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
import litellm
|
||||
|
||||
|
||||
def test_bettertoken_provider_resolution(monkeypatch: pytest.MonkeyPatch):
|
||||
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
||||
|
||||
monkeypatch.setenv("BETTERTOKEN_API_KEY", "bt-test-key")
|
||||
|
||||
model, provider, api_key, api_base = get_llm_provider(
|
||||
model="bettertoken/claude-sonnet-5-5",
|
||||
custom_llm_provider=None,
|
||||
api_base=None,
|
||||
api_key=None,
|
||||
)
|
||||
|
||||
assert model == "claude-sonnet-5-5"
|
||||
assert provider == "bettertoken"
|
||||
assert api_key == "bt-test-key"
|
||||
assert api_base == "https://bettertoken.ai/v1"
|
||||
|
||||
|
||||
def test_bettertoken_provider_keeps_explicit_credentials(monkeypatch: pytest.MonkeyPatch):
|
||||
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
||||
|
||||
monkeypatch.setenv("BETTERTOKEN_API_KEY", "bt-env-key")
|
||||
|
||||
_, provider, api_key, api_base = get_llm_provider(
|
||||
model="bettertoken/claude-sonnet-5-5",
|
||||
custom_llm_provider=None,
|
||||
api_base="https://bettertoken.internal.example/v1",
|
||||
api_key="bt-explicit-key",
|
||||
)
|
||||
|
||||
assert provider == "bettertoken"
|
||||
assert api_key == "bt-explicit-key"
|
||||
assert api_base == "https://bettertoken.internal.example/v1"
|
||||
|
||||
|
||||
def test_bettertoken_is_available_in_add_model_form():
|
||||
fields_path = Path(litellm.__file__).parent / "proxy" / "public_endpoints" / "provider_create_fields.json"
|
||||
providers = json.loads(fields_path.read_text())
|
||||
bt = next(p for p in providers if p["litellm_provider"] == "bettertoken")
|
||||
|
||||
assert bt["provider_display_name"] == "BetterToken"
|
||||
assert bt["default_model_placeholder"] == "bettertoken/claude-sonnet-5-5"
|
||||
assert {f["key"]: f["required"] for f in bt["credential_fields"]} == {"api_base": False, "api_key": True}
|
||||
|
||||
|
||||
def test_bettertoken_cost_map_entries_exist():
|
||||
entry = litellm.model_cost["bettertoken/claude-sonnet-5-5"]
|
||||
assert entry["litellm_provider"] == "bettertoken"
|
||||
assert entry["input_cost_per_token"] > 0
|
||||
Loading…
Add table
Reference in a new issue