diff --git a/litellm/constants.py b/litellm/constants.py index d137c639778..6ea1cf8db8d 100644 --- a/litellm/constants.py +++ b/litellm/constants.py @@ -809,6 +809,7 @@ openai_compatible_endpoints: List = [ "https://nano-gpt.com/api/v1", "https://api.poe.com/v1", "https://llm.chutes.ai/v1/", + "https://api.tokenmix.ai/v1", "https://api.v0.dev/v1", "https://api.morphllm.com/v1", "https://api.lambda.ai/v1", @@ -862,6 +863,7 @@ openai_compatible_providers: List = [ "nano-gpt", # Nano-GPT - JSON-configured provider "poe", # Poe - JSON-configured provider "chutes", # Chutes - JSON-configured provider + "tokenmix", # TokenMix - JSON-configured provider "parasail", # Parasail - JSON-configured provider "libertai", # LibertAI - JSON-configured provider "featherless_ai", diff --git a/litellm/litellm_core_utils/get_llm_provider_logic.py b/litellm/litellm_core_utils/get_llm_provider_logic.py index 061316a69d6..e638471b154 100644 --- a/litellm/litellm_core_utils/get_llm_provider_logic.py +++ b/litellm/litellm_core_utils/get_llm_provider_logic.py @@ -370,6 +370,9 @@ def get_llm_provider( elif endpoint == "https://llm.chutes.ai/v1/": custom_llm_provider = "chutes" dynamic_api_key = get_secret_str("CHUTES_API_KEY") + elif endpoint == "https://api.tokenmix.ai/v1": + custom_llm_provider = "tokenmix" + dynamic_api_key = get_secret_str("TOKENMIX_API_KEY") elif endpoint == "https://api.v0.dev/v1": custom_llm_provider = "v0" dynamic_api_key = get_secret_str("V0_API_KEY") diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index d87346fea70..6433a87b19a 100644 --- a/litellm/llms/openai_like/providers.json +++ b/litellm/llms/openai_like/providers.json @@ -65,6 +65,13 @@ "max_completion_tokens": "max_tokens" } }, + "tokenmix": { + "base_url": "https://api.tokenmix.ai/v1", + "api_key_env": "TOKENMIX_API_KEY", + "param_mappings": { + "max_completion_tokens": "max_tokens" + } + }, "abliteration": { "base_url": "https://api.abliteration.ai/v1", "api_key_env": "ABLITERATION_API_KEY" diff --git a/litellm/types/utils.py b/litellm/types/utils.py index 1117cf8c8dd..af1b6029ad1 100644 --- a/litellm/types/utils.py +++ b/litellm/types/utils.py @@ -3483,6 +3483,7 @@ class LlmProviders(str, Enum): NANOGPT = "nano-gpt" POE = "poe" CHUTES = "chutes" + TOKENMIX = "tokenmix" NEOSANTARA = "neosantara" PARASAIL = "parasail" XIAOMI_MIMO = "xiaomi_mimo" diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index b137ec59a1f..7485a1c38fa 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -509,6 +509,22 @@ "a2a": false } }, + "tokenmix": { + "display_name": "TokenMix (`tokenmix`)", + "endpoints": { + "chat_completions": true, + "messages": false, + "responses": false, + "embeddings": false, + "image_generations": false, + "audio_transcriptions": false, + "audio_speech": false, + "moderations": false, + "batches": false, + "rerank": false, + "a2a": false + } + }, "clarifai": { "display_name": "Clarifai (`clarifai`)", "url": "https://docs.litellm.ai/docs/providers/clarifai",