Bedrock model id: complete reference for AWS AI
Bedrock model ID: complete reference for AWS AI
Every API call to Amazon Bedrock requires a Bedrock model ID — a string like anthropic.claude-3-5-sonnet-20241022-v2:0 that tells AWS exactly which foundation model to invoke. Get it wrong and you get a ValidationException. Get it right and you have access to models from Anthropic, Meta, Mistral, Cohere, Amazon, and others through a single API.
As of early 2025, Bedrock offers access to over 40 foundation models across 7 model providers. CodeWords connects to these models through its LLM integrations, giving you multi-provider AI access without managing AWS credentials yourself.
Unlike generic AI automation posts, this guide shows real CodeWords workflows — not just theory.
TL;DR
- Bedrock model IDs follow the format
provider.model-name-version:iteration - Model IDs differ by region — check
us-east-1andus-west-2first for widest selection - CodeWords abstracts away Bedrock model IDs by providing direct LLM access without API key setup
How are Bedrock model IDs structured?
Format: {provider}.{model-name}-{version}:{iteration}
- Provider prefix:
anthropic,meta,mistral,cohere,amazon,ai21,stability - Model name: The specific model
- Version: Date-based or numeric version
- Iteration: Numeric suffix (usually
0or1)
Current Bedrock model IDs
Anthropic Claude models
anthropic.claude-3-5-sonnet-20241022-v2:0— Best balance of speed and qualityanthropic.claude-3-5-haiku-20241022-v1:0— Fastest and cheapestanthropic.claude-3-opus-20240229-v1:0— Highest capability
Meta Llama models
meta.llama3-2-90b-instruct-v1:0meta.llama3-2-11b-instruct-v1:0(multimodal)meta.llama3-1-405b-instruct-v1:0
Mistral models
mistral.mistral-large-2411-v1:0mistral.mistral-small-2402-v1:0
Amazon Titan models
amazon.titan-text-premier-v1:0amazon.titan-embed-text-v2:0(for RAG/search)
Cohere models
cohere.command-r-plus-v1:0— Best for RAGcohere.embed-english-v3
Using Bedrock model IDs in code
import boto3, json
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
def invoke_claude(prompt, model_id="anthropic.claude-3-5-sonnet-20241022-v2:0"):
response = bedrock.invoke_model(
modelId=model_id,
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [{"role": "user", "content": prompt}]
}),
contentType="application/json",
)
return json.loads(response["body"].read())["content"][0]["text"]
Which model ID should you choose?
- General reasoning: Claude 3.5 Sonnet v2
- High-volume tasks: Claude 3.5 Haiku or Mistral Small
- Open-source: Llama 3.2 90B
- RAG: Cohere Command R+ with Titan Embeddings v2
In CodeWords, you get direct access to OpenAI, Anthropic, and Google Gemini without configuring AWS credentials.
FAQs
Why does my model ID return a ValidationException? Check for typos, model access not enabled, or region unavailability.
Are IDs the same across regions? Strings are the same but availability varies by region.
How do I list all available models? Use boto3.client("bedrock").list_foundation_models().




