Foundation Model ยท Amazon BedrockEmbedding
Amazon Bedrock token pricing and cost optimization reference for Embed v4.Rates normalized to USD per 1 Million Tokens ($/1M) with prompt caching and batch API discounts across 23 AWS regions.
ProviderCohere
Maker HQToronto, Ontario, Canada
Class / TierEmbedding
ModalityEmbedding
Prompt CachingSave 75%
Batch APISave 50%
AWS Regions23 Global
Bedrock Model ID
cohere.embed-v4-v1:0Input / Prompt
$0.12/ 1M tokens
$0.0001 per 1K tokens
Output / Completion
โ/ 1M tokens
Standard on-demand
Prompt Cache Read
$0.03/ 1M tokens
Save 75% vs prompt
Batch Inference
$0.06/ 1M in
Save 50% via Batch API
Price Ratio
โ
Prompt to completion factor
Embed v4 Spend Estimator
Model inference spend by prompt volume, cache hit rate, and batch processing.
M tokens
M tokens
30%
Estimated Monthly Spend
$0.00
Fresh Prompts:$0.00
Cached Prompts:$0.00
Completions:$0.00
Active: Input: $0.12/1M ยท Output: โ/1M
Key Cost Levers & Architecture
Practical mechanisms to reduce inference costs with Embed v4 on AWSPrompt CachingSave ~75%
Caches repetitive system instructions, schemas, and document prefixes in memory with 5-minute and extended 1-hour TTL tiers.
- Read Rate: $0.03 / 1M tokens
- Write Rate (5m TTL): $0.15 / 1M tokens
- Ideal for: Multi-turn conversations, RAG document queries, structured schemas
Batch InferenceSave 50%
Asynchronous bulk processing submitted via Amazon S3 with a standard 24-hour turnaround SLA.
- Batch Input: $0.06 / 1M tokens
- Batch Output: โ / 1M tokens
- Ideal for: Offline classification, synthetic data generation, benchmark evals
Cross-Region & Tiers23 Regions
AWS Bedrock supports standard on-demand inference, priority reserved throughput, and cross-region routing.
- Standard: Lowest latency, pay-per-token with zero commitments
- Cross-Region Routing: Automatically burst traffic to available regional capacity
- GovCloud: Dedicated isolated compliance partitions with +20% uplift
Regional Pricing Matrix
Live rates across all 23 available AWS cloud regionsBaseline: $0.12/1M in23 Global Regions
| AWS Region | Prompt Input $/1M | Completion Output $/1M | Cache Read $/1M | Batch Input $/1M | Pricing Tier |
|---|---|---|---|---|---|
| us-east-1 US East (N. Virginia) | $0.12 | โ | โ | โ | Baseline |
| us-west-2 US West (Oregon) | $0.12 | โ | โ | โ | Baseline |
| eu-central-1 Europe (Frankfurt) | $0.12 | โ | โ | โ | Baseline |
| eu-west-1 Europe (Ireland) | $0.12 | โ | โ | โ | Baseline |
| ap-northeast-1 Asia Pacific (Tokyo) | $0.12 | โ | โ | โ | Baseline |
| ap-south-2 Asia Pacific (Hyderabad) | $0.12 | โ | โ | โ | Baseline |
| ap-southeast-3 Asia Pacific (Jakarta) | $0.12 | โ | โ | โ | Baseline |
| ap-southeast-4 Asia Pacific (Melbourne) | $0.12 | โ | โ | โ | Baseline |
| ap-south-1 Asia Pacific (Mumbai) | $0.12 | โ | โ | โ | Baseline |
| ap-northeast-3 Asia Pacific (Osaka) | $0.12 | โ | โ | โ | Baseline |
| ap-northeast-2 Asia Pacific (Seoul) | $0.12 | โ | โ | โ | Baseline |
| ap-southeast-1 Asia Pacific (Singapore) | $0.12 | โ | โ | โ | Baseline |
| ap-southeast-2 Asia Pacific (Sydney) | $0.12 | โ | โ | โ | Baseline |
| ca-central-1 Canada (Central) | $0.12 | โ | โ | โ | Baseline |
| eu-west-2 Europe (London) | $0.12 | โ | โ | โ | Baseline |
| eu-south-1 Europe (Milan) | $0.12 | โ | โ | โ | Baseline |
| eu-west-3 Europe (Paris) | $0.12 | โ | โ | โ | Baseline |
| eu-south-2 Europe (Spain) | $0.12 | โ | โ | โ | Baseline |
| eu-north-1 Europe (Stockholm) | $0.12 | โ | โ | โ | Baseline |
| eu-central-2 Europe (Zurich) | $0.12 | โ | โ | โ | Baseline |
| sa-east-1 South America (Sao Paulo) | $0.12 | โ | โ | โ | Baseline |
| us-east-2 US East (Ohio) | $0.12 | โ | โ | โ | Baseline |
| us-west-1 US West (N. California) | $0.12 | โ | โ | โ | Baseline |
No AWS regions found matching your filter.
Developer Quickstart
Invoke Embed v4 via Amazon Bedrock Converse APIPython (boto3) ยท Amazon Bedrock Runtime
import boto3
# Amazon Bedrock Converse API invocation
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.converse(
modelId="cohere.embed-v4-v1:0",
messages=[
{
"role": "user",
"content": [{"text": "Summarize key features and cost levers of Embed v4."}]
}
],
inferenceConfig={
"maxTokens": 1024,
"temperature": 0.7
}
)
output_text = response["output"]["message"]["content"][0]["text"]
usage = response["usage"]
print(f"Response: {output_text}")
print(f"Usage: {usage['inputTokens']} in, {usage['outputTokens']} out")