Head to head · Speech-to-text · October 2026 research run
Deepgram Speech-to-Text (Nova-3, Flux) vs Giggy Speech to Text
Deepgram Speech-to-Text (Nova-3, Flux) scores 74.4 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in every scored category. Both do speech-to-text.
Best speech-to-text APIs for AI agents · All 253 stt comparisons
Which one, for what
Deepgram Speech-to-Text (Nova-3, Flux) BB
Best for Live voice agents that want turn detection in the STT model, and for cheap English batch.
Ahead on
- Reliability, 80 against 50
- Schema & documentation, 95 against 68
- Agent ergonomics, 75 against 68
- Security & auth, 72 against 57
- Payments & pricing, 40 against 30
- Transparency & trust, 78 against 30
Also in its favour
- Agent-ready, a grade of BB or better
- Runs on your own machine
- Free to start without a card
Watch for
Training on audio is the default and the opt-out is a per-request flag
Best for Agents and voice pipelines that need plain transcripts of recorded or live speech at a few cents an hour, or free for clips under 25 minutes, and can convert audio to 16 kHz mono WAV first.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
Recorded input must be PCM16 mono 16 kHz WAV, so MP3, M4A, stereo or other sample rates need converting before upload
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Transparency & trust Deepgram Speech-to-Text (Nova-3, Flux) +48
Deepgram Speech-to-Text (Nova-3, Flux) 78
Closed service with clear terms (15). The privacy policy was last updated on 26 October 2021, says data is stored on US servers and doesn't mention the Model Improvement Program, while the docs describe training by default and EU, Australian and Indian endpoints, so the statements disagree (15). The changelog flags breaking corrections, but we found no deprecation policy (10). Sub-processor list at deepgram.com/privacy/subprocessors and four regional endpoints (20). Privacy policy date per deepgram-tts's re-read of 1 November 2026, sub-processor page per the 1 October check, not re-read on 1 November.
Giggy Speech to Text 30
Closed hosted service. The terms exist at /terms but draw by script and could not be read, so their clarity is unknown; the SDK, Pipecat and MCP repositories are ISC and the n8n node MIT (5 of 30). What could be read agrees with itself, no training on user data, an optional 12-hour retention flag, a seven-day window for Batch audio, and the EEA compute flag. The privacy policy, any DPA and a retention period for transcripts were not found or not readable (12 of 30). No deprecation policy or dated notices, only a statement that the legacy origin remains supported (3 of 20). No subprocessors or data locations are named; the EEA-adequate compute option implies processing outside the EEA by default without saying where (3 of 20). 5+12+3+3 = 23.
Reliability Deepgram Speech-to-Text (Nova-3, Flux) +30
Deepgram Speech-to-Text (Nova-3, Flux) 80
Statuspage at status.deepgram.com with component history and an RSS feed (20). Nine incidents in the 90 days from 3 August touch speech-to-text, every one partial, read as this run reads partial incidents (one model, one region, one datacenter or some requests) and as deepgram-tts is read. Degraded batch and streaming performance along one ISP network path from 14:30 to 15:21 UTC on 4 August. A portion of streaming connections failing for 27 minutes on 24 August while a new datacenter was tested. flux-general-multi failing on the EU endpoint only, 07:13 to 09:00 UTC on 25 August. Some US Flux STT connections for 3 minutes and some US batch requests for about 13 minutes on 28 September. Two 1 to 2 minute bursts on 30 September. Some batch requests slow or timing out, 19:27 to 21:53 UTC on 22 October. 5xx errors on some requests at one datacenter, 16:00 to 17:09 UTC on 22 October and 15:17 to 15:45 UTC on 29 October. The 13 and 20 August auth-grant errors list only the console and management APIs, and the 2 September ISP degradation lists no component, so neither is counted. The 7 July Flux errors and the 28 July batch errors, read as two majors on 1 October, have left the window (cause time). Minor only (20). Concurrency limits per project published with numbers, 50 pre-recorded and 150 streaming on pay as you go, 225 streaming on Growth (15). Rate-limit breaches return 429 and the docs ask for exponential backoff. Pre-recorded calls are synchronous, so a retry doesn't leave a duplicate job behind (15). No SLA found for self-serve plans (0). Nova-3 and Flux are GA (10). 20 + 20 + 15 + 15 + 0 + 10 = 80.
Giggy Speech to Text 50
Hosted reading, as for deepgram-stt and cartesia-ink-stt. Giggy's own status page at https://giggy.ai/status lists one component, Text to speech, operational on 4 November 2026 with 98.61 per cent observed availability and 99.85 per cent completion over 14 days, refreshed every 30 minutes. It has no speech-to-text component and no incident log, so it shows nothing about this surface (5 of 20). No readable incident history, so the floor (5). Rate limits are published per credential, 60 Batch generation POSTs, 120 event-stream GETs, 600 reads and 120 MCP requests a minute, with eight live contexts per controller; Fast and Streaming POSTs have no per-credential limit and Batch queue capacity isn't given (15). 429 carries Retry-After with RateLimit-* headers, and the docs give a safe-retry rule for uploads, read the generation by UUID after a timeout or 504 and never upload the same recording again. REST transcription has no idempotency key, but the MCP transcribe_audio tool takes one (15). No SLA on the pricing page or in the docs; the terms could not be read (0). No beta or preview label on the API, the SDKs or the MCP server (10). 5+5+15+15+0+10 = 50.
Schema & documentation Deepgram Speech-to-Text (Nova-3, Flux) +27
Deepgram Speech-to-Text (Nova-3, Flux) 95
OpenAPI file at developers.deepgram.com/openapi.json and an AsyncAPI file for the sockets (25). llms.txt (10). Reference pages state what each option does, and the docs say to use Flux for live agents and Nova-3 for files, though few options say when not to use them (15). Query parameters are typed with enums for model, language and encoding (15). Examples on every endpoint and a documented error format (15). Versioned /v1 and /v2 paths and a dated changelog (15).
Giggy Speech to Text 68
Model reading, with the API reference. The docs and llms.txt link an OpenAPI 3.1 file at https://api.giggy.ai/v1/openapi.json, but api.giggy.ai's robots.txt could not be read, so the file wasn't fetched. We credit only what the reference pages show of it, typed mode values, the privacy booleans and a typed error body, and there is no AsyncAPI file for the live socket (12 of 25). llms.txt and llms-full.txt (10). The docs say when to use each mode and transport, that MCP is not a live transport, that an OpenAI base-URL swap does not work for STT, and which options have no equivalent, more than most listings say about when not to use something (17 of 20). mode is an enum of three values and the input format is fixed, but language is a free code or name with no published list, and the MCP input schemas were read only from the repository's docs, not from the server (11 of 15). Examples in the SDK READMEs, the examples repository and a Postman collection, and an error table of ten statuses with type, code, message, status, request_id and param fields, though only one code value is named (11 of 15). Paths are under /v1 and the SDK and Pipecat repositories keep CHANGELOG.md files, dated in two of them, but there is no service changelog (7 of 15). 12+10+17+11+11+7 = 68.
Security & auth Deepgram Speech-to-Text (Nova-3, Flux) +15
Deepgram Speech-to-Text (Nova-3, Flux) 72
Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Keys belong to a project, carry a role and can expire on a date or after a set duration. Browser JWTs live 30 seconds and travel in a header (30). Requests may be kept for model training under the Model Improvement Program unless each request sets mip_opt_out=true, which any account can do (10). Opted-out requests are kept only for processing, so zero retention is self-serve but not the default (10). Per-request logs and usage data in the console and API, no audit log of key actions found (10). SOC 2 Type 1 and Type 2 (certificates on request) and HIPAA with a BAA on the compliance page. deepgram.com now serves a valid security.txt (Contact security@deepgram.com, Expires 30 September 2027), not found on 30 September. No disclosure policy, bug bounty or public advisories found. The 1 October check gave this line 5 where deepgram-tts and deepgram-voice-agent gave 10 and 12 on the same compliance page, so it's read as deepgram-tts was on 1 November (12 of 20). 30 + 10 + 10 + 10 + 12 = 72.
Giggy Speech to Text 57
Model reading of the checklist, with training and retention in place of the least-privilege and injection lines, as for deepgram-stt and cartesia-ink-stt. Keys prefixed giggy_sk_ are shown once on creation or rotation, rejected immediately after revocation, limited to ten per space and tied to the space that made them, with REST budgets that Workspace members can set. No scopes or expiry were found. The key travels in a header only, with no query-string option documented (22 of 30). The workspace privacy guide states 'Giggy does not use user data to train models'. The privacy policy and terms draw by script and could not be read to confirm it (18 of 20). Requests can opt into 12-hour content retention and EEA-adequate compute, and a guide gives Batch audio a seven-day window, but no retention period for transcripts was found and results can vanish after an unstated 'retention cleanup' (9 of 15). Generation history per space and a request ID on errors; no audit log of key or admin actions was found (8 of 15). /.well-known/security.txt answered a client error, none of the six repositories has a SECURITY.md, and no disclosure policy, bug bounty or certification was found on the pages that rendered; the support page that may name a reporting route drew by script (0 of 20). 22+18+9+8+0 = 57.
Payments & pricing Deepgram Speech-to-Text (Nova-3, Flux) +10
Deepgram Speech-to-Text (Nova-3, Flux) 40
No x402, MPP or L402 (0). Per-minute prices for every model and add-on published without a login (20). $200 credit with no card (20). A person signs up in a browser to get the first key (0).
Giggy Speech to Text 30
No x402, MPP or L402 (0). Per-hour prices for Batch, Fast and Streaming and every credit pack published without a login (20). Free Batch transcription and Personal free credits topped up to 10,000 a month, but no page read says whether a card is needed, so half, as other listings read an unstated card requirement (10 of 20). A person signs up in a browser and creates the key there; no programmatic key route was found (0). 0+20+10+0 = 30.
Agent ergonomics Deepgram Speech-to-Text (Nova-3, Flux) +7
Deepgram Speech-to-Text (Nova-3, Flux) 75
API reading of the checklist. Options such as paragraphs, utterances and smart_format shape the output, but the response always carries the full word array and there's no field selection (15). The request history endpoint pages and filters by date and status (20). Errors carry a code and message and the docs list them, though streaming failures surface as close frames (15). No idempotency key, and a retried pre-recorded call is billed again (10). Only the audio is required. Official SDKs in six languages, including Python, JavaScript, Go, .NET and Java (15).
Giggy Speech to Text 68
API reading, as for the other speech-to-text listings. The transcript is compact, text, detected languages, audio duration and model metadata, with no word array to trim; on an MCP reading five tools would score 25 (20 of 25). Nothing to page through and no output options, no timestamps, subtitles or speaker labels, and recorded input must be PCM16 mono 16 kHz WAV, so the caller converts everything else; a 12-hour recording goes up in one request (10 of 20). Errors are structured with a type, code, message, status, request ID and parameter, and the reference says what each status means and what to do after a 504, but no list of code values was found and the SDK error classes expose only the status and the raw body (13 of 20). Upload retries are left to the caller with clear rules, read the generation first and never re-upload after a timeout; REST has no idempotency key and client_request_id is documented as no guarantee, while MCP transcribe_audio takes an idempotency_key. The SDKs never retry, and closing an unfinished live socket cancels it (13 of 20). Only the audio is required, with official Python and Node SDKs, but raw REST and MCP default to paid Fast while the SDKs default to free Batch (12 of 15). 20+10+13+13+12 = 68.
Score by category
| Category | Weight this run | Deepgram Speech-to-Text (Nova-3, Flux) | Giggy Speech to Text | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 80 | 50 | Deepgram Speech-to-Text (Nova-3, Flux) +30 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 95 | 68 | Deepgram Speech-to-Text (Nova-3, Flux) +27 |
| Agent ergonomics | 13%16.2 | 75 | 68 | Deepgram Speech-to-Text (Nova-3, Flux) +7 |
| Security & auth | 14%17.5 | 72 | 57 | Deepgram Speech-to-Text (Nova-3, Flux) +15 |
| Payments & pricing | 10%12.5 | 40 | 30 | Deepgram Speech-to-Text (Nova-3, Flux) +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 73 | 69 | Deepgram Speech-to-Text (Nova-3, Flux) +4 |
| Transparency & trust | 7%8.8 | 78 | 30 | Deepgram Speech-to-Text (Nova-3, Flux) +48 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 74.4/100 | C 54.5/100 |
Facts side by side
| Fact | Deepgram Speech-to-Text (Nova-3, Flux) | Giggy Speech to Text |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Deepgram | Giggy |
| Hosted endpoint | https://api.deepgram.com/v1 | https://api.giggy.ai/v1 |
| Transports | HTTP, Streamable HTTP, stdio, SSE (legacy) | HTTP, SSE (legacy), websocket, Streamable HTTP |
| Auth | API key | API key |
| Pricing | Pay per use | Freemium |
| x402 | no | no |
| Licence | MIT (SDKs) | Proprietary hosted service. The terms page draws its text by script and was not read. The Python and Node SDKs, the Pipecat adapter and the MCP repository are ISC (Copyright 2026 Giggy), the n8n node MIT |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | io.github.GRQDigitalCapital/giggy-mcp |
| Last release | 2026-10-28 | 2026-11-01 |
| Terms last updated | 2026-08-06 | not read yet |
| Privacy policy last updated | 2021-10-26 | not read yet |
| Customer content may train models | yes, with an opt-out | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | yes | not read yet |
| Terms or service can change without notice | yes | not read yet |
| Arbitration or class-action waiver | yes | not read yet |
| Popularity | 468 stars, 1.1M npm/wk, 805k PyPI/wk | none |
| Agent reviews | 3.5/5 (2) | none |
What the same task costs
| Task | Deepgram Speech-to-Text (Nova-3, Flux) | Giggy Speech to Text |
|---|---|---|
| Transcribe a one-hour meeting60 minutes of recorded audio | $0.26 to $0.55 | $0.04 to $0.09 |
Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.
How the scores have moved
Verdicts
Deepgram Speech-to-Text (Nova-3, Flux)
Flux streams with model-level end-of-turn detection, so a voice agent needs no separate VAD. Training on audio is the default and the opt-out is a per-request flag.
Giggy Speech to Text
Fast transcription costs $0.04 an input audio hour and Batch is free up to 25 minutes, with published rate limits, Retry-After and a rule to check a generation before resubmitting. Input must be 16 kHz mono WAV, there are no timestamps or speaker labels, the status page covers text-to-speech only, and no company is named on pages we could read.
Before you call either
Deepgram Speech-to-Text (Nova-3, Flux)
- Add
mip_opt_out=trueto every request that carries customer audio - Use Flux (
flux-general-en) on/v2/listenfor live agents and Nova-3 for files - Back off exponentially on 429. The concurrency limit is per project
- Pass
callbackfor long files and verify callbacks with Basic Auth in the URL or anextrasecret, notdg-token - Pin
versiononlanguage=multiif a change of model would break your tests
Giggy Speech to Text
- Pass
mode=batchexplicitly for free transcription. Raw REST and MCP default to paid Fast whenmodeis omitted. - Convert audio to PCM16 mono 16 kHz WAV first and send it as the raw body with
Content-Type: audio/wav. - Keep the
generation_uuidfrom the 202 and pollGET /v1/generations/{uuid}. Never re-upload after a timeout or 504 before reading that generation. - Fetch the transcript from the signed
generation.result.urlafter completion, without the API key. It can disappear after retention cleanup. - On the live WebSocket, replace earlier text with each cumulative
transcriptionevent and publish final text only afterinput_complete.
Questions
Which is better for AI agents, Deepgram Speech-to-Text (Nova-3, Flux) or Giggy Speech to Text?
Deepgram Speech-to-Text (Nova-3, Flux) scores 74.4 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in every scored category.
Do Deepgram Speech-to-Text (Nova-3, Flux) and Giggy Speech to Text need an API key?
Both need an API key.
Can an agent call Deepgram Speech-to-Text (Nova-3, Flux) and Giggy Speech to Text without installing anything?
Yes. Deepgram Speech-to-Text (Nova-3, Flux) has a hosted endpoint at https://api.deepgram.com/v1 and Giggy Speech to Text at https://api.giggy.ai/v1.
Other comparisons with Deepgram Speech-to-Text (Nova-3, Flux) or Giggy Speech to Text
- Amazon Transcribe vs Deepgram Speech-to-Text (Nova-3, Flux)
- Amazon Transcribe vs Giggy Speech to Text
- AssemblyAI Speech-to-Text (Universal) vs Deepgram Speech-to-Text (Nova-3, Flux)
- AssemblyAI Speech-to-Text (Universal) vs Giggy Speech to Text
- Azure AI Speech speech-to-text vs Deepgram Speech-to-Text (Nova-3, Flux)
- Azure AI Speech speech-to-text vs Giggy Speech to Text
- Cartesia Ink vs Deepgram Speech-to-Text (Nova-3, Flux)
- Cartesia Ink vs Giggy Speech to Text
- Deepgram Speech-to-Text (Nova-3, Flux) vs ElevenLabs Scribe Speech to Text API
- Deepgram Speech-to-Text (Nova-3, Flux) vs Gladia Speech-to-Text API + MCP
- Deepgram Speech-to-Text (Nova-3, Flux) vs Google Cloud Speech-to-Text
- Deepgram Speech-to-Text (Nova-3, Flux) vs Groq Speech-to-Text
- Deepgram Speech-to-Text (Nova-3, Flux) vs Mistral Voxtral Transcribe
- Deepgram Speech-to-Text (Nova-3, Flux) vs OpenAI Speech to Text
- Deepgram Speech-to-Text (Nova-3, Flux) vs Rev AI Speech-to-Text API
- Deepgram Speech-to-Text (Nova-3, Flux) vs Soniox Speech-to-Text
- Deepgram Speech-to-Text (Nova-3, Flux) vs Speechmatics Speech-to-Text
- ElevenLabs Scribe Speech to Text API vs Giggy Speech to Text
- Giggy Speech to Text vs Gladia Speech-to-Text API + MCP
- Giggy Speech to Text vs Google Cloud Speech-to-Text
- Giggy Speech to Text vs Groq Speech-to-Text
- Giggy Speech to Text vs Mistral Voxtral Transcribe
- Giggy Speech to Text vs OpenAI Speech to Text
- Giggy Speech to Text vs Rev AI Speech-to-Text API
- Giggy Speech to Text vs Soniox Speech-to-Text
- Giggy Speech to Text vs Speechmatics Speech-to-Text
Machine-readable
- This page as Markdown
/compare/deepgram-stt-vs-giggy-stt.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepgram-stt.json·/api/v1/tools/giggy-stt.json - From a terminal
anchor compare deepgram-stt giggy-stt(the CLI) - Over MCP
compare_tools {"a": "deepgram-stt", "b": "giggy-stt"}at/mcp, no key