Head to head · Speech-to-text · October 2026 research run

Giggy Speech to Text vs Inworld STT

Inworld STT and Giggy Speech to Text score within a point of each other on agent readiness, 54.7 (C) and 54.5 (C). Giggy Speech to Text leads on schema & documentation, agent ergonomics and maintenance & community. Both do speech-to-text.

Best speech-to-text APIs for AI agents · All 320 stt comparisons

Which one, for what

Giggy Speech to Text C

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.

Ahead on

  • Schema & documentation, 68 against 54
  • Agent ergonomics, 68 against 56
  • Maintenance & community, 69 against 41

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

Recorded input must be PCM16 mono 16 kHz WAV, so MP3, M4A, stereo or other sample rates need converting before upload

Inworld STT C

Best for Low-cost live transcription for voice agents, with speaker traits.

Ahead on

  • Reliability, 60 against 50
  • Security & auth, 63 against 57
  • Payments & pricing, 40 against 30
  • Transparency & trust, 60 against 30

Also in its favour

  • Free to start without a card

Watch for

No OpenAPI or other machine-readable contract

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 Inworld STT +30

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.

Inworld STT 60

Closed service with clear terms naming Theai, Inc. dba Inworld AI (15). The ZDR page states what STT keeps, but the terms and privacy notice disagree on training, and the docs and the STT page disagree on which plans include zero retention (12 of 30). No dated STT deprecation or change notices are public (8 of 20). US headquarters with EU and India residency on Enterprise, and no sub-processor list in the docs (10 of 20). Total 45.

Maintenance & community Giggy Speech to Text +28

Giggy Speech to Text 69

Read as a model, on the lines deepgram-stt and cartesia-ink-stt use (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). The Python and Node SDKs released 0.2.1 and the Pipecat adapter 0.3.3 on 1 November 2026, and the examples and MCP repositories changed on 3 November (30). Since 7 October the Node SDK has four tagged releases, the Python SDK six and the Pipecat adapter six, the STT ones from 12 October (10). No deprecation policy or dated notice. The legacy https://giggy.ai/v1 origin and older SDK transports are kept 'for existing integrations' with no end date (2 of 10). No service changelog; the support and contact pages drew by script, and GitHub issues is the support URL in the plugin manifest (5 of 15). GitHub issues and reply times could not be read, since the GitHub API was not available to this session (0 of 10). Official SDKs current, giggy and @giggy-ai/sdk at 0.2.1 on PyPI and npm (15). CI workflows in five repositories and publish workflows, the n8n node through npm OIDC with provenance, and two runtime dependencies in each SDK; run results not seen (7 of 10). 30+10+2+5+0+15+7 = 69.

Inworld STT 41

Read as a model. No public STT changelog. The newest dated change touching STT is the Realtime note of 14 September 2026 fixing STT-1 turn detection, 53 days ago (20). The CLI, which carries the STT command and MCP tool, shipped 1.4.0 to 1.5.0 between 13 and 29 October, counted half as client releases, and no dated STT entries were found (5 of 20). Discord and support@inworld.ai, with no evidence of answers read (6 of 15). No official STT SDK; the CLI is current (5 of 15). CLI on npm under MIT, current, CI not read (5 of 10). Total 41.

Schema & documentation Giggy Speech to Text +14

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.

Inworld STT 54

No OpenAPI or other machine-readable file. The usual spec paths redirect, and the reference pages are Markdown (0). llms.txt, Markdown twins and a docs MCP server (10). Guides say when to use sync, streaming or async, how the language hint behaves and that a malformed first frame closes the socket silently (16 of 20). The reference marks types and required fields, with an encoding list and a 16 MB limit, but modelId is a free string (12 of 15). Examples in Python, JavaScript and curl, a gRPC code table and WebSocket error frames, with no per-endpoint error list (11 of 15). Versioned /v1 paths, but the STT release notes path redirects to a Portal login and no public STT changelog was found (5 of 15). Total 54.

Agent ergonomics Giggy Speech to Text +12

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.

Inworld STT 56

API reading of the checklist. Voice Profile, word timestamps and diarisation are opt-in, and responses carry a usage block (18 of 25). No lists to page. Async jobs return an operation to poll (8 of 20). Errors carry a numeric gRPC code and message on both endpoints, but a malformed first message closes the socket with 1005 and no frame (12 of 20). Sync calls are stateless and async calls return an operation, with no idempotency key, and empty transcripts and add-ons are billed (10 of 20). A call needs a model, an encoding and the audio. No STT SDK was found, only the CLI and its MCP server and REST examples (8 of 15). Total 56.

Reliability Inworld STT +10

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.

Inworld STT 60

Hosted reading of the checklist. status.inworld.ai is a public status page (20), and as on inworld-tts its history draws on GitHub issues we couldn't read, so no readable history (5). Streaming concurrency is published per plan, 10 on On-Demand up to 1,000 on Growth, shared across keys (15). 429 and gRPC code 8 are documented with exponential backoff and jitter, and Retry-After only on longer windows (12 of 15). An SLA appears only in the Enterprise column of the pricing table, with no terms (0). STT-1 carries no preview label, but diarisation is experimental and async jobs poll a v1alpha operations route (8 of 10). 20 + 5 + 15 + 12 + 0 + 8 = 60.

Payments & pricing Inworld STT +10

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.

Inworld STT 40

No x402, MPP or L402 (0). Per-hour prices for every plan published without a login (20). On-Demand includes up to 400 minutes of STT and lists no payment method, while async jobs need one (20). A person signs up in the Portal or through inworld login in a browser before a key exists (0). Total 40.

Score by category

CategoryWeight this runGiggy Speech to TextInworld STTEdge
Reliability16%205060Inworld STT +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26854Giggy Speech to Text +14
Agent ergonomics13%16.26856Giggy Speech to Text +12
Security & auth14%17.55763Inworld STT +6
Payments & pricing10%12.53040Inworld STT +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86941Giggy Speech to Text +28
Transparency & trust7%8.83060Inworld STT +30
Negative events≤1500
TotalC 54.5/100C 54.7/100

Facts side by side

FactGiggy Speech to TextInworld STT
KindModel APIModel API
VendorGiggyInworld AI
Hosted endpointhttps://api.giggy.ai/v1no (local only)
TransportsHTTP, SSE (legacy), websocket, Streamable HTTPHTTP, websocket
AuthAPI keyAPI key
PricingFreemiumPay per use
Price for speech-to-textnot published$0.0017 per minute of audio
x402nono
LicenceProprietary 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 MITnone
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
MCP registryio.github.GRQDigitalCapital/giggy-mcpnot listed
Last release2026-11-012026-10-29
Terms last updatednot read yet2025-06-11
Privacy policy last updatednot read yet2026-01-18
Customer content may train modelsnot read yetnot found in the text
Terms restrict automated accessnot read yetnot found in the text
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetnot found in the text
Arbitration or class-action waivernot read yetnot found in the text

What the same task costs

TaskGiggy Speech to TextInworld STT
Transcribe a one-hour meeting60 minutes of recorded audio$0.04 to $0.09$0.10 to $0.15

Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.

Verdicts

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.

Inworld STT

Inworld STT costs $0.10 to $0.15 an hour with 400 free minutes, and covers files, live streams and async jobs in 30 languages with Voice Profile signals. There is no machine-readable spec, no public STT changelog and no readable status history, and diarisation is still experimental.

Before you call either

Giggy Speech to Text

  1. Pass mode=batch explicitly for free transcription. Raw REST and MCP default to paid Fast when mode is omitted.
  2. Convert audio to PCM16 mono 16 kHz WAV first and send it as the raw body with Content-Type: audio/wav.
  3. Keep the generation_uuid from the 202 and poll GET /v1/generations/{uuid}. Never re-upload after a timeout or 504 before reading that generation.
  4. Fetch the transcript from the signed generation.result.url after completion, without the API key. It can disappear after retention cleanup.
  5. On the live WebSocket, replace earlier text with each cumulative transcription event and publish final text only after input_complete.

Inworld STT

  1. Send the Base64 credential as-is in Authorization: Basic; don't encode it again
  2. Wrap the first WebSocket message in transcribeConfig, because a malformed first frame closes the socket with 1005 and no error
  3. Use POST /stt/v1/transcribe:async for files over about 16 MB and collect the transcript within 7 days
  4. Retry 429 or gRPC code 8 with exponential backoff and jitter, and stay within the plan's streaming concurrency
  5. Stop sending audio when nobody speaks, since streams are billed for every second sent

Questions

Which is better for AI agents, Giggy Speech to Text or Inworld STT?

Inworld STT and Giggy Speech to Text score within a point of each other on agent readiness, 54.7 (C) and 54.5 (C). Giggy Speech to Text leads on schema & documentation, agent ergonomics and maintenance & community.

Do Giggy Speech to Text and Inworld STT need an API key?

Both need an API key.

Can an agent call Giggy Speech to Text and Inworld STT without installing anything?

Giggy Speech to Text has a hosted endpoint at https://api.giggy.ai/v1. No hosted endpoint is listed for Inworld STT.

Other comparisons with Giggy Speech to Text or Inworld STT

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.