diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index fe10293c420..f427327db48 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 dbeaccdda2d..0cf5ad91262 100644 --- a/litellm/provider_endpoints_support_backup.json +++ b/litellm/provider_endpoints_support_backup.json @@ -2029,6 +2029,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 c71f4a82a4a..23977cda703 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -2056,6 +2056,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 0d82ed778f5..5af0ece7779 100644 --- a/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py +++ b/tests/test_litellm/proxy/public_endpoints/test_public_endpoints.py @@ -951,6 +951,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, ):