diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index a458a209ea9..99cdfc28fa1 100644 --- a/litellm/llms/openai_like/providers.json +++ b/litellm/llms/openai_like/providers.json @@ -168,6 +168,11 @@ }, "supported_endpoints": ["/v1/chat/completions", "/v1/responses"] }, + "minirouter": { + "base_url": "https://api.minirouter.sh/v1", + "api_key_env": "MINIROUTER_API_KEY", + "api_base_env": "MINIROUTER_API_BASE" + }, "meta": { "base_url": "https://api.meta.ai/v1", "api_key_env": "META_API_KEY", diff --git a/litellm/provider_endpoints_support_backup.json b/litellm/provider_endpoints_support_backup.json index 86c14fb4cd8..64bdea60c62 100644 --- a/litellm/provider_endpoints_support_backup.json +++ b/litellm/provider_endpoints_support_backup.json @@ -1991,6 +1991,23 @@ "interactions": true } }, + "minirouter": { + "display_name": "minirouter (`minirouter`)", + "url": "https://minirouter.sh/integrations/litellm", + "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 + } + }, "sap": { "display_name": "SAP Generative AI Hub (`sap`)", "url": "https://docs.litellm.ai/docs/providers/sap", diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index 1d8d374c2c4..c02b7a90e94 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -2018,6 +2018,23 @@ "a2a": false } }, + "minirouter": { + "display_name": "minirouter (`minirouter`)", + "url": "https://minirouter.sh/integrations/litellm", + "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 + } + }, "pinstripes": { "display_name": "Pinstripes (`pinstripes`)", "url": "https://docs.litellm.ai/docs/providers/pinstripes", diff --git a/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py b/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py index 31430da71e8..ea38bf4a624 100644 --- a/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py +++ b/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py @@ -831,6 +831,16 @@ def test_get_supported_endpoints_chat_completions_present(reset_endpoints_cache) assert len(chat["providers"]) > 0 +def test_get_supported_endpoints_includes_minirouter(reset_endpoints_cache): + endpoints = _make_client().get("/public/endpoints").json()["endpoints"] + chat = next(item for item in endpoints if item["key"] == "chat_completions") + + minirouter = next( + provider for provider in chat["providers"] if provider["slug"] == "minirouter" + ) + assert minirouter["display_name"] == "minirouter" + + def test_get_supported_endpoints_display_names_have_no_slug_suffix( reset_endpoints_cache, ):