,

Amazon Bedrock Model Catalog and Choosing a Model (AWS Gen AI Series, Part 3)

Bedrock ships more than a hundred models across fifteen providers, and the price gap between the cheapest and the priciest is over 400x. Here is how I read the catalog and pick a model without overpaying.

AWS Gen AI Series · Part 3 of 30
TL;DR
The Bedrock catalog in 2026 holds well over a hundred models from fifteen-plus providers, served two ways: about fifty are hosted for you and billed per token, and the rest deploy behind a SageMaker endpoint through Bedrock Marketplace. The blended price gap from the cheapest model to the priciest is more than 400x, so the model you default to is the biggest line item you never argued about. My rule is boring and it saves real money: start on the cheapest model that could plausibly work, hold it to a written eval, and only climb the ladder when it fails. This part is how I read the catalog and pick.
Who this is for: Engineers who can already call Bedrock safely and want to choose which model to call. You should have read Part 1, the stack overview, and Part 2, which covers access and the security baseline. You do not need to know any model IDs yet. Every product name is defined on first use.

Most teams pick a Bedrock model the same wrong way. Someone read that Claude Opus tops a leaderboard, wired it into a summarizer, shipped, and moved on. Six weeks later the bill arrives and the summarizer, which turns two paragraphs of support chat into one sentence, is running on a frontier reasoning model that costs roughly ninety times its cheapest sibling per token. The output was never better for that job. Nobody measured. Choosing a model is a cost decision wearing a quality costume, and the catalog is built so you can get it right if you read it deliberately.

What the catalog actually holds

The Bedrock model catalog is the menu of foundation models, the large pretrained models behind generative AI, that you can call from your account. In 2026 it spans AI21 Labs, Anthropic, Cohere, DeepSeek, Luma AI, Meta, Mistral AI, OpenAI, Qwen, Stability AI, TwelveLabs, Writer, and Amazon own Nova family. The total count sits above a hundred models and changes almost weekly as providers add versions, so treat any exact number as a snapshot, not a constant. What matters is not the count. It is that these models differ from each other by more than 400x on price and by a similar spread on latency, and they all sit behind the same API.

You browse the catalog in the Bedrock console under Model catalog, or from code with a single API call I show later. Each entry carries the facts you actually choose on: the modalities it handles, meaning text, image, video, or speech in and out; the context window, meaning how many tokens it can read at once; the maximum output length; and how it is served. That last one, how it is served, is the fork most people miss.

Two ways a model is served

About fifty models are hosted for you in a serverless pattern. You call InvokeModel or the Converse API, you send tokens, and you pay per token with no server to run. This is the path you want by default. It carries the high-level Bedrock features with it: Knowledge Bases, Agents, Guardrails, and model evaluation all work against a serverless model with no extra plumbing.

Everything else lives in Bedrock Marketplace, a catalog of specialized and open models that AWS does not host on demand. When you pick one, Bedrock deploys it to an Amazon SageMaker endpoint, a managed compute instance that runs the model for you, and from that point you pay for the instance by the hour rather than by the token. The upside is reach: hundreds of niche and open-weight models become callable through the same Bedrock APIs. The trap is the bill. A Marketplace endpoint runs, and charges, whether or not a single request hits it. I have watched a proof of concept leave a Marketplace endpoint running over a weekend and turn a curiosity into a line item. Serverless has no idle cost. Marketplace does.

How a model is servedSame APIs, two billing shapesBedrock model catalog100+ models, 15+ providersServerless (about 50)InvokeModel / Conversepay per token, no idle costMarketplace (the rest)SageMaker endpointpay per hour, idle cost
The fork that decides your bill shape. Serverless charges per token; a Marketplace endpoint charges by the hour, running or not.

Model families worth knowing in 2026

You do not need to memorize the catalog. You need four or five families and a sense of where each one earns its price. Here is the shortlist I actually reach for, and what each is good at.

FamilyProviderReach for it when
Amazon NovaAmazonHigh-volume, cost-sensitive text and multimodal work; the cheapest way to run at scale
ClaudeAnthropicHard reasoning, long context, agentic tool use, careful writing
LlamaMetaOpen-weight control, portability, latency-optimized paths
MistralMistral AIEfficient European-built models, coding and structured output
Stability, Luma, TwelveLabsVariousImage, video, and video-understanding jobs, not text chat

Two 2026 facts anchor the text families. On the Amazon side, Nova 2 Lite became generally available on 2 December 2025 as the current-generation workhorse, handling text, image, and video in with a one-million-token context window. On the Anthropic side, Claude Opus 4.7 became generally available on Bedrock on 16 April 2026 as the first Claude there with a one-million-token context and up to 128K output, and Claude Opus 4.8 sits above it on public intelligence rankings. Older Claude 3 and Claude 4 entries have moved to Legacy status, which means they still run but are no longer the ones to build new work on. Verify the exact current version in the console the day you build, because this is the fastest-moving part of the whole service. [VERIFY: reconfirm the top Claude and Nova versions at build time.]

Why a model has two ID forms

Every serverless model has a model ID, the string you pass as modelId in an API call. In 2026 Bedrock uses two ID shapes at once, and the mix trips people up. Newer releases ship with cleaner, suffix-less IDs, while older ones keep dated, versioned strings like amazon.nova-lite-v1:0 or anthropic.claude-3-5-sonnet-20241022-v2:0. The date and the v2:0 are not decoration. They pin an exact model version so a provider update never silently changes your output. When you copy an ID, copy the whole thing, suffix included. A missing suffix is the most common ValidationException I see on a first call.

In practice: Do not hardcode a bare model ID across a dozen services. In production I point application code at an inference profile, a routing alias that maps one stable name to a model plus its Regions, so upgrading from one model version to the next is a config change in one place, not a find-and-replace across a codebase.

How I choose a model

The method is a ladder, and you climb it only when forced. Start on the cheapest model that could plausibly do the job, usually Nova Micro or Nova Lite for text. Write an eval first: twenty to fifty real inputs with the answers you would accept. Run the cheap model against them. If it passes, you are done, and you are done at the bottom of the price ladder where you want to be. If it fails, climb one rung: a mid-tier model like Nova Pro or a small Claude. Re-run the same eval. Keep climbing only until the eval passes. The frontier model is the last resort, not the starting line.

This sounds obvious and almost nobody does it. The default move is to start at the top because it is safe and easy to justify, then never come back down. That is exactly backwards. Starting cheap and climbing costs you a day of eval work once. Starting expensive costs you every token, every request, forever. The eval is the cheapest insurance in the whole stack.

Pick by climbing, not by starting highStop at the first model that passes your evalCheapest modelNova Micro / LiteRun the eval20 to 50 real casesPasses?Ship itClimb one rungPro, then Claudeyesnore-run same eval on the next model up
The ladder. One eval, reused at each rung, and you stop the moment it passes.

The price spread is the whole game

Look at one family to feel the spread, because the Nova tiers alone stretch nearly 90x on output price. These are the published on-demand rates in 2026, priced per million tokens. Batch pricing runs at half of on-demand for the same models, so a deferrable job has no reason to pay the full rate.

Nova modelInput per 1MOutput per 1MReach for it when
Nova Micro$0.035$0.14Classification, routing, short text at huge volume
Nova Lite$0.06$0.24Multimodal, general summarize and extract at scale
Nova Pro$0.80$3.20Harder reasoning where Lite falls short on your eval
Nova Premier$2.50$12.50The most demanding Nova work, teacher for distillation
Nova output price ladderUS dollars per million output tokens051012.50.14Micro0.24Lite3.20Pro12.50Premier
Output price per million tokens across the Nova tiers. Micro and Lite barely register next to Premier, which is the point.

Now widen the lens past one family. Third-party trackers that normalize a blended price across the whole Bedrock catalog put the cheapest model near three cents per million tokens and the priciest well over eleven dollars, a spread above 400x. Two models, same API call, one costs 400 times the other. Quality does not scale with price anywhere near that steeply, so the money you save by matching the model to the job is real and it compounds on every request.

Running the same job on two models

Abstract multipliers do not land until they are a monthly invoice. So price one workload three ways and watch the ladder in dollars.

Worked example

A support summarizer handles one million requests a month. Each request reads about 1,500 input tokens of chat and writes about 300 output tokens of summary. That is 1,500 million input tokens and 300 million output tokens a month. Priced on the 2026 on-demand Nova rates:

Nova Micro: 1,500M x $0.035 + 300M x $0.14 = $52.50 + $42.00 = $94.50 a month.

Nova Lite: 1,500M x $0.06 + 300M x $0.24 = $90.00 + $72.00 = $162.00 a month.

Nova Pro: 1,500M x $0.80 + 300M x $3.20 = $1,200 + $960 = $2,160 a month.

If a summarizer runs fine on Micro, choosing Pro by reflex costs about $2,065 a month, near $24,800 a year, for output your eval never showed was better. Move the deferrable half to batch at 50 percent off and Micro drops toward $47. The model choice, not the prompt, is the budget.

Same workload, three modelsMonthly cost in US dollars, one million requests080016002400$94.50Micro$162Lite$2160Pro
The worked-example numbers, plotted. Same summarizer, same prompt, a 23x cost gap from the model choice alone.

Cost levers before you upgrade

Before you climb a rung for quality, pull the levers that cut cost on the model you already have. Prompt caching reuses a repeated prefix, such as a long system prompt, across calls; requests that hit a warm cache save up to 90 percent on those cached input tokens and cut latency sharply, with a short cache lifetime measured in minutes. Batch inference, again, is half price for work that can wait. Intelligent Prompt Routing sends each request to a cheaper or costlier model in a family based on how hard the prompt looks, so easy prompts do not pay frontier rates. None of these change your model choice. They change what that choice costs, and they are the difference between a summarizer at $94 and the same summarizer at $2,160.

Listing the catalog from code

The console is fine for browsing, but I keep model selection in code so it lives in review and never drifts. This lists every text model your account can see in a Region, which is the first thing I run in a fresh account to confirm what is actually available before I write any application code.

import boto3

# Control-plane client, not the runtime client
bedrock = boto3.client('bedrock', region_name='us-east-1')

resp = bedrock.list_foundation_models(byOutputModality='TEXT')

for m in resp['modelSummaries']:
    print(m['modelId'], '|', m['providerName'])

Expected output: one line per text model, such as amazon.nova-lite-v1:0 | Amazon and anthropic.claude-3-5-sonnet-20241022-v2:0 | Anthropic. The exact list depends on the Region and on which models you have requested access to.

Failure mode: using the bedrock-runtime client here raises an error, because list_foundation_models lives on the bedrock control-plane client, not the runtime one. If your IAM identity lacks bedrock:ListFoundationModels you get AccessDeniedException, and a Region without Bedrock raises an endpoint connection error. Access requested per model in Part 2 governs what you can then call, not what you can list.

Before you run this against a shared account: listing models is read-only and safe, but requesting access to a new model and deploying a Marketplace endpoint both create cost and change account state. Do those in a sandbox account with change approval, and remember a Marketplace endpoint keeps billing until you delete it.

Where teams pick wrong

The mistakes rhyme. Teams pick a model off a public leaderboard instead of their own eval, and a benchmark that measures graduate math tells you nothing about summarizing refund chats. Teams default to a frontier model because it feels safe, then never test whether a cheaper one clears the same bar. Teams stand up a Bedrock Marketplace endpoint for a quick test and forget it, so an idle model bills all weekend. And teams hardcode a bare model ID everywhere, so the day a version goes Legacy they are editing a dozen services instead of one inference profile. Every one of these is a choosing mistake, not a model flaw.

The deeper point is one I made in the vendor-neutral series: data and fit decide quality far more than raw model size. If you want that argument in full, I wrote it up in the GenAI Series piece on why data, not model size, usually decides quality. On Bedrock it shows up as a bill: the biggest model is rarely the reason your output is good, but it is always the reason your bill is high.

My take: The catalog is not a ranking to pick the top of. It is a price ladder, and your job is to stand on the lowest rung that passes your eval. Write the eval, start on Nova Micro or Lite, and make anything more expensive earn its place with evidence. That one habit is worth more than any model choice you could make by reputation.

Start cheap, upgrade only on a failed eval

Read the catalog as an engineer, not a shopper. Prefer serverless so you never carry idle endpoint cost, keep Marketplace for the specialized models you genuinely need and delete those endpoints when you are done. Learn four families, not a hundred models. Then choose by climbing a price ladder against a written eval, starting cheap, because the spread from bottom to top is more than 400x and quality does not follow it. Do that and the model line on your bill becomes a decision you can defend, not a number that surprises you. Next, in Part 4, I go deep on the Amazon Nova family, since it is where most of your volume should land. If you do one thing today, write the twenty-case eval before you pick.

AWS Gen AI Series · Part 3 of 30
« Previous: Part 2  |  Guide  |  Next: Part 4 »

References

About The Author


Discover more from Journal of Intelligent Infrastructure – By Dr Pranay Jha

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Architect’s Toolkit

About the Author

Dr. Pranay Jha is a Cloud and AI Consultant with 18+ years of experience in hybrid cloud, virtualization, and enterprise infrastructure transformation. He specializes in VMware technologies, multi-cloud strategy, and Generative AI solutions. He holds a PhD in Computer Applications with research focused on Cloud and AI, has published multiple research papers, and has been a VMware vExpert since 2016 and a VMUG Community Leader.

Discover more from Journal of Intelligent Infrastructure - By Dr Pranay Jha

Subscribe now to keep reading and get access to the full archive.

Continue reading