diff --git a/litellm/main.py b/litellm/main.py index a074355e117..979808143d7 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -2468,9 +2468,7 @@ def _complete_clinepass(ctx: _CompletionDispatchContext) -> _CompletionDispatchR api_key = api_key or get_secret_str("CLINEPASS_API_KEY") or litellm.api_key - api_base = ( - api_base or litellm.api_base or get_secret_str("CLINEPASS_API_BASE") or "https://api.cline.bot/api/v1" - ) + api_base = api_base or litellm.api_base or get_secret_str("CLINEPASS_API_BASE") or "https://api.cline.bot/api/v1" ## COMPLETION CALL response: Final = base_llm_http_handler.completion( diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 3d2acf4e9d9..4bfb6e3d5fe 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -15612,6 +15612,10 @@ "prompt_cache_min_tokens": 1024, "source": "https://platform.claude.com/docs/en/about-claude/pricing" }, + "clinepass/deepseek-v4-flash": { + "litellm_provider": "clinepass", + "mode": "chat" + }, "cloudflare/clef": { "input_cost_per_token": 2.4e-07, "litellm_provider": "cloudflare", diff --git a/tests/unit/llms/clinepass/test_clinepass_endpoint_guard.py b/tests/unit/llms/clinepass/test_clinepass_endpoint_guard.py index 83d798c9b35..c50693c1dfb 100644 --- a/tests/unit/llms/clinepass/test_clinepass_endpoint_guard.py +++ b/tests/unit/llms/clinepass/test_clinepass_endpoint_guard.py @@ -87,13 +87,9 @@ def test_image_generation_makes_no_outbound_request(no_request_allowed): def test_openai_credential_is_never_transmitted(no_request_allowed): """The point of the P1: whatever happens, the OpenAI key must not go out.""" for call in ( - lambda: litellm.speech( - model="clinepass/deepseek-v4-flash", input="hi", voice="alloy" - ), + lambda: litellm.speech(model="clinepass/deepseek-v4-flash", input="hi", voice="alloy"), lambda: litellm.transcription(model="clinepass/deepseek-v4-flash", file=None), - lambda: litellm.image_generation( - model="clinepass/deepseek-v4-flash", prompt="a cat" - ), + lambda: litellm.image_generation(model="clinepass/deepseek-v4-flash", prompt="a cat"), ): # Whether each endpoint raises or returns an empty response is upstream's # business; that no credential leaves the process is ours. diff --git a/ui/litellm-dashboard/src/components/provider_info_helpers.test.tsx b/ui/litellm-dashboard/src/components/provider_info_helpers.test.tsx index 7cfdaf3275d..899041765d7 100644 --- a/ui/litellm-dashboard/src/components/provider_info_helpers.test.tsx +++ b/ui/litellm-dashboard/src/components/provider_info_helpers.test.tsx @@ -176,6 +176,7 @@ describe("provider_info_helpers", () => { Providers.AUTO_ROUTER, Providers.BYTEZ, Providers.CLARIFAI, + Providers.CLINEPASS, Providers.Cognition, Providers.COMPACTIFAI, Providers.DATAROBOT,