AI hardware

Streaming Speech-to-Text APIs for Devices

A graphite voice puck with a ring of microphone ports and one small orange light sits on a bright white bench.Concept render

As of October 31, 2026, AssemblyAI bills streaming by open WebSocket time, so a pendant open 10 hours costs $1.50 a day at $0.15/hr. If only 2 hours of speech are billed, AWS is $1.20 and Deepgram Nova-3 about $0.92. Neither vendor page confirms that idle seconds are free.

Picking the transcription service behind a recorder or pendant depends on what the provider counts: open socket time, audio seconds, new streams per minute or concurrent connections. A device that holds a connection open all day behaves differently under each of those counts. This guide puts the published limits and rates side by side, works through the arithmetic with labeled assumptions, and lists what to measure on your own board. It contains no Duobay price and no measured result.

This page covers consented recorders and pendants only. A recording device should show a visible indicator while it records and should have a clear way to obtain consent. Facts below come from each vendor's own public pages, read on October 31, 2026. Prices and quotas change often, so re-read the linked pages before you decide.

How do the five providers differ on billing unit and limits?

This table keeps only what the vendor pages state. Where a page did not give a figure, the cell says so, and the figure is yours to test.

ProviderBilling unitListed streaming rateConcurrency or request limitsStream length capSource
AssemblyAIStreaming bills the time the WebSocket connection is open (session duration). Idle seconds on an open socket are billed.Universal-Streaming English and Multilingual: $0.15 per hour. Universal-3.6 Pro Realtime: $0.45 per hour.New streams per minute: 5 on the free tier, 100 on pay-as-you-go.Vendor did not publish this figure in the pages we read. Test it on your board.AssemblyAI pricing, as of October 31, 2026
Amazon TranscribeBilled in one-second increments with no minimum.Example price in US East (N. Virginia): $0.01 per minute. Tiered streaming rates were not confirmed.Default 25 concurrent streams per Region (adjustable). 25 StartStreamTranscription requests per second (adjustable).A maximum session duration exists and is a hard limit that cannot be increased. The exact number was not retrieved. Exceeding it raises LimitExceededException, and the client starts a new session.AWS pricing, as of October 31, 2026
Google Cloud Speech-to-TextBilling unit was not retrieved for this article.Rates were not retrieved for this article.A project is limited to 900 recognition requests per 60 seconds. Each streaming session counts as one request.Streaming requests are listed at about 5 minutes of audio, with near-real-time pacing.Google quotas page, as of October 31, 2026
Azure Speech (Standard, S0)Billing unit was not retrieved for this article.Rates were not retrieved for this article.100 concurrent real-time speech-to-text requests by default on the base model endpoint (adjustable by support request). Free tier (F0): 1, not adjustable.Real-time diarization is capped at 240 minutes per session. The limit without diarization was not found.Azure limits page, as of October 31, 2026
DeepgramPer-second billing is stated for pre-recorded audio and in the FAQ. The pricing page does not state streaming granularity separately, so confirm it before you model idle time.Nova-3 Monolingual: $0.0077 per minute pay-as-you-go, $0.0065 Growth. Nova-3 Multilingual: $0.0092 pay-as-you-go, $0.0078 Growth.150 concurrent streaming connections pay-as-you-go, 225 on Growth.Vendor did not publish this figure in the pages we read. Test it on your board.Deepgram pricing, as of October 31, 2026

AWS also publishes the quota rows on its service quotas page and the hard session limit on its streaming documentation page, both as of October 31, 2026. Language support lists differ by provider and change often. We did not capture them, so read each vendor page at design time.

What does the same day of use cost under each billing unit?

The example is a pendant whose socket stays open 10 hours a day while the wearer produces 2 hours of speech. Both hour counts are assumptions for you to replace. The rates come from the table above.

open-time billing   daily cost = H_open   × r_hr
audio-time billing  daily cost = H_speech × 60 × r_min

H_open   = 10 hours   (assumption)
H_speech = 2 hours   (assumption)
Service and modelRate usedDaily cost, socket open 10 hoursDaily cost, socket open only during 2 hours of speechSource
AssemblyAI Universal-Streaming$0.15 per hour of open session$1.50$0.30AssemblyAI pricing, as of October 31, 2026
AssemblyAI Universal-3.6 Pro Realtime$0.45 per hour of open session$4.50$0.90AssemblyAI pricing, as of October 31, 2026
Service and modelRate usedDaily cost for 2 hours of audioSource
Amazon Transcribe, US East example$0.01 per minute$1.20AWS pricing, as of October 31, 2026
Deepgram Nova-3 Monolingual, pay-as-you-go$0.0077 per minute$0.92Deepgram pricing, as of October 31, 2026
Deepgram Nova-3 Monolingual, Growth$0.0065 per minute$0.78Deepgram pricing, as of October 31, 2026
Deepgram Nova-3 Multilingual, pay-as-you-go$0.0092 per minute$1.10Deepgram pricing, as of October 31, 2026
Deepgram Nova-3 Multilingual, Growth$0.0078 per minute$0.94Deepgram pricing, as of October 31, 2026

Check on the arithmetic: $0.15 × 10 = $1.50 and $0.15 × 2 = $0.30. $0.01 × 120 minutes = $1.20. $0.0077 × 120 = $0.924, shown as $0.92. The audio-time rows assume the provider bills only the 2 hours of speech. For Amazon Transcribe, the docs say to send silence as zero bytes to keep the stream real-time, and the pages we read do not say whether those seconds are billed. For Deepgram, the pricing page does not state streaming granularity separately. Confirm both with the vendor, and measure them against your own invoice.

The lower AssemblyAI figure shows the effect of closing the socket in silence, for example with a voice-activity detector on the device. How often the detector fires, and how much speech it clips, is a design question for your own tests.

How many devices fit under each concurrency limit?

A concurrency limit covers only the devices streaming at the same moment.

concurrent demand = F × a
largest fleet that fits under the limit = limit ÷ a

a = 0.1 (share of devices streaming in the same minute, placeholder)
ServiceWhat the limit countsDefault limitLargest fleet at a = 0.1Source
Amazon TranscribeConcurrent streams per Region25250AWS quotas table, as of October 31, 2026
Azure Speech S0Concurrent real-time requests1001,000Azure limits page, as of October 31, 2026
Deepgram pay-as-you-goConcurrent streaming connections1501,500Deepgram pricing, as of October 31, 2026
Deepgram GrowthConcurrent streaming connections2252,250Deepgram pricing, as of October 31, 2026

Two providers count differently. AssemblyAI limits new streams per minute (100 on pay-as-you-go), so the question is how many devices open a stream in the same minute. Google limits recognition requests per project (900 per 60 seconds), and each streaming session is one request.

For Google, the reconnect arithmetic is: sessions per hour of continuous speech = 60 ÷ L_stream, which is 60 ÷ 5 = 12 for about 5-minute streams. If F devices stream continuously and their rollovers spread evenly, the average load is F ÷ 5 requests per minute, against a limit of 900 per minute. That is engineering arithmetic on the published figures, and it assumes nothing else in the project uses the request quota. Rollovers may bunch up, so test a synchronized case.

Inputs, and which are yours to replace

VariableMeaningStatusWhat to do
H_openHours per day the socket is openYour assumptionThe examples use 10. Replace it with the value from your firmware design.
H_speechHours per day of audio that contains speechYour assumptionThe examples use 2. Replace it after logging real use.
r_hrPrice per hour of open sessionPublished priceAssemblyAI rows in the table above.
r_minPrice per minute of audioPublished priceAmazon Transcribe and Deepgram rows in the table above.
aShare of devices streaming in the same minuteYour assumptionThe headroom table uses 10% as a placeholder. Replace it with your wake-up pattern.
FFleet sizeYour assumptionYour plan.
L_streamStream length cap in minutesPublished for Google only (about 5)Amazon and Azure caps are not in the pages we read. Look them up or test them.

What are the common traps?

These follow from the published figures above. They are engineering reasoning about how the numbers interact. None describes an incident at any company.

  • Idle audio on a billed-by-open-time plan. AssemblyAI bills the time the WebSocket is open. A pendant that holds a socket open all day pays for the hours without speech. The 10-hour example above shows five times the cost of the 2-hour case at the same hourly rate.
  • A low per-minute price with a stream that never closes. Amazon Transcribe bills in one-second increments, and its streaming docs say to send silence as zero bytes so the stream stays real-time. The pages we read do not say whether those silent seconds are billed. If they are, the 2-hour audio figure understates the bill. Confirm it with the vendor before you budget.
  • Reconnects that count as requests. Google counts each streaming session as one request against 900 per 60 seconds per project. A fleet that all rolls over its roughly 5-minute streams on the same schedule hits that project limit in bursts.
  • Hard session caps that cut a sentence in half. Amazon says the session cap cannot be raised and the client must start a new session. Where the cut lands in the speech is a question for your own test, because no vendor page states how rollover affects words near the boundary.
  • Quotas that count different things. AWS and Azure count concurrent streams, Deepgram counts concurrent connections, and AssemblyAI counts new streams per minute. The numbers cannot be compared line by line. Convert each to a fleet size using your own a.
  • Free-tier limits copied into a launch plan. The free AssemblyAI tier allows 5 new streams per minute, and the free Azure tier allows 1 concurrent request. A prototype that works on those limits says little about a fleet.

What should you measure on your own board?

Vendor pages do not give latency for your hardware and network, and they do not describe what happens to words at a stream rollover. We have not measured either, and no result appears here. The pass line is yours to set for each product requirement, and you record the reason behind it.

What to measureHow to instrument or collect itRaw data to record
Time to first partial and final textTimestamp the first audio frame leaving the device, the first partial result arriving and the final result arriving, on Wi-Fi and on cellular.Raw timestamps per utterance, network type, signal strength, provider, region and model name.
Stream rolloverSpeak a known script continuously across a stream cap and across a deliberate disconnect. Compare the returned text with the script.Script, returned transcript, rollover timestamps, any words missing or repeated near the boundary.
Idle time on the socketLog when the socket opens, when speech is detected and when the socket closes over a full day of real use.Open and close times, speech time, voice-activity detector setting, and the provider invoice line for the same day.
Billing reconciliationCompare your own logs with the provider usage report for the same period.Your open-socket seconds, your audio seconds, the provider billed seconds and the rate applied.
Reconnect behaviorCut the network for different lengths during a session and watch what the firmware and backend do.Time to detect the drop, time to reopen, requests sent per reconnect, error codes returned.
Quota errorsRun a scaled-down test that pushes new-stream or concurrent-stream counts to the published limit on a staging account.Error codes, request counts per minute, retry timing, and what the device shows the user.
Battery and radio cost of streamingCompare a full day with always-open streaming against a gated design on the same board.Current draw on the battery rail, radio on time, uploaded bytes.

What should you think through before you choose?

Data handling is part of the choice, and we did not retrieve each vendor's retention and opt-out terms. These questions include that gap. Take the list to your team and to any supplier who proposes a design.

  • Does the socket stay open while nobody is speaking, and which provider billing unit makes that expensive?
  • Who decides when a stream closes: the device, the phone app or the backend?
  • What does the product do at the moment a stream hits its cap or is dropped?
  • Is the wearer told visibly when the device is recording and sending audio, and does the status light follow the real state of the socket?
  • Does the person speaking nearby know about the recording, and how does your product collect and record consent?
  • Which language list does the product need, and has it been read from each provider page again at design time?
  • What does each provider keep after a stream ends, and can you opt out of training use? We did not retrieve these terms, so read each vendor data-handling page.
  • Who owns the provider account and keys, and are they in your company name?
  • Which quota applies to your fleet on launch day, and how many devices stream in the same minute?
  • Which invoice line will you compare with your own logs each month?

Questions about streaming speech-to-text for devices

Which provider is cheapest for a wearable?

The listed rates do not answer that alone. AssemblyAI bills open session time at $0.15 per hour for Universal-Streaming, while Amazon Transcribe and Deepgram list per-minute prices. Which one costs less depends on how many hours the socket stays open and how many contain speech. Use the formulas above with your own hours. Rates as of October 31, 2026 from the AssemblyAI, AWS and Deepgram pricing pages.

Does this article compare latency and accuracy?

No. Vendor documentation does not give a latency figure we can quote for your hardware and network, and we have not measured it. The measurement plan above lists what to record on your own board.

What about data retention and training opt-out?

We did not retrieve those terms for this article, so we do not summarize them. Read each vendor's own data-handling and retention page before you choose, and ask for the terms in writing if your product handles private conversations.

How do I plan around Google's roughly 5-minute streams?

Plan for reconnects. A continuous 1-hour meeting needs about 12 sessions (60 minutes divided by about 5), and each session counts as one request against the project limit of 900 per 60 seconds (Google quotas page, as of October 31, 2026). Whether words are lost at rollover is something to test on your board.

Does this cover consent for recording?

Only as a design reminder. A recorder or pendant should show a visible indicator while it records, and your product should have a clear way to collect consent. This is an engineering write-up and does not constitute legal advice. Talk to counsel about the laws where your users record.

Planning a recorder or pendant and want the streaming design checked against your wake-up pattern? Tell us about your device. You can also read about our AI recording wearable development and how we scope app, cloud and AI work.

Sources

All pages accessed 2026-10-31. Prices and quotas change, so confirm figures on the live pages.

Planning an AI recording wearable? Tell us what it needs to do. A Duobay engineer replies within 1 business day. Send a project brief →

Related reading

More engineering guides

Have a dev kit and a deadline?

Tell us what the device must do. An engineer replies within 1 business day with questions, not a sales deck.

Talk to an engineer