{
  "data": {
    "a": {
      "slug": "giggy-stt",
      "name": "Giggy Speech to Text",
      "vendor": "Giggy",
      "vendorUrl": "https://giggy.ai",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "Giggy's hosted speech-to-text API transcribes 16 kHz mono WAV recordings in free Batch, prepaid Fast and Streaming modes, and live audio over a WebSocket, with Python and Node SDKs and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/giggy-stt",
      "markdownUrl": "https://www.anchorterminal.com/tools/giggy-stt.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/giggy-stt.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/giggy-stt.json",
      "dns": "giggy-stt.grade.anchorterminal.com",
      "repo": "https://github.com/giggy-ai/giggy-js",
      "license": "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",
      "transports": [
        "http",
        "sse",
        "websocket",
        "streamable-http"
      ],
      "remoteUrl": "https://api.giggy.ai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "giggy"
        },
        {
          "registry": "npm",
          "name": "@giggy-ai/sdk"
        },
        {
          "registry": "pypi",
          "name": "pipecat-giggy"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key prefixed `giggy_sk_`, shown once when created or rotated, rejected immediately after revocation, up to ten active per Personal space or Workspace and tied for good to the space that created it. REST sends it in `xi-api-key`; the WebSocket upgrade and the MCP server take `Authorization: Bearer`. No key scopes or expiry were found, and no query-string option is documented (https://giggy.ai/docs/api-reference).",
      "pricing": "freemium",
      "pricingNotes": "Batch transcription is free, queued, for recordings of 0.5 seconds to 25 minutes. Fast costs 4,000 credits ($0.04) and Streaming 8,000 credits ($0.08) per input audio hour on Pro, Studio or Scale credits, rounded up to one credit per request. Credits come in one-time packs from $3 and expire a year after purchase. Personal accounts get free credits topped up to 10,000 a month. Whether a card is needed was not stated on any page read (https://giggy.ai/pricing).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the speech API docs, the API reference, llms.txt or llms-full.txt read on 2026-11-04. Credits are bought in prepaid packs; the payment method is not named on any page read.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-04"
      },
      "docsUrl": "https://giggy.ai/docs/speech-api",
      "llmsTxt": "https://giggy.ai/llms.txt",
      "openapi": "https://api.giggy.ai/v1/openapi.json",
      "registryName": "io.github.GRQDigitalCapital/giggy-mcp",
      "capabilities": [
        "speech.stt",
        "speech.batch",
        "speech.streaming",
        "speech.languages"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "closed-source",
        "streaming",
        "batch",
        "async-jobs",
        "free-tier",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "mcp",
        "websocket",
        "new"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.5,
        "grade": "C",
        "agentReady": false,
        "rank": 805,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 69,
          "payments": 30,
          "reliability": 50,
          "schema": 68,
          "security": 57,
          "transparency": 30
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Fast is $0.04 and Streaming $0.08 per input audio hour on Pro credits, and Batch is free for recordings of 0.5 seconds to 25 minutes",
          "Per-credential rate limits are published with numbers, 429 carries `Retry-After`, and `RateLimit-*` headers report what is left",
          "The docs say to read a generation by UUID after a timeout or 504 instead of uploading again, and the SDKs never retry paid requests",
          "llms.txt, llms-full.txt and SDK READMEs state what the API does not do, including no diarisation, timestamps or OpenAI-compatible STT",
          "Official Python and Node SDKs at 0.2.1, a Pipecat adapter with live STT and a remote MCP server, all released within the last four weeks"
        ],
        "weaknesses": [
          "Recorded input must be PCM16 mono 16 kHz WAV, so MP3, M4A, stereo or other sample rates need converting before upload",
          "No word timestamps, speaker labels, confidence scores or redaction, per the speech API docs",
          "The status page has one component, Text to speech, and no incident history, so speech-to-text availability isn't shown",
          "REST transcription has no idempotency key, and `client_request_id` is documented as not making a retried upload safe",
          "The terms, privacy policy, support and contact pages draw by script, and no company, address or security contact was found on any page read"
        ],
        "agentNotes": [
          "Pass `mode=batch` explicitly for free transcription. Raw REST and MCP default to paid Fast when `mode` is 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_uuid` from the 202 and poll `GET /v1/generations/{uuid}`. Never re-upload after a timeout or 504 before reading that generation.",
          "Fetch the transcript from the signed `generation.result.url` after completion, without the API key. It can disappear after retention cleanup.",
          "On the live WebSocket, replace earlier text with each cumulative `transcription` event and publish final text only after `input_complete`."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.5
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 69,
          "payments": 30,
          "reliability": 50,
          "schema": 68,
          "security": 57,
          "transparency": 23
        },
        "provenanceScore": 36,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "python -m pip install giggy==0.2.1   # or: npm install @giggy-ai/sdk",
        "http": "curl -X POST \"https://api.giggy.ai/v1/audio/transcriptions?mode=batch\u0026language=en\" \\\n  -H \"xi-api-key: $GIGGY_API_KEY\" -H \"Content-Type: audio/wav\" \\\n  --data-binary @recording.wav",
        "config": {
          "mcpServers": {
            "giggy-speech": {
              "headers": {
                "Authorization": "Bearer ${GIGGY_API_KEY}"
              },
              "type": "http",
              "url": "https://giggy.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/giggy-stt"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Fast, Pro, Studio or Scale credits",
          "unit": "audio-minute",
          "usd": 0.000667,
          "note": "published as $0.04 per input audio hour, rounded up to one credit per request"
        },
        {
          "item": "Streaming, Pro, Studio or Scale credits",
          "unit": "audio-minute",
          "usd": 0.001333,
          "note": "published as $0.08 per input audio hour"
        },
        {
          "item": "Fast, Starter pack",
          "unit": "audio-minute",
          "usd": 0.000765,
          "note": "$3 for 261,300 credits, $0.0459 an hour"
        },
        {
          "item": "Streaming, Starter pack",
          "unit": "audio-minute",
          "usd": 0.00153,
          "note": "$0.0918 an hour"
        },
        {
          "item": "Batch",
          "unit": "audio-minute",
          "usd": 0,
          "note": "free, queued, 0.5 seconds to 25 minutes a recording"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "giggy.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://giggy.ai/terms",
        "privacy": "https://giggy.ai/privacy",
        "statusPage": "https://giggy.ai/status",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "unchecked: the legal entity. /terms, /privacy, /acceptable-use, /contact, /docs/support and /docs/privacy-rights returned only their titles and metadata, because their text is drawn by script, and /terms.md answered a client error. The about, pricing, grants and docs pages that did render name only Giggy, with 'Made in California' on the about page. The repositories' licences say 'Copyright 2026 Giggy'.",
          "The status page tracks one component, Text to speech, with 14-day availability and completion figures refreshed every 30 minutes and no incident history. It has no speech-to-text component.",
          "No service changelog was found. The SDK and Pipecat repositories carry CHANGELOG.md files, dated in the Python SDK and the Pipecat adapter.",
          "https://giggy.ai/.well-known/security.txt answered a client error. None of the six public repositories has a SECURITY.md.",
          "robots.txt on giggy.ai allows / and disallows /api/, /ops/, /app/ and /blog/*.md for `*` and for the named AI agents, with no Content-Signal line. api.giggy.ai's robots.txt could not be read (the fetch needed an approval that wasn't given), so nothing on that host was fetched, the OpenAPI file included.",
          "unchecked: RDAP for giggy.ai (refused for want of an approval on 4 November 2026)."
        ],
        "score": 36
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/giggy-stt.json",
      "live": {
        "slug": "giggy-stt",
        "probe": {
          "target": "https://api.giggy.ai/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:46:47.290932988Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 524,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 286,
          "p95ms24h": 654,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://giggy.ai/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:31:56.257084594Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "giggy-ai/giggy-js",
            "version": "v0.1.0",
            "released": "2026-10-07",
            "seenAt": "2026-11-04T20:18:19.850001725Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.GRQDigitalCapital/giggy-mcp",
            "version": "1.0.2",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "npm",
            "name": "@giggy-ai/sdk",
            "version": "0.2.1",
            "seenAt": "2026-11-04T20:18:17.973963585Z"
          },
          {
            "registry": "pypi",
            "name": "giggy",
            "version": "0.2.1",
            "released": "2026-11-01",
            "seenAt": "2026-11-04T20:18:17.733675794Z"
          },
          {
            "registry": "pypi",
            "name": "pipecat-giggy",
            "version": "0.3.3",
            "released": "2026-11-01",
            "seenAt": "2026-11-04T20:18:18.946085778Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 209,
        "pypiWeekly": 32,
        "securityTxt": {
          "url": "https://giggy.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:29.107165985Z"
        },
        "updatedAt": "2026-11-04T20:46:47.290932988Z"
      }
    },
    "answer": "OpenAI Speech to Text scores 75 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "openai-speech-to-text",
      "name": "OpenAI Speech to Text",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "OpenAI's speech-to-text API. It transcribes uploaded audio files through `/v1/audio/transcriptions`, translates recordings into English through `/v1/audio/translations`, and transcribes live audio in Realtime transcription sessions over WebSocket or WebRTC.",
      "url": "https://www.anchorterminal.com/tools/openai-speech-to-text",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-speech-to-text.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-speech-to-text.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-speech-to-text.json",
      "dns": "openai-speech-to-text.grade.anchorterminal.com",
      "repo": "https://github.com/openai/openai-python",
      "license": "Proprietary hosted service. The service terms were not read (see open questions). The Python SDK is Apache-2.0 and the OpenAPI document is MIT",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://api.openai.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key created by a person in the platform console (https://platform.openai.com/settings/organization/api-keys). Projects can carry a model allowlist or denylist and an IP allowlist, and Admin API keys are a separate credential that cannot call the audio endpoints (https://developers.openai.com/api/docs/guides/admin-apis).",
      "pricing": "usage",
      "pricingNotes": "$0.0045 an audio minute for `gpt-transcribe` and $0.017 for `gpt-live-transcribe`, billed from prepaid credits (https://developers.openai.com/api/docs/pricing). The rate limits guide names a Free tier with a $100 monthly usage limit, and the `gpt-transcribe` model page lists limits only from the Build tier, which needs $5 of credit purchases. Whether a new account can transcribe without paying was not established.",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the transcription guides, the endpoint reference, the pricing page or the OpenAPI document (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 31785,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.openai.com/api/docs/guides/speech-to-text",
      "llmsTxt": "https://developers.openai.com/llms.txt",
      "openapi": "https://github.com/openai/openai-openapi/blob/main/openapi.yaml",
      "capabilities": [
        "speech.stt",
        "speech.streaming",
        "speech.batch",
        "speech.diarisation",
        "speech.languages"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "streaming",
        "diarisation",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "go",
        "java"
      ],
      "lastRelease": "2026-08-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75,
        "grade": "BB",
        "agentReady": true,
        "rank": 64,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 71,
          "payments": 30,
          "reliability": 65,
          "schema": 89,
          "security": 97,
          "transparency": 90
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "`gpt-transcribe` costs $0.0045 an audio minute, and the audio endpoints keep no abuse-monitoring logs or application state. Speaker labels, word timestamps and subtitles exist only on `whisper-1` and `gpt-4o-transcribe-diarize`, which shut down on 26 February 2027 with no replacement named for those functions.",
        "bestFor": "Suited to plain transcription of recorded files at a low price a minute and to teams already holding an OpenAI key.",
        "strengths": [
          "`gpt-transcribe` is priced at $0.0045 an audio minute on a public page, with per-tier request limits of 5,000, 10,000 and 30,000 a minute",
          "The data controls page lists `/v1/audio/transcriptions` and `/v1/audio/translations` with no training, no abuse-monitoring retention and no stored application state",
          "A public OpenAPI 3.1 document, llms.txt and a Markdown twin of every docs page cover the audio endpoints",
          "Transcription usage can be pulled per API key from the organisation usage API",
          "Guide examples cover JavaScript, Python, Go, Java, C#, Ruby, a CLI and curl, and `file` and `model` are the only required fields"
        ],
        "weaknesses": [
          "`whisper-1`, `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-transcribe-diarize` and `/v1/audio/translations` shut down on 26 February 2027",
          "The two named replacement models return no speaker labels, word timestamps or `srt` and `vtt` output in the reviewed documentation",
          "Audio was degraded for an hour on 17 September and for 5 hours 21 minutes on 29 September 2026 in API-wide incidents",
          "Uploads stop at 25 MB, the caller splits longer recordings, and the `gpt-transcribe` model page marks the Batch API as not supported",
          "The endpoint reference's first example still names the deprecated `gpt-4o-transcribe`"
        ],
        "agentNotes": [
          "Send `gpt-transcribe` to `POST /v1/audio/transcriptions` for recorded files. Use `languages` (a list), not `language`, and never send both.",
          "Keep each upload at 25 MB or less. Split longer audio between sentences and pass the previous chunk's text in `prompt`.",
          "For speaker labels send `gpt-4o-transcribe-diarize` with `response_format=diarized_json` and `chunking_strategy=auto` for audio over 30 seconds. Plan for its shutdown on 26 February 2027.",
          "Word timestamps, `srt` and `vtt` need `whisper-1`, which cannot stream and shuts down on 26 February 2027. Move English translation to `v1/realtime/translations` before then.",
          "On 429 or 503 wait at least `Retry-After` when present, then back off with jitter. Do not retry `credit_balance_exhausted` or spend-limit errors."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 71,
          "payments": 30,
          "reliability": 65,
          "schema": 89,
          "security": 97,
          "transparency": 85
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install openai",
        "http": "curl --request POST \\\n  --url https://api.openai.com/v1/audio/transcriptions \\\n  --header \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  --header 'Content-Type: multipart/form-data' \\\n  --form file=@/path/to/file/audio.mp3 \\\n  --form model=gpt-transcribe"
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/openai-speech-to-text"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "gpt-live",
        "openai-realtime",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "gpt-transcribe",
          "unit": "audio-minute",
          "usd": 0.0045
        },
        {
          "item": "gpt-live-transcribe (live audio)",
          "unit": "audio-minute",
          "usd": 0.017
        },
        {
          "item": "whisper-1 (deprecated)",
          "unit": "audio-minute",
          "usd": 0.006
        },
        {
          "item": "gpt-4o-transcribe-diarize (deprecated, estimated from token prices)",
          "unit": "audio-minute",
          "usd": 0.006
        }
      ],
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "openai.com was registered in 2007, before OpenAI existed.",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-01",
        "notes": [
          "Same entity, terms and privacy policy as the OpenAI API listing. The legal entity and the two policy URLs stand per that listing's check of 26 September. openai.com answered the services agreement with HTTP 403 on 1 November 2026.",
          "RDAP gives openai.com a registration date of 2007-01-19, per the OpenAI API listing.",
          "openai.com/.well-known/security.txt, re-read on 1 November 2026, is PGP-signed with Bugcrowd and email contacts and a disclosure policy, and has no Expires field.",
          "status.openai.com lists Audio and Realtime components under the API group."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-speech-to-text.json",
      "live": {
        "slug": "openai-speech-to-text",
        "probe": {
          "target": "https://api.openai.com/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:47:04.990036687Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 170,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 151,
          "p95ms24h": 201,
          "samples24h": 246,
          "samples30d": 6560,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 214,
              "ok": 214
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:43.705358317Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-python",
            "version": "v3.45.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-04T20:42:27.113901152Z"
          },
          {
            "registry": "pypi",
            "name": "openai",
            "version": "3.45.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-04T20:42:26.792422926Z"
          }
        ],
        "githubStars": 32043,
        "pypiWeekly": 85437895,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-04T15:53:58.568403509Z"
        },
        "llmsTxt": {
          "url": "https://developers.openai.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:23:54.364863447Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-11-01T14:19:18.345389832Z"
        },
        "github": {
          "repo": "openai/openai-python",
          "checkedAt": "2026-11-02T09:13:10.459648475Z",
          "stars": 32015,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T03:47:02Z",
          "openIssues": 40,
          "openPRs": 54,
          "issuesOpened90d": 42,
          "issuesClosed90d": 220,
          "prsMerged90d": 437,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T03:19:31Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 9,
            "medianDays": 3.6
          }
        },
        "updatedAt": "2026-11-04T20:47:04.990036687Z"
      }
    },
    "edges": [
      {
        "by": 60,
        "category": "transparency",
        "leads": "openai-speech-to-text",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "The hosted models are closed with clear terms, the Python SDK Apache-2.0 and the OpenAPI document MIT, per the OpenAI API listing's check of the services agreement. openai.com answered the services agreement with 403 again on 1 November (15, was 12). The data controls page, re-read on 1 November, lists both audio endpoints with no training, no abuse-monitoring retention, no application state and Zero Data Retention eligibility. The DPA, effective 1 January 2026, commits to return or deletion of customer data on termination, 30 days to object to a new subprocessor, and SCCs with the UK Addendum, and nothing in it conflicts with the guide, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (30 of 30, was 28). A deprecations page with notice periods by model class, dated shutdowns and replacements, including `/v1/audio/translations` to `v1/realtime/translations` (20). Data residency is documented by region and endpoint, with the audio endpoints in every listed region for storage and in the United States and Europe for processing. The subprocessor list, updated 9 July 2026, names third-party subprocessors and OpenAI affiliates with processing countries for each and a form for notice of new ones, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (20 of 20, was 16). 15 + 30 + 20 + 20 = 85."
        },
        "scores": {
          "a": 30,
          "b": 90
        }
      },
      {
        "by": 40,
        "category": "security",
        "leads": "openai-speech-to-text",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Model reading, on the lines the OpenAI API and Decisions API listings use. Project keys with permissions per key, service-account keys through the Administration API and workload identity federation, per the Decisions API listing's read of 8 October. The access-control guide, re-read on 1 November, puts audio under one Model capabilities permission with chat completions, embeddings and images, so a restricted key can't be limited to the audio endpoints alone (27 of 30, as the Decisions API listing, was 26). The data controls page says API data isn't used for training unless the customer opts in (20). Both audio endpoints are listed with no abuse-monitoring retention, no application state and Zero Data Retention eligibility, re-read on 1 November (15). The Admin API has an audit log endpoint, and the OpenAPI document has `GET /organization/usage/audio_transcriptions` grouped by project, API key or model, the per-key usage view both other OpenAI listings got 15 for (15, was 13). security.txt, re-read on 1 November, is PGP-signed, names a Bugcrowd programme and a coordinated disclosure policy and has no Expires field. trust.openai.com, read on 1 November, names SOC 2 Type 2 and ISO/IEC 27001, 27017, 27018 and 27701 (20, was 12 when no trust centre was read, the award both other OpenAI listings carry). 27 + 20 + 15 + 15 + 20 = 97."
        },
        "scores": {
          "a": 57,
          "b": 97
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "openai-speech-to-text",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "Model reading. The public OpenAPI 3.1 document in openai/openai-openapi (version 2.3.0, last committed 31 October) covers `/audio/transcriptions` and `/audio/translations` and names `gpt-transcribe` (25). llms.txt and a Markdown twin of every docs page (10). The transcription overview says which model to use for files, live audio, speaker labels, timestamps and translation, and the file guide now opens by recommending `gpt-transcribe` and saying the specialised examples use deprecated models (18 of 20). `response_format`, `timestamp_granularities` and `model` are enums in the document. `language` is a plain string, and which formats each model accepts is stated in prose only (12 of 15). Examples in seven languages and curl, and an error codes page with a cause and fix for each. The Markdown twin of the endpoint reference now lists the body parameters, including `languages` and `keywords` for `gpt-transcribe`, but its first example still names the deprecated `gpt-4o-transcribe`, and the guide lists seven input formats where the document lists nine (12 of 15, was 11). A dated changelog and deprecations page. `gpt-transcribe` has one alias and no dated snapshot to pin (12 of 15). 25 + 10 + 18 + 12 + 12 + 12 = 89."
        },
        "scores": {
          "a": 68,
          "b": 89
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "openai-speech-to-text",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Hosted reading. status.openai.com (incident.io) lists Audio and Realtime as components of the API group (20). The feed, read on 1 November, names the Audio component in three incidents in the 90 days from 3 August, and their incident pages give the Audio impact. 17 September, \"elevated error rates across API models\", Audio degraded from 20:20 to 21:20 UTC with ten other API components, an hour. 29 September (last updated 6 October in the feed, which the 9 October check dated 6 October), errors across ChatGPT, Codex and the API, Audio degraded from 17:52 to 23:14 UTC, 5 hours 21 minutes. 21 October, degraded performance across 33 components, Audio from 02:26 to 02:48 UTC, 22 minutes and minor. The first two are API-wide and an hour or more, so two majors, and two majors give 5 of 30, as the OpenAI API, OpenAI Moderation and OpenAI Image API listings read the same two incidents (5, was 20 when the durations were unread). The July incidents are outside the window. The `gpt-transcribe` model page, re-read on 1 November, gives 5,000 requests a minute on Build, 10,000 on Launch and 30,000 on Grow (15). The rate limits guide, re-read on 1 November, documents `Retry-After` on 429 and 503, the `slow_down` and `server_is_overloaded` codes and backoff with jitter, and transcription is a stateless call (15). No SLA covering the audio endpoints was found, read as for the OpenAI Decisions API listing; the Scale Tier pages are on openai.com and weren't requested (0). `gpt-transcribe` carries no preview label (10). 20 + 5 + 15 + 15 + 0 + 10 = 65."
        },
        "scores": {
          "a": 50,
          "b": 65
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "openai-speech-to-text",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "API reading, as for the other speech-to-text listings. The default `json` response is the text, detected languages and usage, `text` returns a bare string, and segments, words and speaker labels come only when asked for on the models that have them (20 of 25). There is no transcript store to page through. Files stop at 25 MB, the caller splits longer audio, and the `gpt-transcribe` model page marks the Batch API as not supported (10 of 20). Errors carry `message`, `type`, `param` and `code`, and the error codes page gives a fix for each status (18 of 20). The call is stateless and safe to retry, and the Python SDK retries 408, 409, 429 and 5xx twice by default. No idempotency key applies to this endpoint (15 of 20). `file` and `model` are the only required fields, with guide examples for JavaScript, Python, Go, Java, C# and Ruby SDKs and a CLI (15)."
        },
        "scores": {
          "a": 68,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Giggy",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "https://api.giggy.ai/v1",
        "b": "https://api.openai.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, SSE (legacy), websocket, Streamable HTTP",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "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",
        "b": "Proprietary hosted service. The service terms were not read (see open questions). The Python SDK is Apache-2.0 and the OpenAPI document is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.GRQDigitalCapital/giggy-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-01",
        "b": "2026-08-26",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "32k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Speech to Text scores 75 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Giggy Speech to Text or OpenAI Speech to Text?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Giggy Speech to Text and OpenAI Speech to Text need an API key?"
      },
      {
        "answer": "Yes. Giggy Speech to Text has a hosted endpoint at https://api.giggy.ai/v1 and OpenAI Speech to Text at https://api.openai.com/v1.",
        "question": "Can an agent call Giggy Speech to Text and OpenAI Speech to Text without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "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.",
        "slug": "giggy-stt",
        "watchFor": "Recorded input must be PCM16 mono 16 kHz WAV, so MP3, M4A, stereo or other sample rates need converting before upload"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 50",
          "Schema \u0026 documentation, 89 against 68",
          "Agent ergonomics, 78 against 68",
          "Security \u0026 auth, 97 against 57",
          "Transparency \u0026 trust, 90 against 30"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Suited to plain transcription of recorded files at a low price a minute and to teams already holding an OpenAI key.",
        "slug": "openai-speech-to-text",
        "watchFor": "`whisper-1`, `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-transcribe-diarize` and `/v1/audio/translations` shut down on 26 February 2027"
      }
    ],
    "history": {
      "giggy-stt": null,
      "openai-speech-to-text": [
        {
          "causes": [
            "product",
            "evidence",
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 2.4,
          "from": 72.6,
          "fromGrade": "BB",
          "to": 75,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 72.4,
          "fromGrade": "BB",
          "to": 72.6,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "speech.stt",
      "name": "Speech-to-text"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-giggy-stt.json",
        "title": "Amazon Transcribe vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-openai-speech-to-text.json",
        "title": "Amazon Transcribe vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-giggy-stt.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-openai-speech-to-text.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-giggy-stt.json",
        "title": "Azure AI Speech speech-to-text vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-openai-speech-to-text.json",
        "title": "Azure AI Speech speech-to-text vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-giggy-stt.json",
        "title": "Cartesia Ink vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-openai-speech-to-text.json",
        "title": "Cartesia Ink vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-stt-vs-giggy-stt.json",
        "title": "Deepgram Speech-to-Text (Nova-3, Flux) vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/deepgram-stt-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-stt-vs-openai-speech-to-text.json",
        "title": "Deepgram Speech-to-Text (Nova-3, Flux) vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/deepgram-stt-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-giggy-stt.json",
        "title": "ElevenLabs Scribe Speech to Text API vs Giggy Speech to Text",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-giggy-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-openai-speech-to-text.json",
        "title": "ElevenLabs Scribe Speech to Text API vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-gladia-stt.json",
        "title": "Giggy Speech to Text vs Gladia Speech-to-Text API + MCP",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-gladia-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-google-speech-to-text.json",
        "title": "Giggy Speech to Text vs Google Cloud Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-google-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-groq-speech-to-text.json",
        "title": "Giggy Speech to Text vs Groq Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-groq-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-mistral-voxtral-transcribe.json",
        "title": "Giggy Speech to Text vs Mistral Voxtral Transcribe",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-mistral-voxtral-transcribe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-rev-ai-stt.json",
        "title": "Giggy Speech to Text vs Rev AI Speech-to-Text API",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-rev-ai-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-soniox-stt.json",
        "title": "Giggy Speech to Text vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-speechmatics-stt.json",
        "title": "Giggy Speech to Text vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-speechmatics-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gladia-stt-vs-openai-speech-to-text.json",
        "title": "Gladia Speech-to-Text API + MCP vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/gladia-stt-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-openai-speech-to-text.json",
        "title": "Google Cloud Speech-to-Text vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-openai-speech-to-text.json",
        "title": "Groq Speech-to-Text vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-openai-speech-to-text.json",
        "title": "Mistral Voxtral Transcribe vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-rev-ai-stt.json",
        "title": "OpenAI Speech to Text vs Rev AI Speech-to-Text API",
        "url": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-rev-ai-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-soniox-stt.json",
        "title": "OpenAI Speech to Text vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-speechmatics-stt.json",
        "title": "OpenAI Speech to Text vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-speechmatics-stt"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 15,
        "edge": "openai-speech-to-text",
        "giggy-stt": 50,
        "key": "reliability",
        "name": "Reliability",
        "openai-speech-to-text": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "openai-speech-to-text",
        "giggy-stt": 68,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-speech-to-text": 89,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "openai-speech-to-text",
        "giggy-stt": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-speech-to-text": 78,
        "weight": 13
      },
      {
        "by": 40,
        "edge": "openai-speech-to-text",
        "giggy-stt": 57,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-speech-to-text": 97,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "giggy-stt": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-speech-to-text": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "openai-speech-to-text",
        "giggy-stt": 69,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-speech-to-text": 71,
        "weight": 7
      },
      {
        "by": 60,
        "edge": "openai-speech-to-text",
        "giggy-stt": 30,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-speech-to-text": 90,
        "weight": 7
      }
    ],
    "summary": "OpenAI Speech to Text scores 75 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in 6 of 7 scored categories. Both do speech-to-text.",
    "tasks": [
      {
        "a": "$0.04 to $0.09",
        "b": "$0.27 to $1.02",
        "cheaper": "giggy-stt",
        "task": "Transcribe a one-hour meeting",
        "what": "60 minutes of recorded audio"
      }
    ],
    "tutorials": [],
    "verdicts": {
      "giggy-stt": "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.",
      "openai-speech-to-text": "`gpt-transcribe` costs $0.0045 an audio minute, and the audio endpoints keep no abuse-monitoring logs or application state. Speaker labels, word timestamps and subtitles exist only on `whisper-1` and `gpt-4o-transcribe-diarize`, which shut down on 26 February 2027 with no replacement named for those functions."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text",
    "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text.min.md"
  },
  "markdown": "OpenAI Speech to Text scores 75 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in 6 of 7 scored categories. Both do speech-to-text.\n\n- Giggy Speech to Text: grade C, 54.5/100, rank #805 of 1349. Markdown https://www.anchorterminal.com/tools/giggy-stt.md · JSON https://www.anchorterminal.com/api/v1/tools/giggy-stt.json\n- OpenAI Speech to Text: grade BB, 75/100, rank #64 of 1349. Markdown https://www.anchorterminal.com/tools/openai-speech-to-text.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-speech-to-text.json\n- Best speech-to-text APIs for AI agents: https://www.anchorterminal.com/best/speech-to-text/index.md\n- All 253 stt comparisons: https://www.anchorterminal.com/compare/speech-to-text/index.md\n\n## Which one, for what\n\n### Giggy Speech to Text (C)\n\nGood 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.\n\nWatch for: Recorded input must be PCM16 mono 16 kHz WAV, so MP3, M4A, stereo or other sample rates need converting before upload\n\n### OpenAI Speech to Text (BB)\n\nGood for: Suited to plain transcription of recorded files at a low price a minute and to teams already holding an OpenAI key.\n\nAhead on:\n- Reliability, 65 against 50\n- Schema \u0026 documentation, 89 against 68\n- Agent ergonomics, 78 against 68\n- Security \u0026 auth, 97 against 57\n- Transparency \u0026 trust, 90 against 30\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: `whisper-1`, `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-transcribe-diarize` and `/v1/audio/translations` shut down on 26 February 2027\n\n\n## Why the edge\n\n### Transparency \u0026 trust: OpenAI Speech to Text +60\n\n- 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.\n- OpenAI Speech to Text (90): The hosted models are closed with clear terms, the Python SDK Apache-2.0 and the OpenAPI document MIT, per the OpenAI API listing's check of the services agreement. openai.com answered the services agreement with 403 again on 1 November (15, was 12). The data controls page, re-read on 1 November, lists both audio endpoints with no training, no abuse-monitoring retention, no application state and Zero Data Retention eligibility. The DPA, effective 1 January 2026, commits to return or deletion of customer data on termination, 30 days to object to a new subprocessor, and SCCs with the UK Addendum, and nothing in it conflicts with the guide, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (30 of 30, was 28). A deprecations page with notice periods by model class, dated shutdowns and replacements, including `/v1/audio/translations` to `v1/realtime/translations` (20). Data residency is documented by region and endpoint, with the audio endpoints in every listed region for storage and in the United States and Europe for processing. The subprocessor list, updated 9 July 2026, names third-party subprocessors and OpenAI affiliates with processing countries for each and a form for notice of new ones, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (20 of 20, was 16). 15 + 30 + 20 + 20 = 85.\n\n### Security \u0026 auth: OpenAI Speech to Text +40\n\n- 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.\n- OpenAI Speech to Text (97): Model reading, on the lines the OpenAI API and Decisions API listings use. Project keys with permissions per key, service-account keys through the Administration API and workload identity federation, per the Decisions API listing's read of 8 October. The access-control guide, re-read on 1 November, puts audio under one Model capabilities permission with chat completions, embeddings and images, so a restricted key can't be limited to the audio endpoints alone (27 of 30, as the Decisions API listing, was 26). The data controls page says API data isn't used for training unless the customer opts in (20). Both audio endpoints are listed with no abuse-monitoring retention, no application state and Zero Data Retention eligibility, re-read on 1 November (15). The Admin API has an audit log endpoint, and the OpenAPI document has `GET /organization/usage/audio_transcriptions` grouped by project, API key or model, the per-key usage view both other OpenAI listings got 15 for (15, was 13). security.txt, re-read on 1 November, is PGP-signed, names a Bugcrowd programme and a coordinated disclosure policy and has no Expires field. trust.openai.com, read on 1 November, names SOC 2 Type 2 and ISO/IEC 27001, 27017, 27018 and 27701 (20, was 12 when no trust centre was read, the award both other OpenAI listings carry). 27 + 20 + 15 + 15 + 20 = 97.\n\n### Schema \u0026 documentation: OpenAI Speech to Text +21\n\n- 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.\n- OpenAI Speech to Text (89): Model reading. The public OpenAPI 3.1 document in openai/openai-openapi (version 2.3.0, last committed 31 October) covers `/audio/transcriptions` and `/audio/translations` and names `gpt-transcribe` (25). llms.txt and a Markdown twin of every docs page (10). The transcription overview says which model to use for files, live audio, speaker labels, timestamps and translation, and the file guide now opens by recommending `gpt-transcribe` and saying the specialised examples use deprecated models (18 of 20). `response_format`, `timestamp_granularities` and `model` are enums in the document. `language` is a plain string, and which formats each model accepts is stated in prose only (12 of 15). Examples in seven languages and curl, and an error codes page with a cause and fix for each. The Markdown twin of the endpoint reference now lists the body parameters, including `languages` and `keywords` for `gpt-transcribe`, but its first example still names the deprecated `gpt-4o-transcribe`, and the guide lists seven input formats where the document lists nine (12 of 15, was 11). A dated changelog and deprecations page. `gpt-transcribe` has one alias and no dated snapshot to pin (12 of 15). 25 + 10 + 18 + 12 + 12 + 12 = 89.\n\n### Reliability: OpenAI Speech to Text +15\n\n- 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.\n- OpenAI Speech to Text (65): Hosted reading. status.openai.com (incident.io) lists Audio and Realtime as components of the API group (20). The feed, read on 1 November, names the Audio component in three incidents in the 90 days from 3 August, and their incident pages give the Audio impact. 17 September, \"elevated error rates across API models\", Audio degraded from 20:20 to 21:20 UTC with ten other API components, an hour. 29 September (last updated 6 October in the feed, which the 9 October check dated 6 October), errors across ChatGPT, Codex and the API, Audio degraded from 17:52 to 23:14 UTC, 5 hours 21 minutes. 21 October, degraded performance across 33 components, Audio from 02:26 to 02:48 UTC, 22 minutes and minor. The first two are API-wide and an hour or more, so two majors, and two majors give 5 of 30, as the OpenAI API, OpenAI Moderation and OpenAI Image API listings read the same two incidents (5, was 20 when the durations were unread). The July incidents are outside the window. The `gpt-transcribe` model page, re-read on 1 November, gives 5,000 requests a minute on Build, 10,000 on Launch and 30,000 on Grow (15). The rate limits guide, re-read on 1 November, documents `Retry-After` on 429 and 503, the `slow_down` and `server_is_overloaded` codes and backoff with jitter, and transcription is a stateless call (15). No SLA covering the audio endpoints was found, read as for the OpenAI Decisions API listing; the Scale Tier pages are on openai.com and weren't requested (0). `gpt-transcribe` carries no preview label (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.\n\n### Agent ergonomics: OpenAI Speech to Text +10\n\n- 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.\n- OpenAI Speech to Text (78): API reading, as for the other speech-to-text listings. The default `json` response is the text, detected languages and usage, `text` returns a bare string, and segments, words and speaker labels come only when asked for on the models that have them (20 of 25). There is no transcript store to page through. Files stop at 25 MB, the caller splits longer audio, and the `gpt-transcribe` model page marks the Batch API as not supported (10 of 20). Errors carry `message`, `type`, `param` and `code`, and the error codes page gives a fix for each status (18 of 20). The call is stateless and safe to retry, and the Python SDK retries 408, 409, 429 and 5xx twice by default. No idempotency key applies to this endpoint (15 of 20). `file` and `model` are the only required fields, with guide examples for JavaScript, Python, Go, Java, C# and Ruby SDKs and a CLI (15).\n\n## Score by category\n\n| Category | Weight | Giggy Speech to Text | OpenAI Speech to Text | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 65 | OpenAI Speech to Text +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 89 | OpenAI Speech to Text +21 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 78 | OpenAI Speech to Text +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 97 | OpenAI Speech to Text +40 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 71 | OpenAI Speech to Text +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 30 | 90 | OpenAI Speech to Text +60 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.5 · C** | **75 · BB** | |\n\n## Facts side by side\n\n| Fact | Giggy Speech to Text | OpenAI Speech to Text |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Giggy | OpenAI |\n| Hosted endpoint | `https://api.giggy.ai/v1` | `https://api.openai.com/v1` |\n| Transports | HTTP, SSE (legacy), websocket, Streamable HTTP | HTTP, websocket |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | 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 | Proprietary hosted service. The service terms were not read (see open questions). The Python SDK is Apache-2.0 and the OpenAPI document is MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.GRQDigitalCapital/giggy-mcp` | not listed |\n| Last release | 2026-11-01 | 2026-08-26 |\n| Terms last updated | not read yet | couldn't be read |\n| Privacy policy last updated | not read yet | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | none | 32k stars |\n| Agent reviews | none | 3.3/5 (4) |\n\n## What the same task costs\n\n| Task | Giggy Speech to Text | OpenAI Speech to Text |\n| --- | --- | --- |\n| Transcribe a one-hour meeting | $0.04 to $0.09 | $0.27 to $1.02 |\n\n## How the scores have moved\n\n### Giggy Speech to Text\n\nNo score change since it was listed.\n\n### OpenAI Speech to Text\n\n- +2.4 on 1 November 2026: product, new evidence, correction\n- +0.2 on 27 October 2026: checklist\n\n## Verdicts\n\n**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.\n\n**OpenAI Speech to Text.** `gpt-transcribe` costs $0.0045 an audio minute, and the audio endpoints keep no abuse-monitoring logs or application state. Speaker labels, word timestamps and subtitles exist only on `whisper-1` and `gpt-4o-transcribe-diarize`, which shut down on 26 February 2027 with no replacement named for those functions.\n\n## Before you call either\n\n### Giggy Speech to Text\n\n1. Pass `mode=batch` explicitly for free transcription. Raw REST and MCP default to paid Fast when `mode` is omitted.\n2. Convert audio to PCM16 mono 16 kHz WAV first and send it as the raw body with `Content-Type: audio/wav`.\n3. 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.\n4. Fetch the transcript from the signed `generation.result.url` after completion, without the API key. It can disappear after retention cleanup.\n5. On the live WebSocket, replace earlier text with each cumulative `transcription` event and publish final text only after `input_complete`.\n\n### OpenAI Speech to Text\n\n1. Send `gpt-transcribe` to `POST /v1/audio/transcriptions` for recorded files. Use `languages` (a list), not `language`, and never send both.\n2. Keep each upload at 25 MB or less. Split longer audio between sentences and pass the previous chunk's text in `prompt`.\n3. For speaker labels send `gpt-4o-transcribe-diarize` with `response_format=diarized_json` and `chunking_strategy=auto` for audio over 30 seconds. Plan for its shutdown on 26 February 2027.\n4. Word timestamps, `srt` and `vtt` need `whisper-1`, which cannot stream and shuts down on 26 February 2027. Move English translation to `v1/realtime/translations` before then.\n5. On 429 or 503 wait at least `Retry-After` when present, then back off with jitter. Do not retry `credit_balance_exhausted` or spend-limit errors.\n\n## Questions\n\n### Which is better for AI agents, Giggy Speech to Text or OpenAI Speech to Text?\n\nOpenAI Speech to Text scores 75 (BB) on agent readiness against Giggy Speech to Text's 54.5 (C), and leads in 6 of 7 scored categories.\n\n### Do Giggy Speech to Text and OpenAI Speech to Text need an API key?\n\nBoth need an API key.\n\n### Can an agent call Giggy Speech to Text and OpenAI Speech to Text without installing anything?\n\nYes. Giggy Speech to Text has a hosted endpoint at https://api.giggy.ai/v1 and OpenAI Speech to Text at https://api.openai.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text.json, and with the fewest tokens: https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"giggy-stt\", \"b\": \"openai-speech-to-text\"}`. From a terminal: `anchor compare giggy-stt openai-speech-to-text`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/giggy-stt.json and https://www.anchorterminal.com/api/v1/tools/openai-speech-to-text.json\n\n## Other comparisons with Giggy Speech to Text or OpenAI Speech to Text\n\n- [Amazon Transcribe vs Giggy Speech to Text](https://www.anchorterminal.com/compare/amazon-transcribe-vs-giggy-stt.md)\n- [Amazon Transcribe vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/amazon-transcribe-vs-openai-speech-to-text.md)\n- [AssemblyAI Speech-to-Text (Universal) vs Giggy Speech to Text](https://www.anchorterminal.com/compare/assemblyai-stt-vs-giggy-stt.md)\n- [AssemblyAI Speech-to-Text (Universal) vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/assemblyai-stt-vs-openai-speech-to-text.md)\n- [Azure AI Speech speech-to-text vs Giggy Speech to Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-giggy-stt.md)\n- [Azure AI Speech speech-to-text vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-openai-speech-to-text.md)\n- [Cartesia Ink vs Giggy Speech to Text](https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-giggy-stt.md)\n- [Cartesia Ink vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-openai-speech-to-text.md)\n- [Deepgram Speech-to-Text (Nova-3, Flux) vs Giggy Speech to Text](https://www.anchorterminal.com/compare/deepgram-stt-vs-giggy-stt.md)\n- [Deepgram Speech-to-Text (Nova-3, Flux) vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/deepgram-stt-vs-openai-speech-to-text.md)\n- [ElevenLabs Scribe Speech to Text API vs Giggy Speech to Text](https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-giggy-stt.md)\n- [ElevenLabs Scribe Speech to Text API vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-openai-speech-to-text.md)\n- [Giggy Speech to Text vs Gladia Speech-to-Text API + MCP](https://www.anchorterminal.com/compare/giggy-stt-vs-gladia-stt.md)\n- [Giggy Speech to Text vs Google Cloud Speech-to-Text](https://www.anchorterminal.com/compare/giggy-stt-vs-google-speech-to-text.md)\n- [Giggy Speech to Text vs Groq Speech-to-Text](https://www.anchorterminal.com/compare/giggy-stt-vs-groq-speech-to-text.md)\n- [Giggy Speech to Text vs Mistral Voxtral Transcribe](https://www.anchorterminal.com/compare/giggy-stt-vs-mistral-voxtral-transcribe.md)\n- [Giggy Speech to Text vs Rev AI Speech-to-Text API](https://www.anchorterminal.com/compare/giggy-stt-vs-rev-ai-stt.md)\n- [Giggy Speech to Text vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/giggy-stt-vs-soniox-stt.md)\n- [Giggy Speech to Text vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/giggy-stt-vs-speechmatics-stt.md)\n- [Gladia Speech-to-Text API + MCP vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/gladia-stt-vs-openai-speech-to-text.md)\n- [Google Cloud Speech-to-Text vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/google-speech-to-text-vs-openai-speech-to-text.md)\n- [Groq Speech-to-Text vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/groq-speech-to-text-vs-openai-speech-to-text.md)\n- [Mistral Voxtral Transcribe vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-openai-speech-to-text.md)\n- [OpenAI Speech to Text vs Rev AI Speech-to-Text API](https://www.anchorterminal.com/compare/openai-speech-to-text-vs-rev-ai-stt.md)\n- [OpenAI Speech to Text vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/openai-speech-to-text-vs-soniox-stt.md)\n- [OpenAI Speech to Text vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/openai-speech-to-text-vs-speechmatics-stt.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Giggy Speech to Text vs OpenAI Speech to Text",
        "url": ""
      }
    ],
    "description": "OpenAI Speech to Text scores 75 (BB) to Giggy Speech to Text's 54.5 (C) for speech-to-text. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Giggy Speech to Text C 54.5",
      "OpenAI Speech to Text BB 75",
      "scores"
    ],
    "h1": "Giggy Speech to Text vs OpenAI Speech to Text",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/giggy-stt-vs-openai-speech-to-text",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Giggy Speech to Text vs OpenAI Speech to Text for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-openai-speech-to-text"
  },
  "tokens": {
    "markdown": 6250,
    "slim": 4030
  },
  "version": 1
}
