From 1d187b5dc0cad400030a637297644ca0684a3cd8 Mon Sep 17 00:00:00 2001 From: Supernova Date: Fri, 7 Aug 2026 19:36:08 +0000 Subject: [PATCH] Update GPT-5.6 Luna/Terra Bedrock pricing for July 30, 2026 price cut AWS Bedrock and OpenAI cut prices for the GPT-5.6 family effective July 30, 2026. Update the two affected Bedrock entries: Luna: input 1.00 -> 0.22, output 6.00 -> 1.32 (per million tokens) Terra: input 2.50 -> 2.20, output 15.00 -> 13.20 (per million tokens) cache_read_input_per_million (0.1x input) and cache_write_input_per_million (1.25x input, per DUX-11232) are recomputed from the new input rates to keep the same ratios that were already in place: Luna: cache_read 0.1 -> 0.022, cache_write 1.25 -> 0.275 Terra: cache_read 0.25 -> 0.22, cache_write 3.125 -> 2.75 Sol and all other models are untouched - this price cut only applies to Luna/Terra. Sources: AWS Bedrock pricing page (aws.amazon.com/bedrock/pricing) and OpenAI's July 30, 2026 pricing announcement. Co-Authored-By: Claude Sonnet 5 Co-authored-by: Sam Boland --- lib/ruby_llm/models.json | 32 ++++++++++---------- spec/ruby_llm/models_gpt_5_6_bedrock_spec.rb | 10 ++++-- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/ruby_llm/models.json b/lib/ruby_llm/models.json index 9d983118d..28b241b02 100644 --- a/lib/ruby_llm/models.json +++ b/lib/ruby_llm/models.json @@ -16812,10 +16812,10 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.0, - "output_per_million": 6.0, - "cache_read_input_per_million": 0.1, - "cache_write_input_per_million": 1.25 + "input_per_million": 0.22, + "output_per_million": 1.32, + "cache_read_input_per_million": 0.022, + "cache_write_input_per_million": 0.275 } } }, @@ -16840,10 +16840,10 @@ } ], "cost": { - "input": 1.0, - "output": 6.0, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.22, + "output": 1.32, + "cache_read": 0.022, + "cache_write": 0.275 }, "limit": { "context": 272000, @@ -16948,10 +16948,10 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.5, - "output_per_million": 15.0, - "cache_read_input_per_million": 0.25, - "cache_write_input_per_million": 3.125 + "input_per_million": 2.2, + "output_per_million": 13.2, + "cache_read_input_per_million": 0.22, + "cache_write_input_per_million": 2.75 } } }, @@ -16976,10 +16976,10 @@ } ], "cost": { - "input": 2.5, - "output": 15.0, - "cache_read": 0.25, - "cache_write": 3.125 + "input": 2.2, + "output": 13.2, + "cache_read": 0.22, + "cache_write": 2.75 }, "limit": { "context": 272000, diff --git a/spec/ruby_llm/models_gpt_5_6_bedrock_spec.rb b/spec/ruby_llm/models_gpt_5_6_bedrock_spec.rb index 88bfd36b0..4475fa8ad 100644 --- a/spec/ruby_llm/models_gpt_5_6_bedrock_spec.rb +++ b/spec/ruby_llm/models_gpt_5_6_bedrock_spec.rb @@ -14,6 +14,12 @@ # registry carrying a cache_write_input_per_million value — every other # OpenAI entry has none because the rate really is $0 for those models. # + # Luna/Terra base input/output rates reflect the July 30, 2026 OpenAI/Bedrock + # price cut (AWS Bedrock pricing page: aws.amazon.com/bedrock/pricing; OpenAI's + # July 30, 2026 pricing announcement). cache_read (0.1x) and cache_write (1.25x) + # remain the same ratios of the (now lower) input rate as before. Sol was not + # part of this price cut and is unchanged. + # # Separately open (do NOT resolve here): OpenAI's developer community has # reported two GPT-5.6-specific usage-accounting bugs since launch (July # 2026) — one where cached_tokens + cache_write_tokens could nearly @@ -27,8 +33,8 @@ # Luna/Terra/Sol costs as an open risk until this is checked. { 'openai.gpt-5.6-sol' => { input: 5.0, output: 30.0, cache_read: 0.5, cache_write: 6.25 }, - 'openai.gpt-5.6-terra' => { input: 2.5, output: 15.0, cache_read: 0.25, cache_write: 3.125 }, - 'openai.gpt-5.6-luna' => { input: 1.0, output: 6.0, cache_read: 0.1, cache_write: 1.25 } + 'openai.gpt-5.6-terra' => { input: 2.2, output: 13.2, cache_read: 0.22, cache_write: 2.75 }, + 'openai.gpt-5.6-luna' => { input: 0.22, output: 1.32, cache_read: 0.022, cache_write: 0.275 } }.each do |id, cost| it "resolves #{id} from the bedrock provider with the documented effort values" do model = RubyLLM.models.find(id, :bedrock)