gpt-oss-120b
Amazon Bedrock token pricing and cost optimization reference for gpt-oss-120b.Rates normalized to USD per 1 Million Tokens ($/1M) with prompt caching and batch API discounts across 15 AWS regions.
openai.gpt-oss-120b-v1:0On Google Cloud Vertex AI
The same model is sold through Vertex AI at one global rate per price type. These are Google's published rates, not the AWS rates above; both hosts are shown because the model is sold on both.
| Rate | Vertex AI, USD per 1M tokens |
|---|---|
| Input | $0.09 |
| Output | $0.36 |
| Cache read | β |
| Batch input | $0.04 |
| Batch output | $0.18 |
| Input, long context | β |
| Output, long context | β |
| Output, thinking | β |
Vertex AI rates are global: Google publishes one rate covering every region where the model runs, against the per-region AWS prices above. A dash means Google publishes no rate for that price type.
Alternatives to gpt-oss-120b
| Option | Price vs gpt-oss-120b | Why look at it |
|---|---|---|
| gpt-oss-20bCompare → | input-53%-$0.08/1M output-50%-$0.30/1M Standard tier, per 1M tokens | Next step down in price from OpenAI |
| GPT-5.6-LUNACompare → | input+76%+$0.114/1M output+164%+$0.984/1M Standard tier, per 1M tokens | Next step up in price from OpenAI (flagship tier) |
| GPT OSS Safeguard 120BCompare → | inputsame price outputsame price Standard tier, per 1M tokens | Same GPT line, different version |
| GPT OSS Safeguard 20BCompare → | input-53%-$0.08/1M output-67%-$0.40/1M Standard tier, per 1M tokens | Also from OpenAI |
gpt-oss-120b Spend Estimator
Model inference spend by prompt volume, cache hit rate, and batch processing.
Key Cost Levers & Architecture
Practical mechanisms to reduce inference costs with gpt-oss-120b on AWSCaches repetitive system instructions, schemas, and document prefixes in memory with 5-minute and extended 1-hour TTL tiers.
- Read Rate: $0.04 / 1M tokens
- Write Rate (5m TTL): $0.19 / 1M tokens
- Ideal for: Multi-turn conversations, RAG document queries, structured schemas
Asynchronous bulk processing submitted via Amazon S3 with a standard 24-hour turnaround SLA.
- Batch Input: $0.07 / 1M tokens
- Batch Output: $0.30 / 1M tokens
- Ideal for: Offline classification, synthetic data generation, benchmark evals
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
Rates by region
Live rates across all 15 available AWS cloud 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.15 | $0.60 | β | $0.07 | Baseline |
| us-west-2 US West (Oregon) | $0.15 | $0.60 | β | $0.07 | Baseline |
| eu-central-1 EU (Frankfurt) | $0.20 | $0.79 | β | $0.10 | +33% vs Baseline |
| eu-west-1 EU (Ireland) | $0.18 | $0.70 | β | $0.09 | +20% vs Baseline |
| ap-northeast-1 Asia Pacific (Tokyo) | $0.18 | $0.73 | β | $0.09 | +20% vs Baseline |
| us-gov-west-1 AWS GovCloud (US-West) | $0.18 | $0.72 | β | $0.09 | GovCloud (+20%) |
| ap-southeast-3 Asia Pacific (Jakarta) | $0.16 | $0.62 | β | $0.08 | +7% vs Baseline |
| ap-south-1 Asia Pacific (Mumbai) | $0.18 | $0.71 | β | $0.09 | +20% vs Baseline |
| ap-southeast-2 Asia Pacific (Sydney) | $0.15 | $0.62 | β | $0.08 | +3% vs Baseline |
| us-gov-east-1 AWS GovCloud (US-East) | $0.18 | $0.72 | β | $0.09 | GovCloud (+20%) |
| eu-west-2 EU (London) | $0.23 | $0.93 | β | $0.12 | +53% vs Baseline |
| eu-south-1 EU (Milan) | $0.20 | $0.79 | β | $0.10 | +33% vs Baseline |
| eu-north-1 EU (Stockholm) | $0.15 | $0.60 | β | $0.07 | Baseline |
| sa-east-1 South America (Sao Paulo) | $0.18 | $0.73 | β | $0.09 | +20% vs Baseline |
| us-east-2 US East (Ohio) | $0.15 | $0.60 | β | $0.07 | Baseline |
Developer Quickstart
Invoke gpt-oss-120b via Amazon Bedrock Converse APIimport boto3
# Amazon Bedrock Converse API invocation
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.converse(
modelId="openai.gpt-oss-120b-v1:0",
messages=[
{
"role": "user",
"content": [{"text": "Summarize key features and cost levers of gpt-oss-120b."}]
}
],
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")