From ee5578e330da8fe6ff6bb7c0097911dc500ed8cf Mon Sep 17 00:00:00 2001 From: Xander Steenbrugge Date: Fri, 24 Apr 2026 12:12:35 +0200 Subject: [PATCH] update pricing for Anthropic models through Anthropic API key --- agent/usage_pricing.py | 104 ++++++++++++++++++++++++++++++++++------- 1 file changed, 88 insertions(+), 16 deletions(-) diff --git a/agent/usage_pricing.py b/agent/usage_pricing.py index 1dfe59ea327..b81e66174c7 100644 --- a/agent/usage_pricing.py +++ b/agent/usage_pricing.py @@ -86,13 +86,49 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { "anthropic", "claude-opus-4-20250514", ): PricingEntry( - input_cost_per_million=Decimal("15.00"), - output_cost_per_million=Decimal("75.00"), - cache_read_cost_per_million=Decimal("1.50"), - cache_write_cost_per_million=Decimal("18.75"), + input_cost_per_million=Decimal("5.00"), + output_cost_per_million=Decimal("25.00"), + cache_read_cost_per_million=Decimal("0.50"), + cache_write_cost_per_million=Decimal("6.25"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-prompt-caching-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-opus-4-5", + ): PricingEntry( + input_cost_per_million=Decimal("5.00"), + output_cost_per_million=Decimal("25.00"), + cache_read_cost_per_million=Decimal("0.50"), + cache_write_cost_per_million=Decimal("6.25"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-opus-4-6", + ): PricingEntry( + input_cost_per_million=Decimal("5.00"), + output_cost_per_million=Decimal("25.00"), + cache_read_cost_per_million=Decimal("0.50"), + cache_write_cost_per_million=Decimal("6.25"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-opus-4-7", + ): PricingEntry( + input_cost_per_million=Decimal("5.00"), + output_cost_per_million=Decimal("25.00"), + cache_read_cost_per_million=Decimal("0.50"), + cache_write_cost_per_million=Decimal("6.25"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), ( "anthropic", @@ -103,8 +139,44 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { cache_read_cost_per_million=Decimal("0.30"), cache_write_cost_per_million=Decimal("3.75"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-prompt-caching-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-sonnet-4-5", + ): PricingEntry( + input_cost_per_million=Decimal("3.00"), + output_cost_per_million=Decimal("15.00"), + cache_read_cost_per_million=Decimal("0.30"), + cache_write_cost_per_million=Decimal("3.75"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-sonnet-4-6", + ): PricingEntry( + input_cost_per_million=Decimal("3.00"), + output_cost_per_million=Decimal("15.00"), + cache_read_cost_per_million=Decimal("0.30"), + cache_write_cost_per_million=Decimal("3.75"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", + ), + ( + "anthropic", + "claude-haiku-4-5", + ): PricingEntry( + input_cost_per_million=Decimal("1.00"), + output_cost_per_million=Decimal("5.00"), + cache_read_cost_per_million=Decimal("0.10"), + cache_write_cost_per_million=Decimal("1.25"), + source="official_docs_snapshot", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), # OpenAI ( @@ -194,8 +266,8 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { cache_read_cost_per_million=Decimal("0.30"), cache_write_cost_per_million=Decimal("3.75"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-pricing-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), ( "anthropic", @@ -206,8 +278,8 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { cache_read_cost_per_million=Decimal("0.08"), cache_write_cost_per_million=Decimal("1.00"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-pricing-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), ( "anthropic", @@ -218,8 +290,8 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { cache_read_cost_per_million=Decimal("1.50"), cache_write_cost_per_million=Decimal("18.75"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-pricing-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), ( "anthropic", @@ -230,8 +302,8 @@ _OFFICIAL_DOCS_PRICING: Dict[tuple[str, str], PricingEntry] = { cache_read_cost_per_million=Decimal("0.03"), cache_write_cost_per_million=Decimal("0.30"), source="official_docs_snapshot", - source_url="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching", - pricing_version="anthropic-pricing-2026-03-16", + source_url="https://platform.claude.com/docs/en/about-claude/pricing", + pricing_version="anthropic-pricing-2026-04-24", ), # DeepSeek (