amazon bedrock batch inference · 50% lower price · 2026

Amazon Bedrock batch inference: when and how to use it.

Batch inference runs a large set of prompts as one asynchronous job at a 50% lower price than on-demand for select models. This page covers how to submit a job, which models support it, which workloads fit, quotas and turnaround, the cost math, and how it combines with other Bedrock cost levers.

price vs on-demand
50% lower (select models)
latency profile
async (minutes to hours)
input/output
JSONL in S3
TL;DR
  • Bedrock batch inference processes a file of prompts as one background job instead of real-time calls. AWS prices it 50% lower than on-demand for select models from Anthropic, Meta, Mistral AI and Amazon. For any high-volume job that does not need an instant answer, it is the easiest cost cut on Bedrock.
  • Write your prompts as JSONL records to S3, then call CreateModelInvocationJob with the input and output S3 locations, the model ID and an IAM role. Bedrock writes one output record per input back to S3. Each record is independent, so batch suits parallel work, not chained or conversational work.
  • Use it for bulk classification, embeddings backfills, dataset enrichment, model evaluations and synthetic data. It stacks with model right-sizing: pick the cheapest model that works, then run it on batch.
the concept

IWhat Amazon Bedrock batch inference is

Batch inference trades latency for a lower price. A large share of real GenAI work fits its shape better than the real-time path.

On on-demand you send one request, wait for one response and pay the full rate. That is right for anything a person waits on. But much GenAI work is not latency-sensitive: classifying ten million tickets overnight, embedding a corpus, enriching a dataset, scoring an evaluation set, generating synthetic data. You need the whole job done by a deadline, cheaply.

With batch, you put all requests into one job (a file of inputs in S3). Bedrock processes them in the background and writes results to S3. AWS prices batch at 50% lower than on-demand for select models (see the Bedrock pricing page). The output is the same as on-demand; only delivery and price differ.

The mental model: on-demand is a conversation, batch is a queue. There is no model-quality trade-off and no reserved-capacity commitment. You move a workload that does not need real time onto the batch path, and its token bill roughly halves. See the batch inference user guide.

the mechanics

IIHow to submit a batch job: JSONL in S3, output to S3

A file of inputs in S3, a file of outputs in S3, and one API call to start the job.

  • 1. Format inputs as JSONL in S3: One JSON object per line. Each line has a record ID and a modelInput object shaped like the body that model takes on a normal InvokeModel call. Very large jobs are split across several input files.
  • 2. Pick an output S3 location: Choose a prefix for results. Keep input and output prefixes (ideally buckets) separate so a job never reads its own output.
  • 3. Grant an IAM service role: Bedrock assumes a role to read the input and write the output. Its trust policy must allow the Bedrock batch service, and its permissions must cover the exact S3 paths. This is the step that most often fails.
  • 4. Call CreateModelInvocationJob: From the console, CLI or an SDK, pass the model ID, input S3 URI, output S3 URI, role ARN and a job name. Bedrock returns a job ARN.
  • 5. Poll, then read S3: The job moves from Submitted to InProgress to Completed (or Failed or Stopped). Poll with GetModelInvocationJob or react to EventBridge events. Then read the output JSONL and join each modelOutput back to your data by record ID.

Every record is independent: there is no shared conversation, so batch is for parallel work (classify each item, embed each chunk). And it is file in, file out through S3, so it fits next to Glue, Athena or Step Functions in a data pipeline. Moving a workload from on-demand to batch is mostly writing the same request bodies to a file. Check the current docs for exact field names and job states.

where it works

IIIWhich models support batch inference

AWS lists batch support for select models from Anthropic, Meta, Mistral AI and Amazon, including embedding models used for corpus backfills.

Batch covers many high-volume text models (Anthropic Claude, Amazon Nova, Llama, Mistral) and embedding models (Amazon Titan Text Embeddings, Cohere Embed). Not every model supports it, and coverage changes, so confirm your model in the current docs before you design a job.

For batch, pick the cheapest model that clears the quality bar, because batch is where volume is highest. A nightly job over hundreds of millions of tokens rarely needs a frontier model if a small model (Nova Micro or Lite, a Claude Haiku model, a small Llama or Mistral) does the job. The rate difference, times batch volume, then halved, is the gap between a cheap job and an expensive one.

For embeddings, batch is the natural home for the initial backfill of a corpus and for re-embedding when content or the embedding model changes.

when to use it

IVWhen to use batch inference, and when not to

Use batch when the work is high-volume and nobody is waiting on any single answer.

When not to use batch: anything a person or a synchronous system is waiting on, such as chat, agent loops, autocomplete or in-path moderation. Those belong on on-demand, often with prompt caching. The test: is something waiting on this answer right now? If not, use batch.

  • Bulk classification and tagging: Categorizing, routing or moderating a backlog of tickets, listings, documents or user content. Usually best on a small model.
  • Embeddings backfill: Embedding a whole corpus to build or rebuild a vector index for RAG or search, and re-embedding after changes.
  • Dataset enrichment: Adding model-generated fields (summaries, entities, sentiment, translations) to a dataset as a scheduled job.
  • Model evaluations: Running one or more models over a large evaluation set. Batch makes it cheap to evaluate often.
  • Synthetic data generation: Producing large volumes of examples for training, testing or red-teaming.
  • Offline content generation: Generating descriptions, variants or summaries ahead of time and serving them later.
limits & timing

VQuotas, limits and turnaround

Batch has no real-time completion promise. Plan for predictability, not speed.

Turnaround. A job runs as capacity allows. Small jobs can finish in minutes; very large ones can take many hours. Build the deadline into your schedule: submit the nightly job with plenty of margin before anyone needs the results.

Quotas. Bedrock limits concurrent batch jobs, input file size and records per job, by account, model and Region. Split large datasets into several files or jobs. Many limits can be raised through Service Quotas; check the current values rather than hard-coding them.

Failures. Single records can fail (bad input, over a limit) without failing the job. Reconcile inputs against outputs by record ID and resubmit failures. Treat batch as a data pipeline with reconciliation, not a fire-and-forget call.

on-demand vs batch: operational profile
DimensionOn-demandBatch inference
LatencyReal time (ms to seconds)Asynchronous (minutes to hours)
Price per tokenBaseline50% lower for select models
InterfacePer-request API callJSONL in S3 → job → JSONL out
LimitsPer-account throughputJob and record quotas
Best forAnything a person waits onBulk, non-interactive jobs
StateCan be multi-turnEach record independent
Check current quotas and prices on the Bedrock pricing and Service Quotas pages.
the numbers

VIThe cost math vs on-demand: a worked example

A representative example you can reproduce for your own job.

The job. Summarize and tag 2,000,000 documents a month, each about 1,500 input tokens and 250 output tokens. That is 3 billion input tokens and 500 million output tokens a month.

On-demand on Amazon Nova Lite (representative rates of $0.06 per 1M input and $0.24 per 1M output): 3,000 × $0.06 = $180 input plus 500 × $0.24 = $120 output, about $300 a month. On batch, about $150 a month.

Model choice matters more. The same job on a Sonnet-class model at $3 and $15 per 1M is about $16,500 a month on-demand, or about $8,250 on batch. Right-size the model first, then halve it with batch.

These are illustrations; rates change by model and Region. Confirm current prices on the AWS Bedrock pricing page.

enrichment job (2M docs a month): on-demand vs batch, by model
ModelOn-demand / moBatch / moSaving from batchNotes
Amazon Nova Lite~$300~$150~$150Right-sized for enrichment
Claude 3 Haiku ($0.25 / $1.25 per 1M)~$1,375~$690~$685Newer Haiku models cost more per token
Claude Sonnet ($3 / $15 per 1M)~$16,500~$8,250~$8,250Overkill for this job
Same 3B input and 500M output tokens per month. Illustrative rates; confirm on the AWS Bedrock pricing page.
combining levers

VIICombining batch with other Bedrock cost levers

Route each path of a product to its cheapest suitable mode instead of picking one global setting.

The main ways to pay on Bedrock are on-demand (per token, real time), batch (lower price, asynchronous), Provisioned Throughput (reserved capacity by the hour) and prompt caching (a discount on repeated input on the real-time path). One product often uses several.

Batch plus model right-sizing is the strongest pairing: the savings multiply.

Batch vs prompt caching depends on traffic shape. Caching discounts a repeated prefix on interactive traffic; batch discounts offline bulk work.

Batch vs Provisioned Throughput is about latency and predictability. Provisioned reserves capacity for steady real-time volume (and is one way to serve fine-tuned models). Batch suits periodic, asynchronous bulk work where you would rather pay per token than reserve capacity.

how batch relates to the other bedrock pricing levers
LeverWhat it cutsTraffic it fitsRelationship to batch
BatchToken rate (select models)Bulk, non-interactiveThis page
On-demandNothing (baseline)Variable, interactiveThe real-time alternative
Prompt cachingRepeated-input cost and latencyInteractive, repeated prefixEither/or by traffic shape
Provisioned ThroughputCost at high steady volumeSteady real-time volume; custom modelsChoice by latency need
Model right-sizingPer-token rateAnyMultiplies with batch
who can fund the build

VIIIWho can fund a batch pipeline build

Batch and on-demand inference, embeddings and the S3 and pipeline services around them all draw down AWS credits automatically.

Partner-filed funding: a vetted AWS partner can file POC (proof of concept) funding to prove a new GenAI use case (often the first embeddings backfill or evaluation run), or incremental workload (IW) funding if you already run on AWS and this is new work. For startups this is typically $50K to $150K. Depends on the workload; AWS approves.

AWS Activate: you apply yourself. Activate Founders gives self-funded startups $1,000 to start, up to $5,000. Activate Portfolio gives up to $200,000 with the Org ID from your VC, accelerator or angel group, if it is an Activate Provider. A consulting partner cannot file Activate for you.

CloudRoute matches you with one vetted AWS partner who can build the batch pipeline (S3 layout, job submission, reconciliation, model right-sizing) and check which funding fits. Startups pay CloudRoute nothing. Partners pay CloudRoute a monthly membership plus 10% of AWS-approved funding.

Who files it
FundingWho files itAmountWhen it fits
Migration Acceleration Program (MAP)Your matched AWS partner$50K to $150K for startups. Depends on the workload; AWS approves.You are not on AWS yet and want to migrate.
Proof of concept (POC) fundingYour matched AWS partner$50K to $150K for startups. Depends on the workload; AWS approves.You want to test something, whether or not you are on AWS today.
Incremental workload (IW) fundingYour matched AWS partner$50K to $150K for startups. Depends on the workload; AWS approves.You are already on AWS and are launching new work: a new AI feature, a new customer or a new contract.
AWS Activate FoundersFounder applies$1,000 to start, up to $5,000Self-funded startups with no investor or accelerator behind them.
AWS Activate PortfolioFounder appliesup to $200,000Startups backed by a VC firm, accelerator or angel investor that is an AWS Activate Provider.
AWS Credits for AI StartupsInvite only (AWS account manager)$200,000 or more, by invitationAI startups ready to scale after Activate Portfolio, invited by AWS.
Facts checked on October 10, 2026. AWS decides every application.
three ways to buy capacity

Batch vs on-demand vs Provisioned Throughput

Prompt caching modifies the on-demand path, so these are the three capacity modes. Figures are illustrations, not quotes.

DimensionOn-demandBatch inferenceProvisioned Throughput
How you payPer token, no commitmentPer token, async jobHourly per model unit
Relative costBaseline50% lower (select models)Flat; wins at high steady volume
LatencyReal timeAsynchronousReal time, guaranteed
CommitmentNoneNoneOptional term for a lower rate
Best forAnything a person waits onBulk, non-interactive jobsSteady high volume; custom models
Watch out forThrottling at spikesTurnaround; job quotasPaid even when idle
Serve interactive traffic on-demand (with prompt caching), run bulk jobs on batch, and reserve Provisioned Throughput for an always-busy path or a custom model.
before you run a single bulk job
Find a partner who can build the batch pipeline and check POC or IW funding for it
Get matched free with a vetted AWS partner who can file it
how a match works

How a match works (example)

  1. You tell us about the work

    You fill in a short form: what you run today, what you want to move, test or build, your stage and your region.

  2. We pick one partner

    We read your answers and pick one vetted AWS consulting partner that fits the work, the stack and the region. We reply within 24 hours; your matched partner reaches out within 5 business days.

  3. The partner checks POC funding

    Your matched partner scopes the test with you. Then it checks whether the test qualifies for POC (proof of concept) funding. A POC can fit whether or not you run on AWS today.

  4. The partner files, AWS decides

    If the work qualifies, the partner files the funding request with AWS. AWS reviews it and decides. The amount depends on the workload.

  5. You pay nothing

    CloudRoute is free for startups. Partners pay CloudRoute a monthly membership plus 10% of AWS-approved funding.

AWS Activate credits are separate, and you apply for them yourself. Use Activate Founders if no investor backs you. Use Activate Portfolio with the Org ID or invite from your VC, accelerator, incubator or angel group if it is an Activate Provider. A consulting partner cannot apply for Activate on your behalf.

faq

Common questions

What is batch inference in Amazon Bedrock?
It runs a large set of prompts as one asynchronous job. You write inputs as JSONL to S3, submit the job, and Bedrock writes results back to S3 when done. For select models AWS prices it 50% lower than on-demand, in exchange for results that arrive in minutes to hours instead of real time.
How much cheaper is Bedrock batch inference than on-demand?
AWS says select models from Anthropic, Meta, Mistral AI and Amazon run batch at a 50% lower price than on-demand. The output is the same. On bulk work the saving multiplies with model choice. Confirm current rates on the AWS Bedrock pricing page.
How do I submit a batch inference job on Bedrock?
Write JSONL records (a record ID plus a modelInput body) to S3, choose an output S3 location, give Bedrock an IAM role that can read and write those paths, call CreateModelInvocationJob with the model ID, S3 URIs and role ARN, then poll GetModelInvocationJob until it completes and read the output from S3.
Which models support batch inference on Bedrock?
Select models from Anthropic, Meta, Mistral AI and Amazon, including Claude, Nova, Llama and Mistral text models and embedding models such as Titan Text Embeddings and Cohere Embed. Not every model supports batch, so check the current docs for your model.
When should I use batch inference instead of real-time?
When the work is high-volume and nothing is waiting on a single answer: bulk classification, embeddings backfills, dataset enrichment, evaluations, synthetic data and offline content. Keep chat, agent loops, autocomplete and in-path moderation on on-demand.
How long does a Bedrock batch job take, and what are the limits?
It depends on job size, model and Region capacity: minutes for small jobs, many hours for very large ones. There are quotas on concurrent jobs, file size and records per job, so split large datasets. Single records can fail, so reconcile by record ID and resubmit failures.
How does batch inference compare to Provisioned Throughput?
Provisioned Throughput reserves capacity at an hourly rate with guaranteed real-time latency, and is one way to serve fine-tuned models. Batch is per token at a lower price but asynchronous. Continuous, latency-sensitive volume may suit Provisioned; periodic bulk work suits batch.
Can AWS funding cover a Bedrock batch pipeline?
Batch spend draws down AWS credits automatically. A vetted AWS partner can file POC funding to prove a new GenAI use case, or IW funding for new work if you already run on AWS. For startups this is typically $50K to $150K. Depends on the workload; AWS approves. Activate credits are separate, and you apply for them yourself.

Halve the bulk bill with batch, and get a partner who can file the funding

A vetted AWS partner can build the batch pipeline, right-size the models and set up reconciliation. The same partner checks whether the work qualifies for POC or IW funding: typically $50K to $150K for startups. Depends on the workload; AWS approves. CloudRoute is free for startups.

we reply within24 hours
partner-filed funding$50K to $150K
CloudRoute fee for startups$0