Part 6 of 7 · Translation relay series ~3 min read

What the translation relay costs

The relay is cheap because it does the expensive thing as rarely as possible. Every message gets one or two small model calls; the stronger, pricier model only touches the handful of passages that need it. There’s no always-on compute, no API Gateway, no NAT Gateway. At typical SMB volume the bill is a few dollars a month, and the fixed cost is essentially zero.

Key takeaways

  • Around $3/month at typical SMB volume (about 600 messages a month, both directions).
  • Fixed AWS cost is essentially zero. No always-on compute, no NAT Gateway, no API Gateway.
  • Most of the bill is the Bedrock translate calls — and the cheap model carries almost all of it.
  • The stronger Claude Sonnet 4.6 only fires on the tricky passages, so it stays a small sliver.
  • At 2,000 messages the bill is around $9. At 5,000 it’s around $20.

Cost at three volumes

Monthly cost at three message volumes, broken out by component A vertical stacked-bar chart showing monthly cost in US dollars at three message volumes. The leftmost bar represents 600 messages a month and shows a total around $3, dominated by the Bedrock Haiku slice (the everyday translate calls, both directions) with a smaller everything-else slice for Lambda, DynamoDB, S3, SES, SQS, and CloudWatch, a thin Bedrock Sonnet sliver for the tricky passages, and a tiny fixed sliver. The middle bar represents 2,000 messages a month and shows a total around $9, with the same shape — Bedrock Haiku grows roughly linearly with message count because every message is translated. The rightmost bar represents 5,000 messages a month and shows a total around $20, with Bedrock Haiku still dominant; Bedrock Sonnet grows but stays a sliver because it only fires on passages the cheap model flags as unsure. Below the chart is a legend explaining the four sections of each bar: Bedrock Haiku (the everyday translate calls), Bedrock Sonnet (only the tricky passages), AWS Budgets and Secrets Manager (small fixed amounts), and an everything-else bucket for Lambda runtime, DynamoDB on-demand, S3, SES inbound and outbound, SQS, and CloudWatch. A note at the bottom: the translate calls are the dominant cost, and the cheap model carries almost all of them. $0 $5 $10 $15 $20 600 msgs ~$3 2,000 msgs ~$9 5,000 msgs ~$20 Bedrock Haiku (everyday translate, both ways) Bedrock Sonnet (tricky passages only) AWS Budgets + Secrets Manager (fixed) Everything else (Lambda, DDB, S3, SES, SQS, CloudWatch) The translate calls are the dominant cost — and the cheap model carries almost all of them.
Fig 6. Monthly cost at three message volumes. Bedrock Haiku — the everyday translate calls in both directions — is the dominant slice. Bedrock Sonnet stays a sliver because it only fires on the passages the cheap model flags as unsure.

Where the dollars actually go

Bedrock Haiku (the bulk). Every message gets translated in, and every reply gets translated out, on Claude Haiku 4.5. Each call is a few hundred input tokens and a few hundred output tokens — a fraction of a cent. Detection’s careful fallback (for short or mixed notes) and the round-trip check add a couple more small Haiku calls per conversation. Multiply by a few hundred messages a month and it’s a couple of dollars. This is the part that scales with how busy you are, and it scales gently.

Bedrock Sonnet (only the tricky passages). The stronger model never translates a whole message — only the handful of clauses the cheap model flagged as shaky. At typical volume that’s a small share of passages, so Sonnet stays a sliver. A business with a lot of slangy, mixed-language messages will see this slice grow, but it’s still bounded by “only the hard bits, only when needed.”

Lambda runtime. Short functions: intake, detect, translate-in, translate-back, send, and the drive-sync job every fifteen minutes. Each runs for well under a second on arm64. Pennies a month at all three volumes.

DynamoDB on-demand. The conversation threads, the swap log, and the audit trail. A few small reads and writes per message. Pennies.

S3 + storage. The mirrored glossary, the voice note, and the raw inbound email MIME. A few hundred KB at SMB volume. Effectively free.

SES. Inbound for the email lane: $0.10 per thousand received messages. Outbound for the replies: $0.10 per thousand sent. Negligible at this scale.

SQS. The queue that sits between detect and translate so a burst of messages can’t overwhelm the model calls. A million requests a month is under a dollar; you’ll use a tiny fraction of that.

What doesn’t cost money

  • API Gateway. Replaced by Lambda Function URLs for the web widget and the send-reply endpoint.
  • NAT Gateway. Nothing is in a VPC. No NAT, no $32/month minimum.
  • Always-on compute. No EC2, no Fargate. Everything runs only when a message moves through.
  • A Knowledge Base. The relay translates; it doesn’t answer from documents. No embeddings, no vector store, no S3 Vectors.
  • A second model on the easy path. The cheap model handles the everyday work; the stronger one is reserved for the passages that earn it.

How the cost scales

Bedrock Haiku grows roughly linearly with message volume, because every message is translated both ways. Sonnet grows too, but only with the share of tricky passages, which is small and fairly stable. Lambda, DynamoDB, and SES all grow linearly and stay tiny. So the bill at 10,000 messages a month is around $40, and at 20,000 it’s around $80 — still far cheaper than one part-time bilingual hire, and it covers every language at once. Past those volumes you’d start caching common phrases and batching the round-trip checks, but those are optimizations for a busy support desk, not redesigns.

Set an AWS Budgets alarm at $25/month so anything unusual pages you before the bill matters. The relay’s normal-volume cost stays well under that ceiling.

Last post in the series: the engineering reference. Same system, drawn for engineers — service names, Lambda inventory, IAM scopes, DynamoDB schemas, SES rule set, the SQS lanes, and the Bedrock model IDs.

All posts