diff --git a/litellm/constants.py b/litellm/constants.py index 62d351cffe9..9cbd11e87c5 100644 --- a/litellm/constants.py +++ b/litellm/constants.py @@ -728,6 +728,7 @@ "https://api.libertai.io/v1", "https://pinstripes.io/v1", "https://api.meta.ai/v1", + "https://llm.wavespeed.ai/v1", ] @@ -795,6 +796,7 @@ "pinstripes", # Pinstripes - JSON-configured provider "darkbloom", "meta", # Meta Model API (Muse Spark) - JSON-configured provider + "wavespeed", # WaveSpeedAI - JSON-configured provider ] openai_text_completion_compatible_providers: List = [ # providers that support `/v1/completions` "together_ai", diff --git a/litellm/litellm_core_utils/get_llm_provider_logic.py b/litellm/litellm_core_utils/get_llm_provider_logic.py index 487a7b7e25f..c7ff0eeea41 100644 --- a/litellm/litellm_core_utils/get_llm_provider_logic.py +++ b/litellm/litellm_core_utils/get_llm_provider_logic.py @@ -349,6 +349,9 @@ def get_llm_provider( elif endpoint == "https://api.meta.ai/v1": custom_llm_provider = "meta" dynamic_api_key = get_secret_str("META_API_KEY") + elif endpoint == "https://llm.wavespeed.ai/v1": + custom_llm_provider = "wavespeed" + dynamic_api_key = get_secret_str("WAVESPEED_API_KEY") if api_base is not None and not isinstance(api_base, str): raise Exception("api base needs to be a string. api_base={}".format(api_base)) diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index 164100d4194..82301b5ce92 100644 --- a/litellm/llms/openai_like/providers.json +++ b/litellm/llms/openai_like/providers.json @@ -183,5 +183,12 @@ "max_completion_tokens": "max_tokens" }, "supported_endpoints": ["/v1/chat/completions", "/v1/responses", "/v1/embeddings"] + }, + "wavespeed": { + "base_url": "https://llm.wavespeed.ai/v1", + "api_key_env": "WAVESPEED_API_KEY", + "api_base_env": "WAVESPEED_API_BASE", + "base_class": "openai_gpt", + "supported_endpoints": ["/v1/chat/completions", "/v1/responses", "/v1/messages"] } } diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index d43eda39b1f..0ea11ec9639 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -46134,6 +46134,1616 @@ "supports_reasoning": false, "source": "https://pinstripes.io/pricing" }, + "wavespeed/ai21/jamba-large-1.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 251904, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 8e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/aion-labs/aion-2.0": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 8e-07, + "output_cost_per_token": 1.6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-3-haiku": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 195904, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.25e-06, + "cache_read_input_token_cost": 3e-08, + "cache_creation_input_token_cost": 3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-fable-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1e-05, + "output_cost_per_token": 5e-05, + "cache_read_input_token_cost": 1e-06, + "cache_creation_input_token_cost": 1.25e-05, + "cache_creation_input_token_cost_above_1hr": 2e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-haiku-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 5e-06, + "cache_read_input_token_cost": 1e-07, + "cache_creation_input_token_cost": 1.25e-06, + "cache_creation_input_token_cost_above_1hr": 2e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.8": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 936000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "cache_creation_input_token_cost_above_1hr": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "cache_creation_input_token_cost_above_1hr": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 2.5e-06, + "cache_creation_input_token_cost_above_1hr": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/bytedance/ui-tars-1.5-7b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 125952, + "max_output_tokens": 2048, + "max_tokens": 2048, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 2e-07, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 163840, + "max_tokens": 163840, + "input_cost_per_token": 3.2e-07, + "output_cost_per_token": 8.9e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-r1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 48000, + "max_output_tokens": 16000, + "max_tokens": 16000, + "input_cost_per_token": 7e-07, + "output_cost_per_token": 2.5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v3.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.6e-07, + "output_cost_per_token": 3.8e-07, + "cache_read_input_token_cost": 2.52e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v4-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 664576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "input_cost_per_token": 1.7e-07, + "output_cost_per_token": 3.4e-07, + "cache_read_input_token_cost": 2.8e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v4-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 664576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "input_cost_per_token": 1.84e-06, + "output_cost_per_token": 3.66e-06, + "cache_read_input_token_cost": 1.3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983041, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 2.5e-06, + "cache_read_input_token_cost": 3e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-flash-lite": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983041, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 1e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 1.5e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3-flash-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "output_cost_per_reasoning_token": 3e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3-pro-image-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "output_cost_per_image_token": 0.00012, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-image-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 65536, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "output_cost_per_image_token": 6e-05, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-lite": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "output_cost_per_reasoning_token": 1.5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-lite-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-pro-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "input_cost_per_token_above_200k_tokens": 4e-06, + "output_cost_per_token_above_200k_tokens": 1.8e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-pro-preview-customtools": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "input_cost_per_token_above_200k_tokens": 4e-06, + "output_cost_per_token_above_200k_tokens": 1.8e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.5-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.5e-06, + "output_cost_per_token": 9e-06, + "cache_read_input_token_cost": 1.5e-07, + "cache_creation_input_token_cost": 8.3333e-08, + "input_cost_per_audio_token": 3e-06, + "output_cost_per_reasoning_token": 9e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemma-3n-e4b-it": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 6e-08, + "output_cost_per_token": 1.2e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-3.1-8b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2e-08, + "output_cost_per_token": 5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-3.3-70b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 114688, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 3.2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-guard-4-12b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 1.8e-07, + "output_cost_per_token": 1.8e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_tokens": 196608, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "cache_read_input_token_cost": 3e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "cache_read_input_token_cost": 3e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 204800, + "max_tokens": 204800, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 536576, + "max_output_tokens": 512000, + "max_tokens": 512000, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 2.4e-06, + "cache_read_input_token_cost": 1.2e-07, + "input_cost_per_token_above_512k_tokens": 1.2e-06, + "output_cost_per_token_above_512k_tokens": 4.8e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-large": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-nemo": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 114688, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2.5e-08, + "output_cost_per_token": 5.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-small-24b-instruct-2501": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 5e-08, + "output_cost_per_token": 8e-08, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 5.7e-07, + "output_cost_per_token": 2.3e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196609, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 2, + "max_output_tokens": 262142, + "max_tokens": 262142, + "input_cost_per_token": 9.5e-07, + "output_cost_per_token": 4e-06, + "cache_read_input_token_cost": 1.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 8e-06, + "cache_read_input_token_cost": 5e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 4e-07, + "output_cost_per_token": 1.6e-06, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 2.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4o": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "supports_web_search": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4o-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 6e-07, + "cache_read_input_token_cost": 7.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_web_search": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.25e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.25e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 2e-06, + "cache_read_input_token_cost": 2.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-08, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 1e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.2-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.8e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.3-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.3-codex": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1.5e-05, + "input_cost_per_token_above_272k_tokens": 5e-06, + "output_cost_per_token_above_272k_tokens": 2.25e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 7.5e-07, + "output_cost_per_token": 4.5e-06, + "cache_read_input_token_cost": 7.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2e-07, + "output_cost_per_token": 1.25e-06, + "cache_read_input_token_cost": 2e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-05, + "output_cost_per_token": 0.00018, + "input_cost_per_token_above_272k_tokens": 6e-05, + "output_cost_per_token_above_272k_tokens": 0.00027, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 3e-05, + "input_cost_per_token_above_272k_tokens": 1e-05, + "output_cost_per_token_above_272k_tokens": 4.5e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-05, + "output_cost_per_token": 0.00018, + "input_cost_per_token_above_272k_tokens": 6e-05, + "output_cost_per_token_above_272k_tokens": 0.00027, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-luna": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 1e-07, + "cache_creation_input_token_cost": 1.25e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-sol": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 3e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-terra": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 2.5e-07, + "cache_creation_input_token_cost": 3.125e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-oss-120b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/o4-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 100000, + "max_output_tokens": 100000, + "max_tokens": 100000, + "input_cost_per_token": 1.1e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen-plus": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 967232, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2.6e-07, + "output_cost_per_token": 7.8e-07, + "cache_read_input_token_cost": 5.2e-08, + "cache_creation_input_token_cost": 3.25e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen2.5-vl-72b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32000, + "max_tokens": 32000, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 7.5e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-235b-a22b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 122880, + "max_output_tokens": 8192, + "max_tokens": 8192, + "input_cost_per_token": 4.55e-07, + "output_cost_per_token": 1.82e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-coder": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 2.2e-07, + "output_cost_per_token": 1e-06, + "cache_read_input_token_cost": 2.2e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-coder-next": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 8e-07, + "cache_read_input_token_cost": 7e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-235b-a22b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 1.1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-30b-a3b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-07, + "output_cost_per_token": 7e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-32b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 1.6e-07, + "output_cost_per_token": 6.4e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-8b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 8e-08, + "output_cost_per_token": 5e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-27b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.95e-07, + "output_cost_per_token": 1.56e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-35b-a3b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.625e-07, + "output_cost_per_token": 1.3e-06, + "cache_read_input_token_cost": 5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-397b-a17b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3.6e-06, + "cache_read_input_token_cost": 1.95e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.6-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 3.125e-07, + "input_cost_per_token_above_256k_tokens": 1e-06, + "output_cost_per_token_above_256k_tokens": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.6-plus": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "input_cost_per_token_above_256k_tokens": 2e-06, + "output_cost_per_token_above_256k_tokens": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.7-max": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 7.5e-06, + "cache_read_input_token_cost": 2.5e-07, + "cache_creation_input_token_cost": 3.125e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/thedrummer/cydonia-24b-v4.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 5e-07, + "cache_read_input_token_cost": 1.5e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/x-ai/grok-4.20": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 2000000, + "max_tokens": 2000000, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/x-ai/grok-4.3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 2.5e-06, + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/xiaomi/mimo-v2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 917504, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 4e-07, + "output_cost_per_token": 2e-06, + "cache_read_input_token_cost": 8e-08, + "input_cost_per_token_above_256k_tokens": 8e-07, + "output_cost_per_token_above_256k_tokens": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/xiaomi/mimo-v2.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1032192, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token_above_256k_tokens": 2e-06, + "output_cost_per_token_above_256k_tokens": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/z-ai/glm-5.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 202752, + "max_tokens": 202752, + "input_cost_per_token": 1.4e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/z-ai/glm-5.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 786432, + "max_output_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 1.4e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, "fallback_generalizations": { "rules": [ { diff --git a/litellm/types/utils.py b/litellm/types/utils.py index e4dfac48141..bc1d9ab1838 100644 --- a/litellm/types/utils.py +++ b/litellm/types/utils.py @@ -3510,6 +3510,7 @@ class LlmProviders(str, Enum): PINSTRIPES = "pinstripes" DARKBLOOM = "darkbloom" META = "meta" + WAVESPEED = "wavespeed" LITELLM_AGENT = "litellm_agent" CURSOR = "cursor" BEDROCK_MANTLE = "bedrock_mantle" diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 749b2566c2a..a24fd7047ff 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -46256,6 +46256,1616 @@ "supports_system_messages": true, "supports_tool_choice": true }, + "wavespeed/ai21/jamba-large-1.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 251904, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 8e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/aion-labs/aion-2.0": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 8e-07, + "output_cost_per_token": 1.6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-3-haiku": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 195904, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.25e-06, + "cache_read_input_token_cost": 3e-08, + "cache_creation_input_token_cost": 3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-fable-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1e-05, + "output_cost_per_token": 5e-05, + "cache_read_input_token_cost": 1e-06, + "cache_creation_input_token_cost": 1.25e-05, + "cache_creation_input_token_cost_above_1hr": 2e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-haiku-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 5e-06, + "cache_read_input_token_cost": 1e-07, + "cache_creation_input_token_cost": 1.25e-06, + "cache_creation_input_token_cost_above_1hr": 2e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-opus-4.8": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 2.5e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "cache_creation_input_token_cost_above_1hr": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 136000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 936000, + "max_output_tokens": 64000, + "max_tokens": 64000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "cache_creation_input_token_cost_above_1hr": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-4.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "cache_creation_input_token_cost": 3.75e-06, + "cache_creation_input_token_cost_above_1hr": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/anthropic/claude-sonnet-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 872000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 2.5e-06, + "cache_creation_input_token_cost_above_1hr": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_adaptive_thinking": true, + "supports_sampling_params": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/bytedance/ui-tars-1.5-7b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 125952, + "max_output_tokens": 2048, + "max_tokens": 2048, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 2e-07, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 163840, + "max_tokens": 163840, + "input_cost_per_token": 3.2e-07, + "output_cost_per_token": 8.9e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-r1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 48000, + "max_output_tokens": 16000, + "max_tokens": 16000, + "input_cost_per_token": 7e-07, + "output_cost_per_token": 2.5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v3.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.6e-07, + "output_cost_per_token": 3.8e-07, + "cache_read_input_token_cost": 2.52e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v4-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 664576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "input_cost_per_token": 1.7e-07, + "output_cost_per_token": 3.4e-07, + "cache_read_input_token_cost": 2.8e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/deepseek/deepseek-v4-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 664576, + "max_output_tokens": 384000, + "max_tokens": 384000, + "input_cost_per_token": 1.84e-06, + "output_cost_per_token": 3.66e-06, + "cache_read_input_token_cost": 1.3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983041, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 2.5e-06, + "cache_read_input_token_cost": 3e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-flash-lite": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983041, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 1e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-2.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 1.5e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3-flash-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "output_cost_per_reasoning_token": 3e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3-pro-image-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "output_cost_per_image_token": 0.00012, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-image-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 65536, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "output_cost_per_image_token": 6e-05, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-lite": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "output_cost_per_reasoning_token": 1.5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-flash-lite-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 8.3333e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-pro-preview": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "input_cost_per_token_above_200k_tokens": 4e-06, + "output_cost_per_token_above_200k_tokens": 1.8e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.1-pro-preview-customtools": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 1.2e-05, + "cache_read_input_token_cost": 2e-07, + "cache_creation_input_token_cost": 3.75e-07, + "input_cost_per_token_above_200k_tokens": 4e-06, + "output_cost_per_token_above_200k_tokens": 1.8e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemini-3.5-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 983040, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.5e-06, + "output_cost_per_token": 9e-06, + "cache_read_input_token_cost": 1.5e-07, + "cache_creation_input_token_cost": 8.3333e-08, + "input_cost_per_audio_token": 3e-06, + "output_cost_per_reasoning_token": 9e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/google/gemma-3n-e4b-it": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 6e-08, + "output_cost_per_token": 1.2e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-3.1-8b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2e-08, + "output_cost_per_token": 5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-3.3-70b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 114688, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 3.2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/meta-llama/llama-guard-4-12b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 163840, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 1.8e-07, + "output_cost_per_token": 1.8e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_tokens": 196608, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "cache_read_input_token_cost": 3e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "cache_read_input_token_cost": 3e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m2.7": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 204800, + "max_tokens": 204800, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/minimax/minimax-m3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 536576, + "max_output_tokens": 512000, + "max_tokens": 512000, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 2.4e-06, + "cache_read_input_token_cost": 1.2e-07, + "input_cost_per_token_above_512k_tokens": 1.2e-06, + "output_cost_per_token_above_512k_tokens": 4.8e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-large": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "max_tokens": 4096, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-nemo": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 114688, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2.5e-08, + "output_cost_per_token": 5.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/mistralai/mistral-small-24b-instruct-2501": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 5e-08, + "output_cost_per_token": 8e-08, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 5.7e-07, + "output_cost_per_token": 2.3e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196609, + "max_output_tokens": 65535, + "max_tokens": 65535, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k2.6": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 2, + "max_output_tokens": 262142, + "max_tokens": 262142, + "input_cost_per_token": 9.5e-07, + "output_cost_per_token": 4e-06, + "cache_read_input_token_cost": 1.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/moonshotai/kimi-k3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1048576, + "max_tokens": 1048576, + "input_cost_per_token": 3e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 8e-06, + "cache_read_input_token_cost": 5e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 4e-07, + "output_cost_per_token": 1.6e-06, + "cache_read_input_token_cost": 1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4.1-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1014808, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 1e-07, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 2.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4o": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "supports_web_search": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-4o-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 6e-07, + "cache_read_input_token_cost": 7.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_web_search": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.25e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.25e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 2e-06, + "cache_read_input_token_cost": 2.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-08, + "output_cost_per_token": 4e-07, + "cache_read_input_token_cost": 1e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 1e-05, + "cache_read_input_token_cost": 1.3e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.2-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.8e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.3-chat": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 111616, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.3-codex": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1.75e-06, + "output_cost_per_token": 1.4e-05, + "cache_read_input_token_cost": 1.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1.5e-05, + "input_cost_per_token_above_272k_tokens": 5e-06, + "output_cost_per_token_above_272k_tokens": 2.25e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 7.5e-07, + "output_cost_per_token": 4.5e-06, + "cache_read_input_token_cost": 7.5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-nano": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2e-07, + "output_cost_per_token": 1.25e-06, + "cache_read_input_token_cost": 2e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.4-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-05, + "output_cost_per_token": 0.00018, + "input_cost_per_token_above_272k_tokens": 6e-05, + "output_cost_per_token_above_272k_tokens": 0.00027, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 3e-05, + "input_cost_per_token_above_272k_tokens": 1e-05, + "output_cost_per_token_above_272k_tokens": 4.5e-05, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 3e-05, + "output_cost_per_token": 0.00018, + "input_cost_per_token_above_272k_tokens": 6e-05, + "output_cost_per_token_above_272k_tokens": 0.00027, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-luna": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 1e-07, + "cache_creation_input_token_cost": 1.25e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-sol": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 5e-06, + "output_cost_per_token": 3e-05, + "cache_read_input_token_cost": 5e-07, + "cache_creation_input_token_cost": 6.25e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-5.6-terra": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 922000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 1.5e-05, + "cache_read_input_token_cost": 2.5e-07, + "cache_creation_input_token_cost": 3.125e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/gpt-oss-120b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/openai/o4-mini": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 100000, + "max_output_tokens": 100000, + "max_tokens": 100000, + "input_cost_per_token": 1.1e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.75e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_pdf_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen-plus": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 967232, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2.6e-07, + "output_cost_per_token": 7.8e-07, + "cache_read_input_token_cost": 5.2e-08, + "cache_creation_input_token_cost": 3.25e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen2.5-vl-72b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 32000, + "max_tokens": 32000, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 7.5e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-235b-a22b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 122880, + "max_output_tokens": 8192, + "max_tokens": 8192, + "input_cost_per_token": 4.55e-07, + "output_cost_per_token": 1.82e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "supports_reasoning": true, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-coder": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 2.2e-07, + "output_cost_per_token": 1e-06, + "cache_read_input_token_cost": 2.2e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-coder-next": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 8e-07, + "cache_read_input_token_cost": 7e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-235b-a22b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 1.1e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-30b-a3b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 2e-07, + "output_cost_per_token": 7e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-32b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 1.6e-07, + "output_cost_per_token": 6.4e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3-vl-8b-instruct": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 98304, + "max_output_tokens": 32768, + "max_tokens": 32768, + "input_cost_per_token": 8e-08, + "output_cost_per_token": 5e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-27b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.95e-07, + "output_cost_per_token": 1.56e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-35b-a3b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 1.625e-07, + "output_cost_per_token": 1.3e-06, + "cache_read_input_token_cost": 5e-08, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.5-397b-a17b": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 196608, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3.6e-06, + "cache_read_input_token_cost": 1.95e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.6-flash": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-07, + "output_cost_per_token": 1.5e-06, + "cache_read_input_token_cost": 2.5e-08, + "cache_creation_input_token_cost": 3.125e-07, + "input_cost_per_token_above_256k_tokens": 1e-06, + "output_cost_per_token_above_256k_tokens": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.6-plus": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 5e-07, + "output_cost_per_token": 3e-06, + "input_cost_per_token_above_256k_tokens": 2e-06, + "output_cost_per_token_above_256k_tokens": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": false, + "supports_vision": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/qwen/qwen3.7-max": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 934464, + "max_output_tokens": 65536, + "max_tokens": 65536, + "input_cost_per_token": 2.5e-06, + "output_cost_per_token": 7.5e-06, + "cache_read_input_token_cost": 2.5e-07, + "cache_creation_input_token_cost": 3.125e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/thedrummer/cydonia-24b-v4.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 5e-07, + "cache_read_input_token_cost": 1.5e-07, + "supports_function_calling": false, + "supports_tool_choice": false, + "supports_response_schema": true, + "supports_reasoning": false, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/x-ai/grok-4.20": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 2000000, + "max_tokens": 2000000, + "input_cost_per_token": 2e-06, + "output_cost_per_token": 6e-06, + "cache_read_input_token_cost": 2e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/x-ai/grok-4.3": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1000000, + "max_tokens": 1000000, + "input_cost_per_token": 1.25e-06, + "output_cost_per_token": 2.5e-06, + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/xiaomi/mimo-v2.5": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 917504, + "max_output_tokens": 131072, + "max_tokens": 131072, + "input_cost_per_token": 4e-07, + "output_cost_per_token": 2e-06, + "cache_read_input_token_cost": 8e-08, + "input_cost_per_token_above_256k_tokens": 8e-07, + "output_cost_per_token_above_256k_tokens": 4e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": true, + "supports_audio_input": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/xiaomi/mimo-v2.5-pro": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 1032192, + "max_output_tokens": 16384, + "max_tokens": 16384, + "input_cost_per_token": 1e-06, + "output_cost_per_token": 3e-06, + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token_above_256k_tokens": 2e-06, + "output_cost_per_token_above_256k_tokens": 6e-06, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "supports_vision": false, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/z-ai/glm-5.1": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 202752, + "max_tokens": 202752, + "input_cost_per_token": 1.4e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, + "wavespeed/z-ai/glm-5.2": { + "litellm_provider": "wavespeed", + "mode": "chat", + "max_input_tokens": 786432, + "max_output_tokens": 262144, + "max_tokens": 262144, + "input_cost_per_token": 1.4e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 2.6e-07, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_reasoning": true, + "supports_prompt_caching": true, + "source": "https://llm.wavespeed.ai/v1/models" + }, "fallback_generalizations": { "rules": [ { diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index 65db63dc045..0cd08e430cd 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -2548,6 +2548,23 @@ "interactions": true } }, + "wavespeed": { + "display_name": "WaveSpeedAI (`wavespeed`)", + "url": "https://docs.litellm.ai/docs/providers/wavespeed", + "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 + } + }, "watsonx_text": { "display_name": "Watsonx Text (`watsonx_text`)", "url": "https://docs.litellm.ai/docs/providers/watsonx", diff --git a/tests/test_litellm/llms/openai_like/test_wavespeed_provider.py b/tests/test_litellm/llms/openai_like/test_wavespeed_provider.py new file mode 100644 index 00000000000..564d6fcc49d --- /dev/null +++ b/tests/test_litellm/llms/openai_like/test_wavespeed_provider.py @@ -0,0 +1,173 @@ +""" +Tests for the WaveSpeedAI LLM provider configuration and integration. +""" + +import litellm + + +class TestWavespeedProviderConfig: + def test_wavespeed_in_provider_list(self): + from litellm import LlmProviders + + assert LlmProviders.WAVESPEED.value == "wavespeed" + assert "wavespeed" in litellm.provider_list + + def test_wavespeed_json_config(self): + from litellm.llms.openai_like.json_loader import JSONProviderRegistry + + provider = JSONProviderRegistry.get("wavespeed") + assert provider is not None + assert provider.base_url == "https://llm.wavespeed.ai/v1" + assert provider.api_key_env == "WAVESPEED_API_KEY" + assert provider.api_base_env == "WAVESPEED_API_BASE" + assert JSONProviderRegistry.supports_responses_api("wavespeed") + + def test_wavespeed_in_openai_compatible_providers(self): + from litellm.constants import openai_compatible_providers + + assert "wavespeed" in openai_compatible_providers + + def test_provider_prefixed_model_keeps_upstream_prefix(self): + """WaveSpeed model ids are themselves `{provider}/{model}`, so only the routing prefix may be stripped.""" + from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider + + model, provider, api_key, api_base = get_llm_provider( + model="wavespeed/anthropic/claude-opus-4.8", + custom_llm_provider=None, + api_base=None, + api_key="sk-test", + ) + + assert model == "anthropic/claude-opus-4.8" + assert provider == "wavespeed" + assert api_key == "sk-test" + assert api_base == "https://llm.wavespeed.ai/v1" + + def test_api_key_and_base_resolved_from_env(self, monkeypatch): + from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider + + monkeypatch.setenv("WAVESPEED_API_KEY", "sk-env-key") + monkeypatch.setenv("WAVESPEED_API_BASE", "https://proxy.internal/v1") + + _, provider, api_key, api_base = get_llm_provider( + model="wavespeed/deepseek/deepseek-v4-flash", + custom_llm_provider=None, + api_base=None, + api_key=None, + ) + + assert provider == "wavespeed" + assert api_key == "sk-env-key" + assert api_base == "https://proxy.internal/v1" + + def test_url_autodetection_from_api_base(self, monkeypatch): + from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider + + monkeypatch.setenv("WAVESPEED_API_KEY", "sk-env-key") + + _, provider, api_key, api_base = get_llm_provider( + model="glm-5", + custom_llm_provider=None, + api_base="https://llm.wavespeed.ai/v1", + api_key=None, + ) + + assert provider == "wavespeed" + assert api_key == "sk-env-key" + + def test_chat_completions_url(self): + config = litellm.ProviderConfigManager.get_provider_chat_config( + model="anthropic/claude-opus-4.8", provider=litellm.LlmProviders.WAVESPEED + ) + assert config is not None + assert ( + config.get_complete_url( + api_base=None, + api_key="sk-test", + model="anthropic/claude-opus-4.8", + optional_params={}, + litellm_params={}, + ) + == "https://llm.wavespeed.ai/v1/chat/completions" + ) + + def test_anthropic_messages_passthrough(self): + from litellm.llms.openai_like.messages.transformation import ( + JSONProviderAnthropicMessagesConfig, + ) + + config = litellm.ProviderConfigManager.get_provider_anthropic_messages_config( + model="anthropic/claude-opus-4.8", provider=litellm.LlmProviders.WAVESPEED + ) + assert isinstance(config, JSONProviderAnthropicMessagesConfig) + assert ( + config.get_complete_url( + api_base=None, + api_key="sk-test", + model="anthropic/claude-opus-4.8", + optional_params={}, + litellm_params={}, + ) + == "https://llm.wavespeed.ai/v1/messages" + ) + + +class TestWavespeedModelInfo: + def test_claude_opus_pricing_and_capabilities(self): + info = litellm.get_model_info("wavespeed/anthropic/claude-opus-4.8") + + assert info["litellm_provider"] == "wavespeed" + assert info["input_cost_per_token"] == 5e-06 + assert info["output_cost_per_token"] == 2.5e-05 + assert info["cache_read_input_token_cost"] == 5e-07 + assert info["cache_creation_input_token_cost"] == 6.25e-06 + assert info["max_input_tokens"] == 872000 + assert info["max_output_tokens"] == 128000 + assert info["supports_function_calling"] is True + assert info["supports_prompt_caching"] is True + + def test_gen_5_claude_entries_carry_upstream_thinking_flags(self): + for model in ("wavespeed/anthropic/claude-fable-5", "wavespeed/anthropic/claude-sonnet-5"): + entry = litellm.model_cost[model] + + assert entry["supports_adaptive_thinking"] is True + assert entry["supports_sampling_params"] is False + assert entry["supports_vision"] is True + + def test_non_tool_model_does_not_advertise_function_calling(self): + info = litellm.get_model_info("wavespeed/aion-labs/aion-2.0") + + assert info["supports_function_calling"] is False + assert info["supports_reasoning"] is True + + def test_cost_calculation(self): + from litellm import completion_cost + from litellm.types.utils import ModelResponse, Usage + + response = ModelResponse( + model="anthropic/claude-opus-4.8", + usage=Usage(prompt_tokens=1000, completion_tokens=500, total_tokens=1500), + ) + cost = completion_cost( + completion_response=response, + model="wavespeed/anthropic/claude-opus-4.8", + custom_llm_provider="wavespeed", + ) + + assert abs(cost - (1000 * 5e-06 + 500 * 2.5e-05)) < 1e-12 + + def test_long_context_tier_pricing(self): + from litellm import completion_cost + from litellm.types.utils import ModelResponse, Usage + + response = ModelResponse( + model="qwen/qwen3.6-flash", + usage=Usage(prompt_tokens=300_000, completion_tokens=1_000, total_tokens=301_000), + ) + cost = completion_cost( + completion_response=response, + model="wavespeed/qwen/qwen3.6-flash", + custom_llm_provider="wavespeed", + ) + + assert abs(cost - (300_000 * 1e-06 + 1_000 * 4e-06)) < 1e-9