feat(databricks): add new Claude models and cached token pricing

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Devin AI 2026-08-21 23:22:38 +00:00
parent 66b930b540
commit 441f3bbe26
3 changed files with 481 additions and 37 deletions

View file

@ -14502,6 +14502,8 @@
"source": "https://www.databricks.com/product/pricing/foundation-model-serving"
},
"databricks/databricks-claude-3-7-sonnet": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14517,10 +14519,35 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-fable-5": {
"cache_creation_input_token_cost": 1.2500075e-05,
"cache_read_input_token_cost": 1.0000060000000001e-06,
"input_cost_per_token": 1.000006e-05,
"input_dbu_cost_per_token": 0.000142858,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 5.0000020000000004e-05,
"output_dbu_cost_per_token": 0.000714286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-haiku-4-5": {
"cache_creation_input_token_cost": 1.2500250000000002e-06,
"cache_read_input_token_cost": 1.0000200000000002e-07,
"input_cost_per_token": 1.00002e-06,
"input_dbu_cost_per_token": 1.4286e-05,
"litellm_provider": "databricks",
@ -14536,10 +14563,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4": {
"cache_creation_input_token_cost": 1.8750025e-05,
"cache_read_input_token_cost": 1.500002e-06,
"input_cost_per_token": 1.5000020000000002e-05,
"input_dbu_cost_per_token": 0.000214286,
"litellm_provider": "databricks",
@ -14555,10 +14585,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-1": {
"cache_creation_input_token_cost": 1.8750025e-05,
"cache_read_input_token_cost": 1.500002e-06,
"input_cost_per_token": 1.5000020000000002e-05,
"input_dbu_cost_per_token": 0.000214286,
"litellm_provider": "databricks",
@ -14574,10 +14607,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-5": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
@ -14593,11 +14629,14 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_output_config": true
},
"databricks/databricks-claude-opus-4-6": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
@ -14613,10 +14652,82 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-7": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-opus-4-8": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-opus-5": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-sonnet-4": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14632,10 +14743,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-1": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14651,10 +14765,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-5": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14670,10 +14787,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-6": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14689,10 +14809,36 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-5": {
"cache_creation_input_token_cost": 2.4999625e-06,
"cache_read_input_token_cost": 1.9999700000000004e-07,
"input_cost_per_token": 1.9999700000000004e-06,
"input_dbu_cost_per_token": 2.8571e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation. Claude Sonnet 5 DBU rates are Anthropic's introductory launch pricing, in effect through 2026-08-31, after which the standard Sonnet 5 rates (equal to Sonnet 4.5 / 4.6) take effect."
},
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-gemini-2-5-flash": {
"cache_creation_input_token_cost": 3.0001999999999996e-07,
"cache_read_input_token_cost": 3.0002e-08,
"input_cost_per_token": 3.0001999999999996e-07,
"input_dbu_cost_per_token": 4.285999999999999e-06,
"litellm_provider": "databricks",
@ -14707,9 +14853,12 @@
"output_dbu_cost_per_token": 3.5714e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-2-5-pro": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14724,9 +14873,12 @@
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-1-flash-lite": {
"cache_creation_input_token_cost": 3.1248e-07,
"cache_read_input_token_cost": 3.1248e-08,
"input_cost_per_token": 3.1248e-07,
"input_dbu_cost_per_token": 4.464e-06,
"litellm_provider": "databricks",
@ -14741,9 +14893,12 @@
"output_dbu_cost_per_token": 2.6786e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-1-pro": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14758,9 +14913,12 @@
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-flash": {
"cache_creation_input_token_cost": 6.250300000000001e-07,
"cache_read_input_token_cost": 6.250300000000001e-08,
"input_cost_per_token": 6.2503e-07,
"input_dbu_cost_per_token": 8.929e-06,
"litellm_provider": "databricks",
@ -14775,9 +14933,12 @@
"output_dbu_cost_per_token": 5.3571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-pro": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14792,6 +14953,7 @@
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemma-3-12b": {
@ -14810,6 +14972,8 @@
"source": "https://www.databricks.com/product/pricing/foundation-model-serving"
},
"databricks/databricks-gpt-5": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14822,9 +14986,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14837,9 +15004,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1-codex-max": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14852,9 +15022,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1-codex-mini": {
"cache_creation_input_token_cost": 2.4997000000000006e-07,
"cache_read_input_token_cost": 2.4997000000000005e-08,
"input_cost_per_token": 2.4997e-07,
"input_dbu_cost_per_token": 3.571e-06,
"litellm_provider": "databricks",
@ -14867,9 +15040,12 @@
"mode": "chat",
"output_cost_per_token": 1.99997e-06,
"output_dbu_cost_per_token": 2.8571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-2": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14882,9 +15058,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-2-codex": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14897,9 +15076,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-3-codex": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14912,9 +15094,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14927,9 +15112,12 @@
"mode": "chat",
"output_cost_per_token": 1.5000020000000002e-05,
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4-mini": {
"cache_creation_input_token_cost": 7.4998e-07,
"cache_read_input_token_cost": 7.499800000000001e-08,
"input_cost_per_token": 7.4998e-07,
"input_dbu_cost_per_token": 1.0714e-05,
"litellm_provider": "databricks",
@ -14942,9 +15130,12 @@
"mode": "chat",
"output_cost_per_token": 4.50002e-06,
"output_dbu_cost_per_token": 6.4286e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4-nano": {
"cache_creation_input_token_cost": 1.9999e-07,
"cache_read_input_token_cost": 1.9999000000000003e-08,
"input_cost_per_token": 1.9999e-07,
"input_dbu_cost_per_token": 2.857e-06,
"litellm_provider": "databricks",
@ -14957,9 +15148,12 @@
"mode": "chat",
"output_cost_per_token": 1.24999e-06,
"output_dbu_cost_per_token": 1.7857e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-mini": {
"cache_creation_input_token_cost": 2.4997000000000006e-07,
"cache_read_input_token_cost": 2.4997000000000005e-08,
"input_cost_per_token": 2.4997000000000006e-07,
"input_dbu_cost_per_token": 3.571e-06,
"litellm_provider": "databricks",
@ -14972,9 +15166,12 @@
"mode": "chat",
"output_cost_per_token": 1.9999700000000004e-06,
"output_dbu_cost_per_token": 2.8571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-nano": {
"cache_creation_input_token_cost": 4.998e-08,
"cache_read_input_token_cost": 4.998000000000001e-09,
"input_cost_per_token": 4.998e-08,
"input_dbu_cost_per_token": 7.14e-07,
"litellm_provider": "databricks",
@ -14987,7 +15184,8 @@
"mode": "chat",
"output_cost_per_token": 3.9998000000000007e-07,
"output_dbu_cost_per_token": 5.714000000000001e-06,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-oss-120b": {
"input_cost_per_token": 1.5000999999999998e-07,

View file

@ -14502,6 +14502,8 @@
"source": "https://www.databricks.com/product/pricing/foundation-model-serving"
},
"databricks/databricks-claude-3-7-sonnet": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14517,10 +14519,35 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-fable-5": {
"cache_creation_input_token_cost": 1.2500075e-05,
"cache_read_input_token_cost": 1.0000060000000001e-06,
"input_cost_per_token": 1.000006e-05,
"input_dbu_cost_per_token": 0.000142858,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 5.0000020000000004e-05,
"output_dbu_cost_per_token": 0.000714286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-haiku-4-5": {
"cache_creation_input_token_cost": 1.2500250000000002e-06,
"cache_read_input_token_cost": 1.0000200000000002e-07,
"input_cost_per_token": 1.00002e-06,
"input_dbu_cost_per_token": 1.4286e-05,
"litellm_provider": "databricks",
@ -14536,10 +14563,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4": {
"cache_creation_input_token_cost": 1.8750025e-05,
"cache_read_input_token_cost": 1.500002e-06,
"input_cost_per_token": 1.5000020000000002e-05,
"input_dbu_cost_per_token": 0.000214286,
"litellm_provider": "databricks",
@ -14555,10 +14585,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-1": {
"cache_creation_input_token_cost": 1.8750025e-05,
"cache_read_input_token_cost": 1.500002e-06,
"input_cost_per_token": 1.5000020000000002e-05,
"input_dbu_cost_per_token": 0.000214286,
"litellm_provider": "databricks",
@ -14574,10 +14607,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-5": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
@ -14593,11 +14629,14 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_output_config": true
},
"databricks/databricks-claude-opus-4-6": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
@ -14613,10 +14652,82 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-opus-4-7": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-opus-4-8": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-opus-5": {
"cache_creation_input_token_cost": 6.2500375e-06,
"cache_read_input_token_cost": 5.000030000000001e-07,
"input_cost_per_token": 5.00003e-06,
"input_dbu_cost_per_token": 7.1429e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation."
},
"mode": "chat",
"output_cost_per_token": 2.5000010000000002e-05,
"output_dbu_cost_per_token": 0.000357143,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-claude-sonnet-4": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14632,10 +14743,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-1": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14651,10 +14765,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-5": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14670,10 +14787,13 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-4-6": {
"cache_creation_input_token_cost": 3.7499875e-06,
"cache_read_input_token_cost": 2.9999900000000006e-07,
"input_cost_per_token": 2.9999900000000002e-06,
"input_dbu_cost_per_token": 4.2857e-05,
"litellm_provider": "databricks",
@ -14689,10 +14809,36 @@
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true
},
"databricks/databricks-claude-sonnet-5": {
"cache_creation_input_token_cost": 2.4999625e-06,
"cache_read_input_token_cost": 1.9999700000000004e-07,
"input_cost_per_token": 1.9999700000000004e-06,
"input_dbu_cost_per_token": 2.8571e-05,
"litellm_provider": "databricks",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"metadata": {
"notes": "Input/output cost per token is dbu cost * $0.070. Number provided for reference, '*_dbu_cost_per_token' used in actual calculation. Claude Sonnet 5 DBU rates are Anthropic's introductory launch pricing, in effect through 2026-08-31, after which the standard Sonnet 5 rates (equal to Sonnet 4.5 / 4.6) take effect."
},
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_assistant_prefill": false,
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"databricks/databricks-gemini-2-5-flash": {
"cache_creation_input_token_cost": 3.0001999999999996e-07,
"cache_read_input_token_cost": 3.0002e-08,
"input_cost_per_token": 3.0001999999999996e-07,
"input_dbu_cost_per_token": 4.285999999999999e-06,
"litellm_provider": "databricks",
@ -14707,9 +14853,12 @@
"output_dbu_cost_per_token": 3.5714e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-2-5-pro": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14724,9 +14873,12 @@
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-1-flash-lite": {
"cache_creation_input_token_cost": 3.1248e-07,
"cache_read_input_token_cost": 3.1248e-08,
"input_cost_per_token": 3.1248e-07,
"input_dbu_cost_per_token": 4.464e-06,
"litellm_provider": "databricks",
@ -14741,9 +14893,12 @@
"output_dbu_cost_per_token": 2.6786e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-1-pro": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14758,9 +14913,12 @@
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-flash": {
"cache_creation_input_token_cost": 6.250300000000001e-07,
"cache_read_input_token_cost": 6.250300000000001e-08,
"input_cost_per_token": 6.2503e-07,
"input_dbu_cost_per_token": 8.929e-06,
"litellm_provider": "databricks",
@ -14775,9 +14933,12 @@
"output_dbu_cost_per_token": 5.3571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemini-3-pro": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14792,6 +14953,7 @@
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_tool_choice": true
},
"databricks/databricks-gemma-3-12b": {
@ -14810,6 +14972,8 @@
"source": "https://www.databricks.com/product/pricing/foundation-model-serving"
},
"databricks/databricks-gpt-5": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14822,9 +14986,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14837,9 +15004,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1-codex-max": {
"cache_creation_input_token_cost": 1.24999e-06,
"cache_read_input_token_cost": 1.24999e-07,
"input_cost_per_token": 1.24999e-06,
"input_dbu_cost_per_token": 1.7857e-05,
"litellm_provider": "databricks",
@ -14852,9 +15022,12 @@
"mode": "chat",
"output_cost_per_token": 9.999990000000002e-06,
"output_dbu_cost_per_token": 0.000142857,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-1-codex-mini": {
"cache_creation_input_token_cost": 2.4997000000000006e-07,
"cache_read_input_token_cost": 2.4997000000000005e-08,
"input_cost_per_token": 2.4997e-07,
"input_dbu_cost_per_token": 3.571e-06,
"litellm_provider": "databricks",
@ -14867,9 +15040,12 @@
"mode": "chat",
"output_cost_per_token": 1.99997e-06,
"output_dbu_cost_per_token": 2.8571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-2": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14882,9 +15058,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-2-codex": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14897,9 +15076,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-3-codex": {
"cache_creation_input_token_cost": 1.7500000000000002e-06,
"cache_read_input_token_cost": 1.7500000000000002e-07,
"input_cost_per_token": 1.75e-06,
"input_dbu_cost_per_token": 2.5e-05,
"litellm_provider": "databricks",
@ -14912,9 +15094,12 @@
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"output_dbu_cost_per_token": 0.0002,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4": {
"cache_creation_input_token_cost": 2.49998e-06,
"cache_read_input_token_cost": 2.49998e-07,
"input_cost_per_token": 2.49998e-06,
"input_dbu_cost_per_token": 3.5714e-05,
"litellm_provider": "databricks",
@ -14927,9 +15112,12 @@
"mode": "chat",
"output_cost_per_token": 1.5000020000000002e-05,
"output_dbu_cost_per_token": 0.000214286,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4-mini": {
"cache_creation_input_token_cost": 7.4998e-07,
"cache_read_input_token_cost": 7.499800000000001e-08,
"input_cost_per_token": 7.4998e-07,
"input_dbu_cost_per_token": 1.0714e-05,
"litellm_provider": "databricks",
@ -14942,9 +15130,12 @@
"mode": "chat",
"output_cost_per_token": 4.50002e-06,
"output_dbu_cost_per_token": 6.4286e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-4-nano": {
"cache_creation_input_token_cost": 1.9999e-07,
"cache_read_input_token_cost": 1.9999000000000003e-08,
"input_cost_per_token": 1.9999e-07,
"input_dbu_cost_per_token": 2.857e-06,
"litellm_provider": "databricks",
@ -14957,9 +15148,12 @@
"mode": "chat",
"output_cost_per_token": 1.24999e-06,
"output_dbu_cost_per_token": 1.7857e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-mini": {
"cache_creation_input_token_cost": 2.4997000000000006e-07,
"cache_read_input_token_cost": 2.4997000000000005e-08,
"input_cost_per_token": 2.4997000000000006e-07,
"input_dbu_cost_per_token": 3.571e-06,
"litellm_provider": "databricks",
@ -14972,9 +15166,12 @@
"mode": "chat",
"output_cost_per_token": 1.9999700000000004e-06,
"output_dbu_cost_per_token": 2.8571e-05,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-5-nano": {
"cache_creation_input_token_cost": 4.998e-08,
"cache_read_input_token_cost": 4.998000000000001e-09,
"input_cost_per_token": 4.998e-08,
"input_dbu_cost_per_token": 7.14e-07,
"litellm_provider": "databricks",
@ -14987,7 +15184,8 @@
"mode": "chat",
"output_cost_per_token": 3.9998000000000007e-07,
"output_dbu_cost_per_token": 5.714000000000001e-06,
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving"
"source": "https://www.databricks.com/product/pricing/proprietary-foundation-model-serving",
"supports_prompt_caching": true
},
"databricks/databricks-gpt-oss-120b": {
"input_cost_per_token": 1.5000999999999998e-07,

View file

@ -1,6 +1,29 @@
import json
import os
import sys
from types import MappingProxyType
from typing import Final
# (cache write, cache read) multipliers on the input rate, per model vendor, from
# https://www.databricks.com/product/pricing/proprietary-foundation-model-serving
CACHE_RATIOS: Final = MappingProxyType({"claude": (1.25, 0.1), "gemini": (1.0, 0.1), "gpt-5": (1.0, 0.1)})
def _load_cost_map() -> dict:
json_path: Final = os.path.join(os.path.dirname(__file__), "../../../../model_prices_and_context_window.json")
assert os.path.exists(json_path), f"Could not find model_prices_and_context_window.json at {json_path}"
with open(json_path, "r") as f:
return json.load(f)
def _cache_vendor(model: str) -> str | None:
name: Final = model.removeprefix("databricks/databricks-")
if name.startswith("claude"):
return "claude"
if name.startswith("gemini"):
return "gemini"
if name.startswith("gpt-5") and "oss" not in name:
return "gpt-5"
return None
def test_databricks_pricing_integrity():
@ -8,14 +31,10 @@ def test_databricks_pricing_integrity():
Verifies that for all Databricks models in model_prices_and_context_window.json:
USD Price == DBU Price * 0.07
"""
json_path = os.path.join(
os.path.dirname(__file__), "../../../../model_prices_and_context_window.json"
)
json_path = os.path.join(os.path.dirname(__file__), "../../../../model_prices_and_context_window.json")
# Verify file exists
assert os.path.exists(
json_path
), f"Could not find model_prices_and_context_window.json at {json_path}"
assert os.path.exists(json_path), f"Could not find model_prices_and_context_window.json at {json_path}"
with open(json_path, "r") as f:
data = json.load(f)
@ -33,9 +52,7 @@ def test_databricks_pricing_integrity():
expected = input_dbu * conversion_rate
# Allow small floating point difference
if abs(input_usd - expected) > 1e-9:
errors.append(
f"{model} input mismatch: USD={input_usd}, DBU={input_dbu}, Expected={expected}"
)
errors.append(f"{model} input mismatch: USD={input_usd}, DBU={input_dbu}, Expected={expected}")
# Check Output Cost
output_usd = info.get("output_cost_per_token")
@ -44,8 +61,39 @@ def test_databricks_pricing_integrity():
if output_usd is not None and output_dbu is not None:
expected = output_dbu * conversion_rate
if abs(output_usd - expected) > 1e-9:
errors.append(
f"{model} output mismatch: USD={output_usd}, DBU={output_dbu}, Expected={expected}"
)
errors.append(f"{model} output mismatch: USD={output_usd}, DBU={output_dbu}, Expected={expected}")
assert not errors, "\n" + "\n".join(errors)
def test_databricks_proprietary_models_have_cache_pricing():
"""
Every Databricks-hosted Claude / Gemini / GPT-5 chat model must carry cached token pricing,
derived from its input rate with the vendor's cache write and cache read multipliers
"""
data: Final = _load_cost_map()
errors: Final[list[str]] = [] # mutable-ok: pytest failure message accumulator
priced: Final[list[str]] = [] # mutable-ok: pytest failure message accumulator
for model, info in data.items():
vendor: Final = _cache_vendor(model) if model.startswith("databricks/") else None
if vendor is None or info.get("mode") != "chat":
continue
priced.append(model)
write_ratio, read_ratio = CACHE_RATIOS[vendor]
input_usd = info["input_cost_per_token"]
for field, ratio in (
("cache_creation_input_token_cost", write_ratio),
("cache_read_input_token_cost", read_ratio),
):
actual = info.get(field)
expected = input_usd * ratio
if actual is None:
errors.append(f"{model} missing {field}")
elif abs(actual - expected) > 1e-12:
errors.append(f"{model} {field} mismatch: got {actual}, expected {expected}")
if not info.get("supports_prompt_caching"):
errors.append(f"{model} missing supports_prompt_caching")
assert priced, "no Databricks proprietary chat models found"
assert not errors, "\n" + "\n".join(errors)