mathpulse-api-v3test / config /ai_pricing.py
github-actions[bot]
🚀 Auto-deploy backend from GitHub (cffaf6f)
bdf8f9d
# backend/config/ai_pricing.py
# DeepSeek V4 API Pricing Configuration
# TODO: Review pricing after 2026-05-31
from datetime import datetime, timezone
DEEPSEEK_PRICING = {
"deepseek-v4-pro": {
"promotional": {
"active": True,
"expires_utc": datetime(2026, 5, 31, 15, 59, 0, tzinfo=timezone.utc),
"input_cache_hit_per_1m": 0.003625,
"input_cache_miss_per_1m": 0.435,
"output_per_1m": 0.87,
},
"full_price": {
"input_cache_hit_per_1m": 0.0145,
"input_cache_miss_per_1m": 1.74,
"output_per_1m": 3.48,
},
},
"deepseek-v4-flash": {
"input_cache_hit_per_1m": 0.0028,
"input_cache_miss_per_1m": 0.14,
"output_per_1m": 0.28,
},
}
def get_active_pricing(model_id: str) -> dict:
"""Returns the currently active pricing tier for a given model."""
model = DEEPSEEK_PRICING.get(model_id)
if not model:
raise ValueError(f"Unknown model: {model_id}")
if "promotional" in model:
promo = model["promotional"]
if promo["active"] and datetime.now(timezone.utc) < promo["expires_utc"]:
return {
"input_cache_hit_per_1m": promo["input_cache_hit_per_1m"],
"input_cache_miss_per_1m": promo["input_cache_miss_per_1m"],
"output_per_1m": promo["output_per_1m"],
"is_promotional": True,
"promo_expires_utc": promo["expires_utc"].isoformat(),
}
return {**model["full_price"], "is_promotional": False}
return {**model, "is_promotional": False}
def get_full_pricing(model_id: str) -> dict:
"""Returns the full (non-promotional) pricing for a model."""
model = DEEPSEEK_PRICING.get(model_id)
if not model:
raise ValueError(f"Unknown model: {model_id}")
if "full_price" in model:
return model["full_price"]
return {
"input_cache_hit_per_1m": model["input_cache_hit_per_1m"],
"input_cache_miss_per_1m": model["input_cache_miss_per_1m"],
"output_per_1m": model["output_per_1m"],
}