fix(openai): complete gpt-image-2 pricing integration

Ensure gpt-image-2 is routed through token-based image cost calculation and fully mapped in both model price registries, including Azure variants and pdf support flags expected by tests.
This commit is contained in:
root 2026-04-24 11:10:35 +08:00
parent 0d7fa42359
commit 8907315e82
3 changed files with 140 additions and 6 deletions

View file

@ -981,7 +981,7 @@ class CostCalculatorUtils:
elif custom_llm_provider == litellm.LlmProviders.OPENAI.value:
# Check if this is a gpt-image model (token-based pricing)
model_lower = model.lower()
if "gpt-image-1" in model_lower:
if "gpt-image-1" in model_lower or "gpt-image-2" in model_lower:
from litellm.llms.openai.image_generation.cost_calculator import (
cost_calculator as openai_gpt_image_cost_calculator,
)
@ -1003,7 +1003,7 @@ class CostCalculatorUtils:
elif custom_llm_provider == litellm.LlmProviders.AZURE.value:
# Check if this is a gpt-image model (token-based pricing)
model_lower = model.lower()
if "gpt-image-1" in model_lower:
if "gpt-image-1" in model_lower or "gpt-image-2" in model_lower:
from litellm.llms.openai.image_generation.cost_calculator import (
cost_calculator as openai_gpt_image_cost_calculator,
)

View file

@ -4532,6 +4532,48 @@
"/v1/images/edits"
]
},
"azure/gpt-image-2": {
"input_cost_per_token": 8e-06,
"input_cost_per_image_token": 8e-06,
"output_cost_per_image_token": 3.2e-05,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/low/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.006,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/medium/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.053,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/high/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.211,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/hd/1024-x-1024/dall-e-3": {
"input_cost_per_pixel": 7.629e-08,
"litellm_provider": "azure",
@ -18278,7 +18320,8 @@
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
"supports_vision": true,
"supports_pdf_input": true
},
"low/1024-x-1024/gpt-image-1.5": {
"input_cost_per_image": 0.009,
@ -18618,7 +18661,8 @@
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
"supports_vision": true,
"supports_pdf_input": true
},
"medium/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.053,
@ -18628,7 +18672,8 @@
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
"supports_vision": true,
"supports_pdf_input": true
},
"high/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.211,
@ -18638,7 +18683,8 @@
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
"supports_vision": true,
"supports_pdf_input": true
},
"gpt-5": {
"cache_read_input_token_cost": 1.25e-07,

View file

@ -4532,6 +4532,48 @@
"/v1/images/edits"
]
},
"azure/gpt-image-2": {
"input_cost_per_token": 8e-06,
"input_cost_per_image_token": 8e-06,
"output_cost_per_image_token": 3.2e-05,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/low/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.006,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/medium/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.053,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/high/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.211,
"litellm_provider": "azure",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true
},
"azure/hd/1024-x-1024/dall-e-3": {
"input_cost_per_pixel": 7.629e-08,
"litellm_provider": "azure",
@ -19831,6 +19873,52 @@
"/v1/images/edits"
]
},
"gpt-image-2": {
"input_cost_per_token": 8e-06,
"input_cost_per_image_token": 8e-06,
"output_cost_per_image_token": 3.2e-05,
"litellm_provider": "openai",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true,
"supports_pdf_input": true
},
"low/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.006,
"litellm_provider": "openai",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true,
"supports_pdf_input": true
},
"medium/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.053,
"litellm_provider": "openai",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true,
"supports_pdf_input": true
},
"high/1024-x-1024/gpt-image-2": {
"input_cost_per_image": 0.211,
"litellm_provider": "openai",
"mode": "image_generation",
"supported_endpoints": [
"/v1/images/generations",
"/v1/images/edits"
],
"supports_vision": true,
"supports_pdf_input": true
},
"gpt-image-1-mini": {
"cache_read_input_image_token_cost": 2.5e-07,
"cache_read_input_token_cost": 2e-07,