meeting & call summarization on aws · the 2026 build guide

How to summarize meetings and calls with AI on AWS (2026).

Turning a meeting or a support call into a clean set of notes — a summary, the decisions, the action items with owners, and the sentiment — is one of the highest-value GenAI features to build on AWS. This is the full how-to: the end-to-end pipeline (capture → transcribe with speaker diarization → redact PII → summarize + extract action items + score sentiment → assemble → evaluate), the real-time-vs-post-call split, why Amazon Transcribe (and Transcribe Call Analytics) feeds Amazon Bedrock, the prompt patterns that produce structured decisions/actions/owners instead of a vague paragraph, how it plugs into Amazon Chime SDK and Amazon Connect, how to handle accuracy, and what production really costs.

pipeline stages
6
transcription engine
Amazon Transcribe
summary engine
Amazon Bedrock
TL;DR
  • Meeting and call summarization on AWS is a two-engine pipeline: Amazon Transcribe turns the audio into a speaker-attributed transcript (with diarization, and PII redaction built in — Transcribe Call Analytics adds turn-by-turn sentiment and call categories for contact-center audio), then a foundation model on Amazon Bedrock turns that transcript into a structured summary, decisions, action items with owners, and overall sentiment. The transcript quality and the speaker labels drive the output quality more than the model choice does.
  • The first architectural decision is real-time vs post-call. Post-call (batch) is the common, simpler case: the recording finishes, you transcribe and summarize it, and write notes — nobody is waiting, so it runs cheaply on Transcribe batch and Bedrock batch. Real-time (live notes, agent assist) uses Transcribe streaming and incremental Bedrock calls during the call and a final summary at the end — more moving parts, latency-sensitive, more expensive. Most teams ship post-call first and add real-time later.
  • The output is only useful if it is structured (decisions, action items, owners, due dates, sentiment), which is a prompt-engineering problem, and PII redaction (Transcribe plus Bedrock Guardrails) is required for call recordings. Costs scale with minutes of audio and tokens of reasoning.
the shape of the problem

IWhat meeting & call summarization on AWS actually involves

Summarizing a block of text is one model call. Summarizing a meeting or a phone call is a pipeline, because the thing you start with is not text — it is audio, with multiple people talking over each other — and the thing you want at the end is not a paragraph but a structured artifact: a summary, the decisions, the action items with owners, and how the conversation felt.

It is tempting to think of this as "send the call to a model, get notes back." That is not how it works, for two concrete reasons that both sit in front of the model. First, the input is audio, not text. A meeting is a recording (or a live stream) of several people speaking; before any model can summarize it, something has to transcribe the speech accurately and — critically — figure out who said what, because "the customer agreed to the renewal" and "the rep agreed to the renewal" are very different notes. That who-said-what step is speaker diarization, and getting it right is most of the battle.

Second, the valuable output is structured, not prose. Nobody wants a flowing essay about their stand-up; they want the decisions made, the action items with an owner and a due date, the open questions, and — for a sales or support call — the sentiment and the next step. A meeting summarizer that returns a nice paragraph but no extractable action items has missed the point. So the model's job is less "write a summary" and more "read this transcript and emit a structured record."

A production system on AWS is therefore six logical stages: capture the audio (a meeting recording, a Chime SDK media stream, a Connect call), transcribe it into a speaker-attributed transcript (Amazon Transcribe, with diarization), redact PII from the transcript before it goes anywhere, summarize and extract with a Bedrock model (summary + decisions + action items + owners + sentiment), assemble the result into your notes format and route it (email, ticket, CRM), and evaluate that the notes are faithful and complete. Every stage maps to a managed AWS service, which is what makes AWS a natural place to build this.

One framing worth keeping throughout: meeting summarization is a high-value, low-risk GenAI use case. The output is constrained by a transcript you can check it against, so faithfulness is measurable and hallucination is controllable; the win (hours of note-taking and follow-up reclaimed, nothing dropped) is obvious; and it touches a recording you already have. That, plus the fact that the cheap model tiers are usually good enough, is why it is often the first GenAI workload a team ships — and why it is a natural fit for a funded proof-of-concept.

the one-sentence version

Meeting & call summarization on AWS = capture the audio → transcribe it with speaker diarization (Amazon Transcribe; Transcribe Call Analytics for contact-center audio) → redact PII → summarize + extract decisions, action items, owners, and sentiment with a model on Amazon Bedrock → assemble and route the notes → evaluate faithfulness. Transcript and speaker labels decide quality; model choice and batch decide cost.

end to end

IIThe reference summarization pipeline on AWS, stage by stage

Every meeting- or call-summarization system — one stand-up or a million support calls — runs the same six logical stages. Knowing each one is what lets you debug a system that returns vague notes or wrong owners, because nearly every quality problem traces back to a specific stage (and most trace back to transcription, not the model).

It helps to see the whole shape first. Stages 1–3 (capture, transcribe, redact) turn audio into a clean, safe, speaker-attributed transcript; stage 4 (summarize + extract) is the model work; stages 5–6 (assemble, evaluate) turn raw model output into routed, trusted notes. The table at the end of this section maps each stage to the AWS service that typically implements it.

1. Capture — get the audio (or the live stream)

The job here is to get the conversation's audio into AWS. For post-call work this is simply a recording landed in Amazon S3 — a meeting recording exported from your conferencing tool, or a call recording from your contact center. For real-time work it is a live media stream: Amazon Chime SDK can capture or stream meeting audio (including from its own meetings), and Amazon Connect exposes a live media stream (Kinesis Video Streams) for calls in progress. The capture stage also decides whether you have one mixed audio channel (everyone on one track) or separate channels per participant — and that distinction matters enormously for the next stage, because separate channels make speaker attribution trivial.

2. Transcribe — speech to a speaker-attributed transcript

This is where Amazon Transcribe converts the audio into text, and it is the single most important stage for quality. Two Transcribe capabilities matter most. Speaker diarization ("speaker partitioning") labels each segment with a speaker (Speaker 0, Speaker 1, …) so the transcript reads as a dialogue rather than an undifferentiated wall of text — essential for attributing decisions and action items to the right person. Channel identification is the higher-accuracy alternative when you have separate audio channels (e.g. a two-channel call recording with the agent on one channel and the customer on the other): instead of inferring speakers from one mixed track, Transcribe transcribes each channel separately, which is far more reliable. For contact-center audio specifically, Amazon Transcribe Call Analytics is a purpose-built mode that does diarization and adds turn-by-turn sentiment, call categories, talk-time / interruption metrics, issue/outcome detection, and — notably — a built-in generative call summary, plus PII redaction. Transcribe also offers custom vocabulary and custom language models so domain terms, product names, and acronyms come out right.

3. Redact — strip PII before the transcript travels

Call and meeting transcripts are full of sensitive data — names, phone numbers, card numbers, account IDs, health details. Before a transcript is stored, summarized, or shown, PII should be redacted. Amazon Transcribe has PII redaction built in (for both batch and streaming, and within Call Analytics), so identifiers can be masked at the transcription stage. A second, defence-in-depth layer is Amazon Bedrock Guardrails, which can detect and redact PII (and block sensitive topics) on the way into and out of the model, so nothing sensitive is unnecessarily sent to or returned by the model. For regulated audio (healthcare, finance) this stage is non-negotiable, and doing it at the transcript layer — before the model ever sees the data — is the cleaner design.

4. Summarize & extract — the Bedrock call(s)

This is where a foundation model on Amazon Bedrock turns the clean, redacted, speaker-attributed transcript into the artifact you actually want: a concise summary, the decisions made, the action items each with an owner and (where stated) a due date, the open questions, the next step, and overall sentiment. For a normal meeting or call this is a single Bedrock call with a strong structured-extraction prompt (section IV); for an unusually long all-hands or a multi-hour call that exceeds the context window, you fall back to a map-reduce pass (summarize segments, then synthesize). The model is chosen for cost-per-quality, not raw capability — this is an easy task for modern models, so a small, fast tier (Amazon Nova Lite/Micro, Claude Haiku, a small Llama/Mistral) is usually the right answer, especially at volume (section V).

5. Assemble & route — turn output into notes that go somewhere

The model's structured output (ideally JSON) is assembled into your notes format and routed to where the work happens: emailed to attendees, posted to Slack/Teams, written into the CRM as a call note, turned into tickets or tasks (the action items become Jira/Asana items with the extracted owner), or attached to the Connect contact record. This stage is plumbing — AWS Lambda and Amazon EventBridge wire the summary into downstream systems — but it is what makes summaries useful rather than merely produced: a decision that no one sees and an action item that never becomes a task may as well not exist.

6. Evaluate — check the notes are faithful and complete

Notes that read well but invent an action item, assign it to the wrong person, or drop the one decision that mattered are worse than no notes. The final stage measures whether the output is faithful (every claim and action is supported by the transcript), complete (it captures the real decisions and actions), and correctly attributed (owners match who actually committed). Amazon Bedrock's model-evaluation suite can run an LLM-as-a-judge to score quality automatically; section VI covers how. This stage is what separates a demo from something a team will trust to run their follow-ups.

the six meeting-summarization stages mapped to AWS services · representative as of 2026
StagePhaseWhat it doesTypical AWS service
1. CaptureAudio inRecording or live stream into AWSS3 (recordings) · Chime SDK / Connect + Kinesis Video (live)
2. TranscribeAudio → textSpeaker-attributed transcriptAmazon Transcribe (+ diarization / Call Analytics)
3. RedactSafetyStrip PII from the transcriptTranscribe PII redaction · Bedrock Guardrails
4. Summarize & extractModel workSummary + decisions + actions + owners + sentimentClaude / Nova / Llama / Mistral (Bedrock)
5. Assemble & routeDeliveryFormat notes; send to CRM / tickets / chatLambda · EventBridge · Step Functions
6. EvaluateQuality gateScore faithfulness + completeness + attributionBedrock model evaluation (LLM-as-a-judge)
For contact-center audio, Amazon Transcribe Call Analytics collapses parts of stages 2–4 — it does diarization, sentiment, categories, PII redaction, and a built-in generative summary in one managed step. You still typically add a Bedrock call for your own structured-notes schema (decisions/actions/owners) and to fit your downstream systems. Bulk/post-call corpora run the transcribe and summarize stages on batch (Transcribe batch + Bedrock batch, ~50% off) — see section VIII.
the first architectural decision

IIIReal-time vs post-call — the choice that shapes everything

Before any code, decide whether you are summarizing after the conversation ends or while it is still happening. The two share the same Transcribe → Bedrock spine but differ in latency, cost, complexity, and which Transcribe and Bedrock modes you use. Most of the architecture follows from this one choice.

The honest framing: post-call is the common case and the right place to start; real-time is a more demanding feature you add when there is a live experience to serve. Post-call summarization (the recording is done; nobody is waiting) is simpler, cheaper, and covers the bulk of the value — meeting notes after the meeting, call notes after the call, QA over yesterday's calls. Real-time summarization (live notes during a meeting, agent assist during a call) is latency-sensitive and more expensive, and earns its complexity only where the in-the-moment experience matters.

Post-call (batch) — summarize after the conversation ends

The recording lands in S3; you run Amazon Transcribe batch (with diarization or channel identification) to produce the transcript, redact PII, then make a Bedrock call to produce the structured notes, and route them. Nobody is waiting on a spinner, so latency is irrelevant and cost is minimal — this is the natural fit for Transcribe batch and Bedrock batch (~50% off), especially for the high-volume case of summarizing every call. Pros: simplest to build; cheapest; full transcript available so the model has global context and the most accurate diarization; trivially parallel across many recordings. Cons: the notes exist only after the conversation, so no live assist. Choose it when the value is the written record (meeting minutes, call notes, CRM updates, QA) — which is the majority of cases.

Real-time (streaming) — summarize while it is happening

You stream live audio (from Amazon Chime SDK for meetings, or Amazon Connect via Kinesis Video Streams for calls) into Amazon Transcribe streaming, which returns partial and final transcripts as people talk. During the conversation you make periodic Bedrock calls to maintain a running summary, surface suggested answers or next-best-actions to an agent, or flag action items as they are committed; at the end you make one final Bedrock call over the full transcript for the canonical notes. Pros: enables live assist, in-meeting notes, and real-time supervision; the final summary is ready the instant the call ends. Cons: more moving parts; latency-sensitive (favours small fast models); more expensive because you are calling the model repeatedly during the call; partial transcripts mean less context per intermediate call. Choose it when there is a real-time experience — agent assist, live meeting notes, supervisor monitoring.

The common hybrid

Many production systems do both: a lightweight real-time layer for live cues during the conversation, then a thorough post-call pass for the authoritative notes once the full, accurate transcript exists. The real-time layer optimizes for latency and uses cheap incremental calls; the post-call layer optimizes for completeness and runs the full structured-extraction prompt (often on batch for the high-volume tail). Starting post-call-only and adding the real-time layer later is the low-risk path, and it keeps the expensive, latency-sensitive part out of v1.

the pragmatic rule

Default to post-call: transcribe the finished recording (Transcribe batch + diarization), redact, summarize once with Bedrock, route the notes — simplest, cheapest, and most of the value. Add real-time (Transcribe streaming + incremental Bedrock calls, via Chime SDK or Connect) only when a live experience — agent assist, in-meeting notes, supervision — justifies the extra cost and complexity. Many teams run a thin real-time layer plus an authoritative post-call pass.

how to ask

IVPrompt patterns for structured notes — decisions, actions, owners

The difference between a vague paragraph and a structured record that drops straight into your tools is almost entirely the prompt. Meeting summarization is really structured extraction, so the prompt's job is to fix a schema, force grounding in the transcript, and pin each action to an owner.

The through-line of every good meeting-summary prompt is define the exact structure you want, constrain the model to the transcript, and make it attribute. The output should be a fixed schema (ideally JSON) so it is machine-parseable downstream, every field should be grounded in what was actually said, and each action item should carry the owner the transcript assigns — which is why accurate speaker labels in stage 2 matter so much here.

  • Emit a fixed schema (JSON): Tell the model to return a strict structure: summary, decisions[], action_items[{owner, task, due_date}], open_questions[], next_steps[], sentiment, participants[]. A fixed schema makes notes machine-parseable — you can turn each action_item straight into a Jira/Asana task or a CRM field — and comparable across meetings. Bedrock's tool-use / structured-output features help enforce valid JSON.
  • Ground it in the transcript only: "Use only what was said in the transcript; do not invent decisions, action items, owners, dates, or facts that are not present; if something was not decided, leave it out." This single constraint is the biggest lever against the worst failure mode — a confident summary that fabricates a commitment nobody made.
  • Attribute every action to an owner: Instruct the model to assign each action item to the speaker who committed to it, using the diarized speaker labels (or names if introduced), and to mark the owner as "unassigned" rather than guessing when the transcript is ambiguous. Honest "unassigned" beats a wrong owner — a misattributed task erodes trust instantly.
  • Separate decisions from discussion: Meetings are mostly discussion with a few decisions buried in them. Ask the model to distinguish what was actually decided/agreed from what was merely discussed or proposed, so the "decisions" list is short and trustworthy rather than a dump of everything mentioned.
  • Set length, audience, and tone: Say how long ("a 4–6 sentence summary," "max 8 action items") and for whom ("notes for attendees who missed the call"). For a sales call, foreground the next step and objections; for a stand-up, foreground blockers. Purpose focuses the compression.
  • Score sentiment explicitly (and per speaker where useful): For support and sales calls, ask for overall sentiment and, where useful, per-speaker or trajectory ("started frustrated, ended satisfied"). For contact-center audio, Transcribe Call Analytics already emits turn-level sentiment you can pass to the model or surface directly rather than re-deriving it.
  • Handle "nothing actionable" gracefully: For a social or status-only call with no decisions or actions, tell the model to return empty lists and a short summary rather than inventing tasks to fill the schema. This matters most in batch, where a fabricated action item pollutes everyone's task list.
the highest-leverage instruction

If you add one rule to a meeting-summary prompt, make it the grounded-attribution constraint: "Extract decisions and action items using only the transcript; assign each action to the speaker who committed to it; if no one clearly owns it, mark it 'unassigned' — never guess an owner, a due date, or a decision that was not actually made." Pair it with a strict JSON schema and most faithfulness and attribution problems disappear before you change models.

pick the cheap tier

VChoosing a model — and why this rarely needs a frontier model

Summarizing a transcript into structured notes is one of the easier tasks for a modern language model, which has a happy consequence: you almost never need the most expensive model. The discipline is to pick the cheapest tier that clears your quality bar — and because transcripts are long and input-heavy, that choice swings the bill enormously.

On Bedrock the relevant tiers run from very cheap, very fast small models — Amazon Nova Micro and Nova Lite, Claude Haiku, small Llama and Mistral models — up through mid-tier models (Nova Pro, Claude Sonnet) and frontier models reserved for the hardest reasoning. For the large majority of meeting and call notes, a small tier produces summaries and action-item extraction that are indistinguishable from a frontier model's to most readers. Spend the model budget only where the task is genuinely hard: a contentious multi-party negotiation where the decisions are subtle, a dense technical design review, or call audio so noisy the transcript needs the model to reason through ambiguity.

Two structural facts make model choice the dominant cost lever. First, the input is long: a transcript of a 30–60 minute conversation is thousands of tokens, and you pay to push all of it in for a short structured note out — so the input-token rate matters far more than the output rate, exactly the rate a cheaper model slashes. Second, for real-time you call the model repeatedly during the conversation, so a cheap, low-latency model both saves money and feels snappier. A practical selection method: assemble 20–50 representative transcripts with reference notes (human-written or human-approved, including the correct action items and owners), run two or three candidate models, and score them on faithfulness, completeness, and attribution accuracy (section VI). Promote the cheapest model that clears your bar, and re-run the bake-off when AWS ships new tiers — the cheap end of the catalog improves constantly. See the cross-cluster Bedrock pricing page for the full per-model rate table.

model tiers for meeting/call summarization on bedrock · representative shape as of 2026 — check the AWS pricing page for current rates
TierExample modelsRelative costGood forWatch-out
Small / fastNova Micro/Lite · Claude Haiku · small Llama/MistralLowestThe bulk of meeting/call notes; real-time incremental calls; high volumeMay miss subtle decisions in messy multi-party calls
Mid-tierNova Pro · Claude SonnetModerateHarder synthesis; negotiations; nuanced sentiment; the reduce stepOverkill (and pricey) for routine notes
FrontierTop Claude / Nova Premier-classHighestDense, contentious, or high-stakes calls needing deep reasoningRarely needed for summarization; biggest bill
Built-in (Call Analytics)Transcribe Call Analytics generative summaryPer audio-minuteFast contact-center call summaries with no prompt workFixed shape; add a Bedrock call for your own schema/notes
Transcripts are input-token-heavy, so the input rate dominates — which is exactly what a cheaper tier cuts. Default to the smallest tier that clears your faithfulness/attribution bar; reserve mid-tier/frontier for genuinely hard calls. Transcribe Call Analytics' built-in generative summary is the fastest path for contact-center audio, but most teams still add a Bedrock call for a custom decisions/actions/owners schema. Confirm current rates on the AWS pricing pages.
where it plugs in

VIIntegration (Chime SDK, Connect) and getting accuracy right

A summarizer is only as good as the audio it hears and the systems it feeds. Two practical concerns decide whether this works in production: how the pipeline plugs into your meeting and contact-center stack, and how you keep transcription accurate enough that the notes are trustworthy.

The integration question is "where does the audio come from, and where do the notes go?" — and on AWS there are clean answers on both ends.

Integration — Amazon Chime SDK and Amazon Connect

For meetings, the Amazon Chime SDK lets you build or embed audio/video meetings and capture or stream their media; its media-pipeline features can route meeting audio to Amazon Transcribe (live captions and transcripts) or to S3 for post-call processing, and it can also ingest audio from other meeting sources. So a meeting summarizer can either run inside a Chime SDK meeting (live transcript → notes) or process exported recordings after the fact.

For calls, Amazon Connect is the cloud contact center and the natural source of call audio. Connect integrates Amazon Transcribe (and Transcribe Call Analytics) directly — Contact Lens is the built-in capability that transcribes calls, scores sentiment, categorizes contacts, and now generates post-call (and real-time) summaries on the contact record. You can lean on Contact Lens for the managed path, or stream the call's media (via Kinesis Video Streams) to your own Transcribe + Bedrock pipeline when you need a custom notes schema or want the summary written into systems Connect does not natively touch. On the output end, AWS Lambda and Amazon EventBridge route the finished notes into Slack/Teams, the CRM, or a ticketing system.

Accuracy — the transcript is the ceiling on quality

No model can summarize accurately from a bad transcript, so accuracy work concentrates on stage 2. The biggest wins: use separate audio channels where you can (channel identification beats inferring speakers from one mixed track — a real edge for two-channel call recordings); add a custom vocabulary and, for heavy jargon, a custom language model so product names, drug names, ticker symbols, and acronyms transcribe correctly; pick the right language/locale and enable automatic language identification for multilingual audio; and capture the best audio you can (good microphones, reasonable bitrate). Then handle the residual uncertainty in the model layer: instruct the model to flag low-confidence or unclear passages rather than guess, prefer "unassigned" over a guessed owner, and keep a human-review step for high-stakes notes (a legal commitment, a medical instruction). Measuring transcription quality (word error rate on a sample) and notes quality (section's evaluation set) separately tells you whether to fix the audio/transcription or the prompt/model.

the accuracy rule of thumb

Quality is capped by the transcript, so spend there first: separate channels > diarization on one mixed track, add custom vocabulary for your domain terms, set the right locale. Then make the model honest about what it could not hear — flag uncertainty, mark owners "unassigned" rather than guessing — and keep a human-review sample for high-stakes notes. For contact-center audio, Contact Lens / Transcribe Call Analytics gives you accurate diarization, sentiment, and a baseline summary out of the box.

measuring it

VIIEvaluating the notes — faithfulness, completeness, attribution

"The notes read well" is not evaluation. Meeting summaries fail in distinct ways — they invent action items, they miss decisions, or they assign tasks to the wrong person — and you need metrics that isolate each so you know whether to fix the prompt, the model, or the transcription.

Build a fixed evaluation set first: 30–200 representative transcripts, each paired with reference notes (human-written or human-approved) including the correct decisions, action items, and owners. Run it on every change — a new model, a tweaked prompt, a different diarization setting — so you can tell whether the change actually helped instead of guessing. The metrics below are the core of meeting-summary evaluation, and an LLM-as-a-judge on Bedrock can score most of them automatically.

  • Faithfulness (groundedness): Does every claim, decision, and action follow from the transcript, or did the model add something nobody said? This is the anti-hallucination metric and the most important one — a confident note about a commitment that was never made is the worst failure mode. Low faithfulness is usually a prompt problem (tighten the grounding constraint), occasionally a too-weak model on a messy transcript.
  • Completeness (coverage): Did the notes capture the real decisions and action items, or drop one that mattered? Score against a per-meeting checklist of must-include items. Low completeness on long meetings often points to a context-window / map-reduce problem (a decision in an under-weighted segment) more than a model problem.
  • Attribution accuracy: Is each action item assigned to the person who actually committed to it? This is specific to meeting notes and depends heavily on diarization quality — frequent misattribution usually means the transcription/speaker-labelling needs work (separate channels, better diarization), not a better model.
  • Relevance & conciseness: Do the notes serve their purpose (a sales-call summary foregrounds the next step; a stand-up foregrounds blockers) without padding? A summary can be faithful and complete yet useless because it buries the one thing the reader needed. Fix with a sharper purpose/audience instruction.

How to run it on AWS

Amazon Bedrock includes model evaluation with an LLM-as-a-judge option: you supply your dataset of transcripts (and reference notes), and Bedrock scores response quality — including faithfulness/groundedness and relevance — so you can compare models and prompts on the same set and pick a winner objectively. For DIY pipelines the same metrics live in open-source evaluation frameworks. Either way the discipline is identical: a fixed golden set, automated scoring, and a number that moves when you change a knob.

Two non-negotiables for production. Log every summarization — the transcript reference, prompt, model, and output — so any set of notes can be reproduced and audited (and so a disputed action item can be traced to what was actually said). And keep a human-review sample: automated judges catch invention and drift well but miss domain-specific errors (a flipped decision, a subtly wrong figure, a misread legal or medical commitment) that a subject-matter expert catches instantly. For high-stakes notes, a human-in-the-loop approval step before the notes are acted on is the right default.

doing it at scale + what it costs

VIIISummarizing every call — batch, and the real cost stack

Summarizing one meeting on demand is two API calls. Summarizing every support call your contact center handles — or back-filling a year of recordings — is a data job, and the right tools are Transcribe batch and Bedrock batch, which halve the bill for work nobody is waiting on. Here is the bulk pattern and the full cost stack.

A huge share of call/meeting summarization is post-call and high-volume: summarize every contact-center call for QA and CRM notes, pre-compute notes for a backlog of recordings, digest a quarter of sales calls. Nobody is staring at a spinner — you just need the job done. That is the exact shape Amazon Transcribe batch and Amazon Bedrock batch inference are built for: transcribe the recordings in S3 as batch jobs, then submit the summarization requests as JSONL to S3 and run one asynchronous Bedrock job that writes one structured note per call back to S3 — at roughly 50% of the on-demand token rate. For contact-center scale this is the single easiest cost win, and it composes with everything above: each call is independent, so the work parallelizes perfectly.

The figures below are representative as of 2026 to show the shape of the bill, not a quote — always check the AWS pricing pages. A meeting/call summarization bill has two dominant line items that text summarization does not: transcription (per minute/second of audio) and the model (per token). The dominant model cost is input tokens (you push a whole transcript in for a short note out), which is exactly why model right-sizing and batch are the biggest model-side levers — and transcription is the other big line, controlled by the Transcribe tier you choose and by not re-transcribing recordings you have already done.

A worked example (bulk call summarization)

The job: summarize 100,000 calls/month, each averaging 10 minutes of audio that transcribes to roughly 1,500 tokens, producing a 300-token structured note, on a small model (Amazon Nova Lite-class). Monthly volume: 1,000,000 audio-minutes, 100K × 1,500 = 150M input tokens, and 100K × 300 = 30M output tokens.

Transcription. At a representative Transcribe batch rate on the order of ~$0.02–$0.04 / audio-minute (Call Analytics is higher because it bundles diarization, sentiment, categories, and a summary; standard batch is lower — check the pricing page), 1,000,000 minutes is roughly $20K–$40K/month. Transcription is usually the largest line in a call-summarization bill, which is why audio volume and the Transcribe tier you choose dominate the budget.

Model (Bedrock). On a small model at representative rates of ~$0.06 / 1M input and ~$0.24 / 1M output: input = 150 × $0.06 = $9; output = 30 × $0.24 = $7.20 → ≈ $16/month on-demand, or ≈ $8/month on batch. The same job on a frontier Sonnet-class model (~$3 / $15 per 1M) would be 150 × $3 + 30 × $15 = $450 + $450 = ~$900/month — ~50× the cost on a model the task did not need. The lesson: transcription is the big absolute line (manage audio minutes and tier), and on the model side, right-size first then halve with batch.

meeting/call summarization cost stack on aws · representative shape as of 2026 — check the AWS pricing pages
Cost lineWhen you payDriverMain lever to control it
TranscriptionPer minute/second of audio (often the largest)Audio-minutes × Transcribe tier (standard vs Call Analytics)Right-size the tier; don't re-transcribe; batch over streaming when post-call
Generation — inputPer summary (the largest model line)Transcript length × model input rateCheapest adequate model; Bedrock batch (~50% off); don't re-summarize unchanged calls
Generation — outputPer summaryNote length × model output rateKeep structured notes tight; small vs input
Redaction / GuardrailsPer request / per unitPII redaction + Guardrails on transcriptsRedact at the transcript layer; apply Guardrails where it counts
Evaluation + gluePer eval run / per invocationJudge-model calls × eval-set size; Lambda/EventBridge routingFixed golden set; sample rather than score 100% of traffic
Two lines dominate that text summarization lacks: transcription (per audio-minute — usually the biggest absolute cost) and the model (per token, input-heavy). Control transcription with the right Transcribe tier and by not re-transcribing; control the model with a right-sized small model plus Bedrock batch (~50% off). Real-time adds repeated in-call model calls and streaming transcription — pricier; reserve it for live experiences. Confirm current rates on the AWS Transcribe and Bedrock pricing pages.
who can fund the build

IXWho can fund a meeting-summarization pipeline

Amazon Transcribe, Bedrock inference (on-demand and batch), Guardrails, S3 and orchestration all draw down AWS credits automatically.

Partner-filed funding: a vetted AWS partner can file POC (proof of concept) funding to test a meeting or call summarization use case, 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 pipeline (Transcribe with diarization, redaction, structured extraction on Bedrock, batch for backlogs, evaluation) and check which funding fits. Startups pay CloudRoute nothing. Partners pay CloudRoute a monthly membership plus 10% of AWS-approved funding.

the first decision, side by side

Post-call vs real-time meeting summarization — which to build

This is the comparison that decides your architecture. Read it as "build post-call first for the written record; add real-time only when a live experience — agent assist, in-meeting notes — justifies the cost." Figures and limits are representative 2026 illustrations, not quotes.

DimensionPost-call (batch)Real-time (streaming)Hybrid (both)
How it worksTranscribe the finished recording, then one Bedrock callStream audio → Transcribe streaming → periodic Bedrock callsThin real-time layer + authoritative post-call pass
Transcribe modeBatch (+ diarization / channel ID)StreamingStreaming live + batch after
LatencyIrrelevant — nobody waitingCritical — sub-second cuesLive cues fast; final notes after
Cost profileLowest (Transcribe + Bedrock batch, ~50% off)Highest (repeated in-call model calls)Moderate
Model choiceCheapest adequate; batchSmall/fast for low latencyBoth — small live, right-sized post-call
Build complexityLowestHighestHighest (two paths)
Best forMeeting minutes, call notes, CRM, QA — most valueAgent assist, live meeting notes, supervisionLive experience + a trustworthy written record
Both share the same Transcribe → Bedrock spine — the difference is when you run it and which modes you use. The common production shape is post-call-only in v1 (it covers the majority of the value at the lowest cost and complexity), then a real-time layer added when there is a genuine live use case. Run the high-volume post-call tail on Transcribe batch + Bedrock batch for the cheapest bill.
before you transcribe a single call
Find a partner who can build the meeting-summarization 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

How do you summarize meetings and calls with AI on AWS?
As a six-stage pipeline. (1) Capture the audio — a recording in S3 for post-call, or a live stream from Amazon Chime SDK (meetings) or Amazon Connect (calls) for real-time. (2) Transcribe it with Amazon Transcribe using speaker diarization or channel identification so the transcript is speaker-attributed; for contact-center audio, Transcribe Call Analytics adds sentiment, categories, and a built-in summary. (3) Redact PII (Transcribe redaction, plus Bedrock Guardrails). (4) Summarize and extract with a foundation model on Amazon Bedrock — a summary, decisions, action items with owners, and sentiment. (5) Assemble the structured notes and route them to the CRM, tickets, or chat (Lambda + EventBridge). (6) Evaluate that the notes are faithful and correctly attributed. Transcript quality and speaker labels drive quality; model choice and batch drive cost.
Should I do real-time or post-call summarization?
Post-call (batch) is the common case and the right place to start: the recording finishes, you transcribe and summarize it, and route the notes — nobody is waiting, so it is simplest and cheapest (Transcribe batch + Bedrock batch, ~50% off) and it covers most of the value (meeting minutes, call notes, CRM updates, QA). Real-time (streaming) uses Transcribe streaming and periodic Bedrock calls during the conversation plus a final summary at the end; it enables live experiences like agent assist, in-meeting notes, and supervision, but it is latency-sensitive and more expensive because you call the model repeatedly. Many teams run a thin real-time layer for live cues plus an authoritative post-call pass for the written record, and ship post-call-only first.
How does speaker diarization work for meeting summaries on AWS?
Amazon Transcribe offers two ways to attribute speech to speakers. Speaker diarization (speaker partitioning) analyzes a single mixed audio track and labels each segment with a speaker (Speaker 0, Speaker 1, …) so the transcript reads as a dialogue — essential for assigning decisions and action items to the right person. Channel identification is the higher-accuracy option when participants are on separate audio channels (for example a two-channel call recording with the agent and customer on different channels): Transcribe transcribes each channel separately, which is far more reliable than inferring speakers from one track. Use channel identification whenever you can get separate channels; fall back to diarization for single-track meeting recordings. Accurate speaker labels are what let the model attribute action items correctly.
How do I get an AI to extract action items, owners, and decisions — not just a paragraph?
It is a prompt-engineering problem. Instruct the Bedrock model to return a strict JSON schema (summary, decisions[], action_items[{owner, task, due_date}], open_questions[], next_steps[], sentiment) rather than prose, ground it strictly in the transcript ("use only what was said; do not invent decisions, actions, owners, or dates"), and have it attribute each action to the speaker who committed — using the diarized speaker labels — marking the owner "unassigned" rather than guessing when it is ambiguous. Ask it to separate what was decided from what was merely discussed so the decisions list stays trustworthy. Bedrock's tool-use / structured-output features help enforce valid JSON, which then drops straight into Jira/Asana tasks or CRM fields. A fixed schema plus a grounded-attribution constraint removes most faithfulness and attribution problems before you change models.
How do I redact PII from call recordings before summarizing?
Redact at the transcript layer, before the model sees the data. Amazon Transcribe has built-in PII redaction for both batch and streaming (and within Transcribe Call Analytics), so identifiers like names, phone numbers, card numbers, and account IDs can be masked as the transcript is produced. Add Amazon Bedrock Guardrails as a defence-in-depth layer to detect and redact PII (and block sensitive topics) on the way into and out of the model, so nothing sensitive is unnecessarily sent to or returned by it. For regulated audio (healthcare, finance), this stage is non-negotiable, and redacting before summarization — rather than after — is the cleaner, safer design.
Which model should I use to summarize meetings on Bedrock?
Almost always the cheapest tier that clears your quality bar — turning a transcript into structured notes is one of the easier tasks for modern models, so a small, fast model (Amazon Nova Micro/Lite, Claude Haiku, a small Llama/Mistral) is usually indistinguishable from a frontier model to most readers. Transcripts are input-token-heavy (you push a whole conversation in for a short note out), so the cheaper input rate of a small model is the dominant cost lever, and for real-time a fast small model also lowers latency. Reserve mid-tier (Nova Pro, Claude Sonnet) or frontier models for genuinely hard calls — contentious negotiations, dense technical reviews, very noisy audio. Bake off two or three models on 20–50 representative transcripts (scoring faithfulness, completeness, and attribution accuracy) and promote the cheapest that passes.
How does this integrate with Amazon Chime SDK and Amazon Connect?
For meetings, the Amazon Chime SDK lets you build or embed meetings and capture or stream their audio to Amazon Transcribe (live captions/transcripts) or to S3 for post-call processing — so a meeting summarizer can run live inside a Chime SDK meeting or process exported recordings. For calls, Amazon Connect is the contact center and integrates Transcribe and Transcribe Call Analytics directly: Contact Lens transcribes calls, scores sentiment, categorizes contacts, and generates post-call and real-time summaries on the contact record. You can use Contact Lens for the managed path, or stream the call media (via Kinesis Video Streams) into your own Transcribe + Bedrock pipeline when you need a custom decisions/actions/owners schema or want notes written into systems Connect does not natively touch. On the output side, Lambda and EventBridge route finished notes into the CRM, ticketing, or chat.
What does AI meeting/call summarization on AWS actually cost?
Two lines dominate that text summarization does not have: transcription (per minute/second of audio — usually the biggest absolute cost, and higher for Transcribe Call Analytics because it bundles diarization, sentiment, and a summary) and the model (per token, input-heavy because you push a whole transcript in). Control transcription with the right Transcribe tier and by not re-transcribing; control the model with the cheapest adequate model plus Bedrock batch (~50% off). As a representative 2026 illustration, summarizing 100K ten-minute calls/month is on the order of $20K–$40K/month for transcription, while the small-model summarization is roughly $16/month on-demand or ~$8 on batch (versus ~$900 on a frontier model) — so transcription is the line to manage, and on the model side you right-size then batch. Real-time adds repeated in-call model calls and streaming transcription. Figures are representative as of 2026 — check the AWS Transcribe and Bedrock pricing pages for current rates.
How do I keep the summaries accurate and stop them hallucinating?
Two layers. First, the transcript caps quality, so improve it: prefer channel identification over diarization on one mixed track, add a custom vocabulary (and a custom language model for heavy jargon) so product names and acronyms transcribe correctly, set the right locale, and capture clean audio. Second, make the model honest: a strict grounding constraint ("use only the transcript; never invent decisions, actions, owners, or dates"), "unassigned" rather than a guessed owner, and an instruction to flag low-confidence passages rather than fill gaps. Then measure faithfulness, completeness, and attribution accuracy on a fixed golden set with Bedrock model evaluation (LLM-as-a-judge), log every summarization for audit, and keep a human-review sample — and a human-in-the-loop approval step for high-stakes notes. Most faithfulness problems are prompt problems; most attribution problems are transcription problems.
Can AWS funding cover building a meeting-summarization pipeline?
Transcribe, Bedrock inference, Guardrails and the supporting services all draw down AWS credits automatically. A vetted AWS partner can file POC funding to test it, 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.

Build meeting and call summarization on AWS with a partner who can file the funding

A vetted AWS partner can design and ship the pipeline: Amazon Transcribe with diarization or channel identification, PII redaction, structured extraction on Bedrock, batch for backlogs, and evaluation. 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