From 1d97931c84703453368852d786a33bda644524e7 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 11 Nov 2026 07:44:09 -0800 Subject: [PATCH] chore(cost-map): rolling registry PR, fal_ai rows, databricks gemini-4-carbon, deepinfra and bedrock tier prices (#51193) --- ...odel_prices_and_context_window_backup.json | 347 +++++++++++++++++- model_prices_and_context_window.json | 347 +++++++++++++++++- tests/unit/test_cost_calculator.py | 31 ++ 3 files changed, 715 insertions(+), 10 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index f3cf258a2bb..66e3a094879 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -14379,12 +14379,14 @@ "bedrock/moonshotai.kimi-k2.5": { "input_cost_per_token": 6e-07, "input_cost_per_token_flex": 3e-07, + "input_cost_per_token_priority": 1.05e-06, "litellm_provider": "bedrock", "max_input_tokens": 262144, "max_output_tokens": 16000, "mode": "chat", "output_cost_per_token": 3e-06, "output_cost_per_token_flex": 1.5e-06, + "output_cost_per_token_priority": 5.25e-06, "source": "https://b0.p.awsstatic.com/pricing/2.0/meteredUnitMaps/bedrock/USD/current/bedrock.json", "supports_function_calling": true, "supports_reasoning": true, @@ -24828,7 +24830,7 @@ "deepinfra/mistralai/Mistral-Nemo-Instruct-2407": { "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 1.9e-08, + "input_cost_per_token": 2.9e-08, "output_cost_per_token": 3e-08, "litellm_provider": "deepinfra", "mode": "chat", @@ -24909,8 +24911,8 @@ }, "deepinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning": { "max_input_tokens": 262144, - "input_cost_per_token": 8e-08, - "output_cost_per_token": 2e-07, + "input_cost_per_token": 6e-08, + "output_cost_per_token": 1.6e-07, "litellm_provider": "deepinfra", "mode": "chat", "source": "https://deepinfra.com/pricing", @@ -56200,6 +56202,7 @@ "zai.glm-5": { "input_cost_per_token": 1e-06, "input_cost_per_token_batches": 5e-07, + "input_cost_per_token_flex": 5e-07, "input_cost_per_token_priority": 1.75e-06, "output_cost_per_token": 3.2e-06, "litellm_provider": "bedrock_converse", @@ -56207,6 +56210,7 @@ "max_output_tokens": 128000, "mode": "chat", "output_cost_per_token_batches": 1.6e-06, + "output_cost_per_token_flex": 1.6e-06, "output_cost_per_token_priority": 5.6e-06, "supports_function_calling": true, "supports_reasoning": true, @@ -67981,12 +67985,12 @@ "source": "https://deepinfra.com/pricing" }, "deepinfra/anthropic/claude-sonnet-5": { - "input_cost_per_token": 2e-06, + "input_cost_per_token": 3e-06, "litellm_provider": "deepinfra", "max_input_tokens": 1000000, "max_output_tokens": 1000000, "mode": "chat", - "output_cost_per_token": 1e-05, + "output_cost_per_token": 1.5e-05, "prompt_cache_min_tokens": 1024, "source": "https://deepinfra.com/pricing", "supports_adaptive_thinking": true, @@ -100106,5 +100110,338 @@ "supports_web_search": false, "supports_xhigh_reasoning_effort": true, "use_openai_responses_path": true + }, + "fal_ai/fal-ai/kling-video/v2.6/pro/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video with the default generate_audio=true ($0.14); videos without audio are $0.07 per second and videos with audio and voice control are $0.168 per second, which have no catalog field"}, + "mode": "video_generation", + "output_cost_per_second": 0.14, + "source": "https://fal.ai/models/fal-ai/kling-video/v2.6/pro/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.20 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.05, + "source": "https://fal.ai/models/fal-ai/vidu/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/start-end-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.20 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.05, + "source": "https://fal.ai/models/fal-ai/vidu/start-end-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/reference-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.40 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.1, + "source": "https://fal.ai/models/fal-ai/vidu/reference-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s clip prices by resolution ($0.15 at 540p, $0.30 at 720p, $1.20 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field; HDR ($0.60 at 720p, $2.40 at 1080p per 5s) and HDR+EXR ($0.90, $3.60) are not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.03, + "output_cost_per_second_1080p": 0.24, + "output_cost_per_second_720p": 0.06, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/text-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s and 10s clip prices by resolution ($0.50/$1.00 at 540p, $1.00/$2.00 at 720p, $2.00/$4.00 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field"}, + "mode": "video_generation", + "output_cost_per_second": 0.1, + "output_cost_per_second_1080p": 0.4, + "output_cost_per_second_720p": 0.2, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/text-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/video-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s and 10s clip prices by resolution ($0.72/$1.44 at 540p, $1.08/$2.16 at 720p, $2.16/$4.32 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field; HDR and HDR+EXR prices are not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.144, + "output_cost_per_second_1080p": 0.432, + "output_cost_per_second_720p": 0.216, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/video-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "video" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/pixverse/v6/max/text-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video by resolution without audio (the default generate_audio_switch=false); output_cost_per_second is the default resolution 720p rate; 360p $0.054 and 540p $0.081 have no catalog field; with audio the rates are $0.081/$0.099/$0.135/$0.252 per second, which is not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.099, + "output_cost_per_second_1080p": 0.198, + "output_cost_per_second_720p": 0.099, + "source": "https://fal.ai/models/pixverse/v6/max/text-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/pixverse/v6/max/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video by resolution without audio (the default generate_audio_switch=false); output_cost_per_second is the default resolution 720p rate; 360p $0.054 and 540p $0.081 have no catalog field; with audio the rates are $0.081/$0.099/$0.135/$0.252 per second, which is not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.099, + "output_cost_per_second_1080p": 0.198, + "output_cost_per_second_720p": 0.099, + "source": "https://fal.ai/models/pixverse/v6/max/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/flux-2-pro": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro", + "supported_endpoints": [ + "/v1/images/generations" + ] + }, + "fal_ai/fal-ai/flux-2-pro/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-2-pro/outpaint": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro/outpaint", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-2-max": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.07 for the first processed megapixel plus $0.03 per additional megapixel, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.07, + "source": "https://fal.ai/models/fal-ai/flux-2-max", + "supported_endpoints": [ + "/v1/images/generations" + ] + }, + "fal_ai/fal-ai/flux-2-max/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.07 for the first processed megapixel plus $0.03 per additional megapixel, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.07, + "source": "https://fal.ai/models/fal-ai/flux-2-max/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-pro/v1/erase": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the first generated megapixel; fal bills $0.004 for each subsequent generated megapixel and $0.004 per reference megapixel with a 3 MP minimum, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-pro/v1/erase", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/smart-resize": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per single-image request at standard resolution: $0.15 per output image plus the $0.05 minimum vision analysis fee per request; additional output images in one request ($0.15 each) and 4K outputs (charged double) are not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.2, + "source": "https://fal.ai/models/fal-ai/smart-resize", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/bytedance/seedream/v5/pro/layerize": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per generated layer for total pixel area under 1536x1536; layers for a base image over 1536x1536 are $0.0675 each, which has no catalog field"}, + "mode": "image_generation", + "output_cost_per_image": 0.03375, + "source": "https://fal.ai/models/bytedance/seedream/v5/pro/layerize", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/luma/agent/uni-1/v1/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per edit with one source image ($0.042 per edit plus $0.003 per reference or source image); each additional reference image adds $0.003, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.045, + "source": "https://fal.ai/models/luma/agent/uni-1/v1/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/luma/agent/uni-1/v1/max/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per edit with one source image ($0.102 per edit plus $0.003 per reference or source image); each additional reference image adds $0.003, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.105, + "source": "https://fal.ai/models/luma/agent/uni-1/v1/max/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "databricks/databricks-gemini-4-carbon": { + "cache_creation_input_token_cost": 2e-06, + "cache_read_input_token_cost": 2e-06, + "input_cost_per_token": 2e-06, + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "metadata": {"notes":"Gemini 4 Carbon on Databricks is available only through Unity Gateway with the model service name system.ai.gemini-4-carbon on a global endpoint. The Databricks pricing pages list no row for it yet, so input and output are the Global rates on the Vertex AI pricing page for Gemini 4 Carbon (listed there through November 30, 2026), no '*_dbu_cost_per_token' fields are published, and cache tokens bill at the input rate until Databricks publishes cache DBU rates."}, + "mode": "chat", + "output_cost_per_token": 1e-05, + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true, + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true + }, + "databricks/system.ai.gemini-4-carbon": { + "cache_creation_input_token_cost": 2e-06, + "cache_read_input_token_cost": 2e-06, + "input_cost_per_token": 2e-06, + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "metadata": {"notes":"Gemini 4 Carbon on Databricks is available only through Unity Gateway with the model service name system.ai.gemini-4-carbon on a global endpoint. The Databricks pricing pages list no row for it yet, so input and output are the Global rates on the Vertex AI pricing page for Gemini 4 Carbon (listed there through November 30, 2026), no '*_dbu_cost_per_token' fields are published, and cache tokens bill at the input rate until Databricks publishes cache DBU rates."}, + "mode": "chat", + "output_cost_per_token": 1e-05, + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true, + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true } } diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index f3cf258a2bb..66e3a094879 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -14379,12 +14379,14 @@ "bedrock/moonshotai.kimi-k2.5": { "input_cost_per_token": 6e-07, "input_cost_per_token_flex": 3e-07, + "input_cost_per_token_priority": 1.05e-06, "litellm_provider": "bedrock", "max_input_tokens": 262144, "max_output_tokens": 16000, "mode": "chat", "output_cost_per_token": 3e-06, "output_cost_per_token_flex": 1.5e-06, + "output_cost_per_token_priority": 5.25e-06, "source": "https://b0.p.awsstatic.com/pricing/2.0/meteredUnitMaps/bedrock/USD/current/bedrock.json", "supports_function_calling": true, "supports_reasoning": true, @@ -24828,7 +24830,7 @@ "deepinfra/mistralai/Mistral-Nemo-Instruct-2407": { "max_input_tokens": 131072, "max_output_tokens": 131072, - "input_cost_per_token": 1.9e-08, + "input_cost_per_token": 2.9e-08, "output_cost_per_token": 3e-08, "litellm_provider": "deepinfra", "mode": "chat", @@ -24909,8 +24911,8 @@ }, "deepinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning": { "max_input_tokens": 262144, - "input_cost_per_token": 8e-08, - "output_cost_per_token": 2e-07, + "input_cost_per_token": 6e-08, + "output_cost_per_token": 1.6e-07, "litellm_provider": "deepinfra", "mode": "chat", "source": "https://deepinfra.com/pricing", @@ -56200,6 +56202,7 @@ "zai.glm-5": { "input_cost_per_token": 1e-06, "input_cost_per_token_batches": 5e-07, + "input_cost_per_token_flex": 5e-07, "input_cost_per_token_priority": 1.75e-06, "output_cost_per_token": 3.2e-06, "litellm_provider": "bedrock_converse", @@ -56207,6 +56210,7 @@ "max_output_tokens": 128000, "mode": "chat", "output_cost_per_token_batches": 1.6e-06, + "output_cost_per_token_flex": 1.6e-06, "output_cost_per_token_priority": 5.6e-06, "supports_function_calling": true, "supports_reasoning": true, @@ -67981,12 +67985,12 @@ "source": "https://deepinfra.com/pricing" }, "deepinfra/anthropic/claude-sonnet-5": { - "input_cost_per_token": 2e-06, + "input_cost_per_token": 3e-06, "litellm_provider": "deepinfra", "max_input_tokens": 1000000, "max_output_tokens": 1000000, "mode": "chat", - "output_cost_per_token": 1e-05, + "output_cost_per_token": 1.5e-05, "prompt_cache_min_tokens": 1024, "source": "https://deepinfra.com/pricing", "supports_adaptive_thinking": true, @@ -100106,5 +100110,338 @@ "supports_web_search": false, "supports_xhigh_reasoning_effort": true, "use_openai_responses_path": true + }, + "fal_ai/fal-ai/kling-video/v2.6/pro/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video with the default generate_audio=true ($0.14); videos without audio are $0.07 per second and videos with audio and voice control are $0.168 per second, which have no catalog field"}, + "mode": "video_generation", + "output_cost_per_second": 0.14, + "source": "https://fal.ai/models/fal-ai/kling-video/v2.6/pro/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.20 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.05, + "source": "https://fal.ai/models/fal-ai/vidu/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/start-end-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.20 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.05, + "source": "https://fal.ai/models/fal-ai/vidu/start-end-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/vidu/reference-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the fixed 4s clip price of $0.40 per video"}, + "mode": "video_generation", + "output_cost_per_second": 0.1, + "source": "https://fal.ai/models/fal-ai/vidu/reference-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s clip prices by resolution ($0.15 at 540p, $0.30 at 720p, $1.20 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field; HDR ($0.60 at 720p, $2.40 at 1080p per 5s) and HDR+EXR ($0.90, $3.60) are not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.03, + "output_cost_per_second_1080p": 0.24, + "output_cost_per_second_720p": 0.06, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/text-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s and 10s clip prices by resolution ($0.50/$1.00 at 540p, $1.00/$2.00 at 720p, $2.00/$4.00 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field"}, + "mode": "video_generation", + "output_cost_per_second": 0.1, + "output_cost_per_second_1080p": 0.4, + "output_cost_per_second_720p": 0.2, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/text-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/luma/agent/ray/v3.2/video-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second derived from the 5s and 10s clip prices by resolution ($0.72/$1.44 at 540p, $1.08/$2.16 at 720p, $2.16/$4.32 at 1080p); output_cost_per_second is the default resolution 540p rate, which has no tier field; HDR and HDR+EXR prices are not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.144, + "output_cost_per_second_1080p": 0.432, + "output_cost_per_second_720p": 0.216, + "source": "https://fal.ai/models/luma/agent/ray/v3.2/video-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "video" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/pixverse/v6/max/text-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video by resolution without audio (the default generate_audio_switch=false); output_cost_per_second is the default resolution 720p rate; 360p $0.054 and 540p $0.081 have no catalog field; with audio the rates are $0.081/$0.099/$0.135/$0.252 per second, which is not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.099, + "output_cost_per_second_1080p": 0.198, + "output_cost_per_second_720p": 0.099, + "source": "https://fal.ai/models/pixverse/v6/max/text-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/pixverse/v6/max/image-to-video": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per second of generated video by resolution without audio (the default generate_audio_switch=false); output_cost_per_second is the default resolution 720p rate; 360p $0.054 and 540p $0.081 have no catalog field; with audio the rates are $0.081/$0.099/$0.135/$0.252 per second, which is not modeled"}, + "mode": "video_generation", + "output_cost_per_second": 0.099, + "output_cost_per_second_1080p": 0.198, + "output_cost_per_second_720p": 0.099, + "source": "https://fal.ai/models/pixverse/v6/max/image-to-video", + "supported_endpoints": [ + "/v1/videos" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "video" + ] + }, + "fal_ai/fal-ai/flux-2-pro": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro", + "supported_endpoints": [ + "/v1/images/generations" + ] + }, + "fal_ai/fal-ai/flux-2-pro/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-2-pro/outpaint": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.03 for the first output megapixel plus $0.015 per additional input or output megapixel, rounded up, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-2-pro/outpaint", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-2-max": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.07 for the first processed megapixel plus $0.03 per additional megapixel, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.07, + "source": "https://fal.ai/models/fal-ai/flux-2-max", + "supported_endpoints": [ + "/v1/images/generations" + ] + }, + "fal_ai/fal-ai/flux-2-max/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the default 1 MP output; fal bills $0.07 for the first processed megapixel plus $0.03 per additional megapixel, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.07, + "source": "https://fal.ai/models/fal-ai/flux-2-max/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/flux-pro/v1/erase": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per image for the first generated megapixel; fal bills $0.004 for each subsequent generated megapixel and $0.004 per reference megapixel with a 3 MP minimum, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.03, + "source": "https://fal.ai/models/fal-ai/flux-pro/v1/erase", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/fal-ai/smart-resize": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per single-image request at standard resolution: $0.15 per output image plus the $0.05 minimum vision analysis fee per request; additional output images in one request ($0.15 each) and 4K outputs (charged double) are not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.2, + "source": "https://fal.ai/models/fal-ai/smart-resize", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/bytedance/seedream/v5/pro/layerize": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per generated layer for total pixel area under 1536x1536; layers for a base image over 1536x1536 are $0.0675 each, which has no catalog field"}, + "mode": "image_generation", + "output_cost_per_image": 0.03375, + "source": "https://fal.ai/models/bytedance/seedream/v5/pro/layerize", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/luma/agent/uni-1/v1/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per edit with one source image ($0.042 per edit plus $0.003 per reference or source image); each additional reference image adds $0.003, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.045, + "source": "https://fal.ai/models/luma/agent/uni-1/v1/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "fal_ai/luma/agent/uni-1/v1/max/edit": { + "litellm_provider": "fal_ai", + "metadata": {"comment":"per edit with one source image ($0.102 per edit plus $0.003 per reference or source image); each additional reference image adds $0.003, which is not modeled"}, + "mode": "image_generation", + "output_cost_per_image": 0.105, + "source": "https://fal.ai/models/luma/agent/uni-1/v1/max/edit", + "supported_endpoints": [ + "/v1/images/edits", + "/v1/images/generations" + ], + "supports_vision": true + }, + "databricks/databricks-gemini-4-carbon": { + "cache_creation_input_token_cost": 2e-06, + "cache_read_input_token_cost": 2e-06, + "input_cost_per_token": 2e-06, + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "metadata": {"notes":"Gemini 4 Carbon on Databricks is available only through Unity Gateway with the model service name system.ai.gemini-4-carbon on a global endpoint. The Databricks pricing pages list no row for it yet, so input and output are the Global rates on the Vertex AI pricing page for Gemini 4 Carbon (listed there through November 30, 2026), no '*_dbu_cost_per_token' fields are published, and cache tokens bill at the input rate until Databricks publishes cache DBU rates."}, + "mode": "chat", + "output_cost_per_token": 1e-05, + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true, + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true + }, + "databricks/system.ai.gemini-4-carbon": { + "cache_creation_input_token_cost": 2e-06, + "cache_read_input_token_cost": 2e-06, + "input_cost_per_token": 2e-06, + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 1048576, + "metadata": {"notes":"Gemini 4 Carbon on Databricks is available only through Unity Gateway with the model service name system.ai.gemini-4-carbon on a global endpoint. The Databricks pricing pages list no row for it yet, so input and output are the Global rates on the Vertex AI pricing page for Gemini 4 Carbon (listed there through November 30, 2026), no '*_dbu_cost_per_token' fields are published, and cache tokens bill at the input rate until Databricks publishes cache DBU rates."}, + "mode": "chat", + "output_cost_per_token": 1e-05, + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true, + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true } } diff --git a/tests/unit/test_cost_calculator.py b/tests/unit/test_cost_calculator.py index b991f492bdd..ad1e15330d2 100644 --- a/tests/unit/test_cost_calculator.py +++ b/tests/unit/test_cost_calculator.py @@ -3259,6 +3259,37 @@ def test_completion_cost_service_tier_for_bedrock(_local_model_cost_map): assert priority_cost > default_cost > flex_cost > 0 +@pytest.mark.parametrize( + ("model", "service_tier", "regional_row"), + [ + pytest.param( + "bedrock/moonshotai.kimi-k2.5", + "priority", + "bedrock/us-west-2/moonshotai.kimi-k2.5", + id="kimi-k2.5-priority", + ), + pytest.param("zai.glm-5", "flex", "bedrock/us-west-2/zai.glm-5", id="glm-5-flex"), + ], +) +def test_cost_per_token_bedrock_service_tier_without_a_region_matches_the_regional_row( + _local_model_cost_map, model: str, service_tier: str, regional_row: str +) -> None: + """Regression for #46880: a Bedrock priority or flex call priced without a region fell back to the + standard rate because the region-less row lacked the tier prices its regional rows carry.""" + regional: Final = litellm.model_cost[regional_row] + tier_input: Final = regional[f"input_cost_per_token_{service_tier}"] + tier_output: Final = regional[f"output_cost_per_token_{service_tier}"] + assert tier_input != regional["input_cost_per_token"] + + usage: Final = Usage(prompt_tokens=1000, completion_tokens=500, total_tokens=1500) + prompt_usd, completion_usd = cost_per_token( + model=model, custom_llm_provider="bedrock", usage_object=usage, service_tier=service_tier + ) + + assert prompt_usd == pytest.approx(1000 * tier_input) + assert completion_usd == pytest.approx(500 * tier_output) + + def test_completion_cost_service_tier_for_anthropic(_local_model_cost_map): """ Anthropic priority-tier requests must be priced at the priority rate.