{
  "data": {
    "a": {
      "slug": "azure-speech-to-text",
      "name": "Azure AI Speech speech-to-text",
      "vendor": "Microsoft",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/ai-services/speech-to-text",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "Azure's speech-to-text service for transcribing audio.",
      "url": "https://www.anchorterminal.com/tools/azure-speech-to-text",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-speech-to-text.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-speech-to-text.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-speech-to-text.json",
      "dns": "azure-speech-to-text.grade.anchorterminal.com",
      "repo": "https://github.com/Azure-Samples/cognitive-services-speech-sdk",
      "license": "MIT (samples), SDK under Microsoft's own licence",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://eastus.api.cognitive.microsoft.com/speechtotext",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-cognitiveservices-speech"
        },
        {
          "registry": "npm",
          "name": "microsoft-cognitiveservices-speech-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "`Ocp-Apim-Subscription-Key` header with a Speech resource key, or a Microsoft Entra ID bearer token (Microsoft's recommended keyless option). Endpoints are per region or per resource. The MAI-Transcribe-2-Streaming Realtime WebSocket also takes the key as an `api-key` header or query-string parameter.",
      "pricing": "freemium",
      "pricingNotes": "Free F0 tier with 5 audio hours a month of real-time. Pay as you go in East US is $1 an hour real-time, $0.36 fast transcription, $0.18 batch, $1.20 custom real-time. Diarisation and continuous language ID in real time add $0.30 an hour each. MAI-Transcribe-2 is $0.10 an hour until 2026-12-31. MAI-Transcribe-2-Streaming is $0.54 an hour until the end of 2026 per Microsoft AI's launch post (https://microsoft.ai/news/our-first-streaming-transcription-model/), with no Azure meter found on 2026-10-05, 2026-10-17 or 2026-11-01. Commitment tiers from $1,600 a month for 2,000 hours (https://azure.microsoft.com/en-us/pricing/details/speech/).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No machine payment. Billing runs through a cloud account with a card or invoice.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3450,
        "npmWeekly": 475621,
        "pypiWeekly": 1032532,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-to-text",
      "openapi": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cognitiveservices/data-plane/SpeechToText/stable/2025-10-15/speechtotext.json",
      "capabilities": [
        "speech.stt",
        "speech.streaming",
        "speech.batch",
        "speech.diarisation",
        "speech.languages",
        "speech.translation"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "enterprise",
        "streaming",
        "batch",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 71,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 90,
          "schema": 80,
          "security": 85,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Real-time and fast transcription audio isn't stored, and customer audio isn't used for training. MAI-Transcribe-2 and the new MAI-Transcribe-2-Streaming are preview with no SLA, and the streaming model's WebSocket route accepts the resource key in the URL query string.",
        "bestFor": "Teams on Azure who need several modes (real time, synchronous files, cheap batch, custom models) under one resource, or strict default data handling.",
        "strengths": [
          "Real-time and fast transcription audio isn't stored, and customer audio isn't used for training",
          "Fast transcription returns files up to 5 hours and 500 MB in one synchronous call",
          "Batch at $0.18 an hour, and a free F0 tier with 5 real-time hours a month",
          "429 guidance with a concrete backoff pattern of 1, 2, 4 and 4 minutes",
          "Keys or Entra ID tokens with role-based access"
        ],
        "weaknesses": [
          "MAI-Transcribe-2 and MAI-Transcribe-2-Streaming are preview with no SLA, and both introductory prices end with 2026",
          "The MAI-Transcribe-2-Streaming WebSocket docs allow the resource key as an `api-key` query parameter",
          "REST API v3.0 and the v3.2 previews were retired on 2026-03-31, and older samples still target them",
          "No llms.txt, and the pricing page needs JavaScript",
          "An Azure subscription needs a card, even for the F0 tier"
        ],
        "agentNotes": [
          "Use fast transcription (`transcriptions:transcribe`) for files under 5 hours and 500 MB, and batch for bulk jobs with `timeToLive` set",
          "Pin `api-version=2025-10-15`. v3.0 and the v3.2 previews are retired",
          "On a 429, back off 1, 2, 4 then 4 minutes. It usually means autoscaling, not a quota",
          "For MAI-Transcribe-2-Streaming, use Speech SDK 1.52 or later with the `/speech/universal/v2` endpoint, or send the key in the `api-key` header, never the query string",
          "Don't budget on MAI-Transcribe-2 at $0.10 or MAI-Transcribe-2-Streaming at $0.54 an hour after 2026-12-31"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "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.1
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 90,
          "schema": 80,
          "security": 85,
          "transparency": 80
        },
        "provenanceScore": 91,
        "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 azure-cognitiveservices-speech   # or: npm i microsoft-cognitiveservices-speech-sdk",
        "http": "curl -X POST \"https://$AZURE_SPEECH_RESOURCE.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15\" \\\n  -H \"Ocp-Apim-Subscription-Key: $AZURE_SPEECH_KEY\" \\\n  -F \"audio=@call.wav\" -F 'definition={\"locales\":[\"en-US\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/azure-speech-to-text"
      },
      "sameCompany": [
        "azure-openai",
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Real-time standard",
          "unit": "audio-minute",
          "usd": 0.0167,
          "note": "$1 an hour, East US"
        },
        {
          "item": "Fast transcription",
          "unit": "audio-minute",
          "usd": 0.006,
          "note": "$0.36 an hour"
        },
        {
          "item": "Batch standard",
          "unit": "audio-minute",
          "usd": 0.003,
          "note": "$0.18 an hour"
        },
        {
          "item": "MAI-Transcribe-2 (preview)",
          "unit": "audio-minute",
          "usd": 0.00167,
          "note": "$0.10 an hour, promotional until 2026-12-31"
        },
        {
          "item": "MAI-Transcribe-2-Streaming (preview)",
          "unit": "audio-minute",
          "usd": 0.009,
          "note": "$0.54 an hour, introductory until the end of 2026, per Microsoft AI's launch post. No Azure meter found on 2026-11-01"
        },
        {
          "item": "Custom real-time",
          "unit": "audio-minute",
          "usd": 0.02,
          "note": "$1.20 an hour, plus endpoint hosting"
        },
        {
          "item": "Real-time add-on (diarisation or language ID)",
          "unit": "audio-minute",
          "usd": 0.005,
          "note": "$0.30 an hour per feature"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Endpoints are on speech.microsoft.com, api.cognitive.microsoft.com and cognitiveservices.azure.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23 and was still expired on 2026-11-01.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/releasenotes",
        "securityTxt": "expired",
        "checked": "2026-11-01",
        "score": 91
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "unknown",
        "freeTier": true,
        "minutes": 10,
        "credential": "api-key",
        "hosting": [
          "global",
          "US",
          "EU",
          "UK"
        ],
        "euResidency": "yes",
        "trainsOnData": "unknown",
        "zeroRetention": "yes",
        "certifications": [
          "ISO 27001",
          "PCI DSS",
          "CSA STAR",
          "FedRAMP",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-speech-to-text.json",
      "live": {
        "slug": "azure-speech-to-text",
        "probe": {
          "target": "https://eastus.api.cognitive.microsoft.com/speechtotext",
          "method": "get",
          "lastAt": "2026-11-07T18:20:12.145545285Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 509,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 352,
          "p95ms24h": 449,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://azure.status.microsoft/en-us/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T10:02:53.355601307Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Azure-Samples/cognitive-services-speech-sdk",
            "version": "ingestion-v2.1.13",
            "released": "2026-07-10",
            "seenAt": "2026-11-06T23:09:34.001543505Z"
          },
          {
            "registry": "npm",
            "name": "microsoft-cognitiveservices-speech-sdk",
            "version": "1.53.0",
            "seenAt": "2026-11-06T23:09:33.76385883Z"
          },
          {
            "registry": "pypi",
            "name": "azure-cognitiveservices-speech",
            "version": "1.53.0",
            "released": "2026-10-21",
            "seenAt": "2026-11-06T23:09:33.575682302Z"
          }
        ],
        "githubStars": 3457,
        "npmWeekly": 666362,
        "pypiWeekly": 623310,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-11-01T14:14:19.336136409Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/releasenotes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:51.583411094Z",
            "changedAt": "2026-11-03T07:52:59.892662471Z",
            "fingerprint": "962a010ed30d"
          },
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/mai-transcribe",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:49.805750863Z",
            "changedAt": "2026-11-07T14:12:49.805750863Z",
            "fingerprint": "918183c3164f"
          },
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/rest-speech-to-text",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:53.894333324Z",
            "changedAt": "2026-10-20T00:00:55.457010036Z",
            "fingerprint": "be303dc8912d"
          },
          {
            "url": "https://azure.microsoft.com/en-us/pricing/details/speech/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T13:59:55.654839095Z",
            "changedAt": "2026-10-30T05:32:17.448922931Z",
            "fingerprint": "bb9c72ab8aae"
          },
          {
            "url": "https://privacy.microsoft.com/en-us/privacystatement",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-01T13:14:57.860748137Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "07484a06f35c"
          },
          {
            "url": "https://www.microsoft.com/licensing/terms/",
            "kind": "terms",
            "status": 502,
            "checkedAt": "2026-10-01T13:17:52.720054167Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "github": {
          "repo": "azure-samples/cognitive-services-speech-sdk",
          "checkedAt": "2026-11-02T08:33:46.314203025Z",
          "stars": 3457,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T08:28:26Z",
          "openIssues": 2,
          "openPRs": 44,
          "issuesOpened90d": 22,
          "issuesClosed90d": 24,
          "prsMerged90d": 12,
          "ci": {
            "branch": "master",
            "runs": 4,
            "success": 1,
            "failure": 3,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-10-23T22:25:20Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 1,
            "medianDays": 1
          }
        },
        "updatedAt": "2026-11-07T18:20:12.145545285Z"
      }
    },
    "answer": "Azure AI Speech speech-to-text scores 75.1 (BB) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Smallest.ai Pulse STT leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "smallest-pulse-stt",
      "name": "Smallest.ai Pulse STT",
      "vendor": "Smallest AI",
      "vendorUrl": "https://smallest.ai",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "Smallest AI's Pulse speech-to-text API transcribes pre-recorded files over HTTP and live audio over WebSocket, with three models (Pulse, Pulse 2.0 and Pulse Pro), diarisation, word timestamps, redaction and turn detection.",
      "url": "https://www.anchorterminal.com/tools/smallest-pulse-stt",
      "markdownUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json",
      "dns": "smallest-pulse-stt.grade.anchorterminal.com",
      "repo": "https://github.com/smallest-inc/smallest-python-sdk",
      "transports": [
        "http",
        "websocket"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "@developer-smallestai/smallest-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer `sk_` API key created in the dashboard after a browser signup, shared by every model and the Voice Agents API. Keys are shown once, revoked by deleting them and carry no scopes. Servers can mint `wat_` access tokens for browsers (30 to 900 seconds, inference routes only), which the STT socket takes as `?api_key=`.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from $0.003 a minute for Pulse batch, $0.004 for Pulse streaming and $0.005 for Pulse 2.0. Pulse Pro is listed at both $0.0035 and $0.004 a minute. $10 in trial credits. Enterprise pricing, SLA and zero data retention by quote.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI file or pricing page (checked 2026-11-06). Credits are bought with a card on file.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.smallest.ai/models/speech-to-text/overview",
      "llmsTxt": "https://docs.smallest.ai/llms.txt",
      "openapi": "https://docs.smallest.ai/openapi/models-api.json",
      "capabilities": [
        "speech.stt",
        "speech.streaming",
        "speech.batch",
        "speech.diarisation",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "usage",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "streaming",
        "batch",
        "webhooks",
        "mcp",
        "enterprise",
        "self-hosted"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65,
        "grade": "B",
        "agentReady": false,
        "rank": 441,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 73,
          "payments": 40,
          "reliability": 63,
          "schema": 92,
          "security": 52,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only.",
        "bestFor": "Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.",
        "strengths": [
          "OpenAPI 3.1 and AsyncAPI 2.6 files cover the batch route and the streaming socket, with llms.txt and Markdown copies of every page",
          "Public prices of $0.003 a minute for batch, $0.004 for streaming and $0.005 for Pulse 2.0, with $10 of trial credits",
          "Dated Pulse changelog with nine entries between 30 August and 2 November 2026",
          "Opt-in diarisation, word timestamps, PII and PCI redaction, keyword boosting and turn detection on the same endpoint",
          "Region-pinned hosts in Mumbai and Oregon for data residency"
        ],
        "weaknesses": [
          "Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes",
          "Keys grant full account access with no scopes, and the docs pass keys or tokens as URL query parameters on WebSockets",
          "Zero data retention is Enterprise only or a $1,000 a month add-on, and no retention period is published for other plans",
          "No published SLA below Enterprise, and the terms allow changes or discontinuation without notice",
          "Several changelog entries correct response fields the reference had documented wrongly"
        ],
        "agentNotes": [
          "Pass `?model=` on every call, since a missing model returns 400; use `pulse-pro` for English files and `pulse` for other languages or streaming",
          "Send booleans such as `diarize` and `word_timestamps` as the lowercase strings \"true\" or \"false\"",
          "Retry 429 with backoff from 500 ms up to 30 s and honour Retry-After; keep within 25 batch requests a minute on the Standard plan",
          "Use the region-pinned host api.us.smallest.ai or api.india.smallest.ai when the audio must stay in one region",
          "Read speaker labels only from final events, because interim streaming events carry no `words[]`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 73,
          "payments": 40,
          "reliability": 63,
          "schema": 92,
          "security": 52,
          "transparency": 55
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install smallestai",
        "http": "curl -X POST \"https://api.smallest.ai/waves/v1/stt/?model=pulse\u0026language=en\" \\\n  -H \"Authorization: Bearer $SMALLEST_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://github.com/smallest-inc/cookbook/raw/main/speech-to-text/getting-started/samples/audio.wav\"}'",
        "claudeCode": "claude mcp add smallest -- npx -y @developer-smallestai/smallest-mcp-server"
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/smallest-pulse-stt"
      },
      "sameCompany": [
        "smallest-lightning-tts",
        "smallest-voice-clone"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Pulse pre-recorded",
          "unit": "audio-minute",
          "usd": 0.003,
          "note": "pay as you go"
        },
        {
          "item": "Pulse streaming",
          "unit": "audio-minute",
          "usd": 0.004,
          "note": "pay as you go"
        },
        {
          "item": "Pulse Pro pre-recorded",
          "unit": "audio-minute",
          "usd": 0.0035,
          "note": "the pricing page also shows $0.004"
        },
        {
          "item": "Pulse 2.0 streaming",
          "unit": "audio-minute",
          "usd": 0.005,
          "note": "Standard plan, per the Pulse changelog"
        }
      ],
      "provenance": {
        "legalEntity": "Smallest, Inc.",
        "domain": "smallest.ai",
        "domainRegistered": "2023-09-02",
        "endpointOnVendorDomain": true,
        "terms": "https://smallest.ai/terms-of-service",
        "privacy": "https://smallest.ai/privacy-policy",
        "statusPage": "https://status.smallest.ai/",
        "changelog": "https://docs.smallest.ai/changelog/models",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The terms of service (effective 21 October 2026) name Smallest Inc., 311 California Street, Suite 320, San Francisco, under California law. The privacy policy (effective 18 September 2026) names Smallest, Inc. with a registered office in Lewes, Delaware.",
          "The terms forbid accessing or searching the services with spiders, robots, crawlers or similar data mining tools except through means Smallest makes available. Only public pages were read, with no account.",
          "smallest.ai/robots.txt allows all crawlers including ClaudeBot, with Content-Signal ai-train=yes, search=yes, ai-input=yes. docs.smallest.ai/robots.txt allows all paths except /api/fern-docs/.",
          "/.well-known/security.txt names security@smallest.ai and expires 31 December 2026. /security.txt returns 404.",
          "RDAP gives smallest.ai a registration date of 2 September 2023.",
          "Every docs page served as Markdown opens with a block addressed to AI assistants that says which models to prefer. It was read as data, not followed.",
          "firstReleased is left empty. No dated launch of the Models API was found on a page our reader may fetch."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.json",
      "live": {
        "slug": "smallest-pulse-stt",
        "vendorStatus": {
          "page": "https://status.smallest.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:45.825598924Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smallest-inc/smallest-python-sdk",
            "version": "v2.1.0",
            "released": "2025-03-04",
            "seenAt": "2026-11-07T00:06:40.503973794Z"
          },
          {
            "registry": "npm",
            "name": "@developer-smallestai/smallest-mcp-server",
            "version": "0.11.2",
            "seenAt": "2026-11-07T00:06:37.84247373Z"
          },
          {
            "registry": "npm",
            "name": "smallestai",
            "version": "1.0.1",
            "seenAt": "2026-11-07T00:06:37.805702611Z"
          },
          {
            "registry": "pypi",
            "name": "smallestai",
            "version": "5.14.0",
            "released": "2026-10-07",
            "seenAt": "2026-11-07T00:06:37.684406795Z"
          }
        ],
        "githubStars": 42,
        "npmWeekly": 149,
        "pypiWeekly": 850,
        "securityTxt": {
          "url": "https://smallest.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:01:21.76871346Z"
        },
        "llmsTxt": {
          "url": "https://docs.smallest.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:58.699076043Z"
        },
        "updatedAt": "2026-11-07T16:01:21.76871346Z"
      }
    },
    "edges": [
      {
        "by": 33,
        "category": "security",
        "leads": "azure-speech-to-text",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Two regenerable resource keys for rotation, or Microsoft Entra ID tokens with Azure role-based access, which Microsoft recommends (30). Less 10 because the Realtime route for MAI-Transcribe-2-Streaming, added on 1 October 2026, documents an `api-key` query-string parameter on the WebSocket URI, using the same resource key, still so on the page updated 7 October and re-read on 1 November. The speech-to-text REST, fast, batch and Speech SDK docs take the key in a header only, so the deduction is applied once. SAS URLs for batch audio are scoped tokens for the customer's own storage, not the Speech credential, and aren't deducted (20). Microsoft doesn't use customer audio to train its models, per the 1 October check, not re-read since (20). Real-time and fast transcription audio isn't stored, and batch output stays until deleted or `timeToLive` expires, per the data privacy page updated 2026-08-26 and re-read on 1 November (15). Azure Monitor and the activity log record resource actions, though we didn't confirm per-request Speech logging (10). The MSRC disclosure policy, Microsoft's Azure bounty programme, SOC 2 and ISO 27001 reports, and public advisories. An MSRC search on 1 November found no CVE for the Azure Speech service (the Speech entries are Windows Speech components and Chromium). The microsoft.com security.txt passed its Expires date on 2026-09-23 and was still expired on 1 November, which we note without deducting, as on 5 and 17 October (20). 20 + 20 + 15 + 10 + 20 = 85.",
          "b": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52."
        },
        "scores": {
          "a": 85,
          "b": 52
        }
      },
      {
        "by": 27,
        "category": "reliability",
        "leads": "azure-speech-to-text",
        "name": "Reliability",
        "reasons": {
          "a": "Azure status page with post-incident reviews (20). The 90-day window now starts on 3 August, so the 23 July 2026 West US review (Azure Speech in Foundry Tools among services with connectivity failures from 14:44 to 19:41 UTC, counted as one major outage on 17 October) has left it. Two reviews remain on 1 November. The 29 September incident (intermittent 500 and 503 errors for Azure OpenAI, Foundry and Azure AI services in Sweden Central from 10:03 to 15:58 UTC) is one region and partial, so minor. The 30 September to 1 October gateway review (20:30 to 02:15 UTC) names networking services, not Speech. Nothing newer is listed. Minor incidents only (20). Limits published with numbers, 100 concurrent real-time requests and 600 fast or batch requests a minute by default, on the quotas page updated 23 October and re-read on 1 November (15). 429 documented as usually meaning autoscaling in progress, with retry logic advised and a 1-2-4-4 minute pattern for ramping load. Fast transcription is synchronous, so a retry doesn't duplicate a job (15). Covered by Microsoft's online services SLA, per the 1 October check (10). Fast transcription, batch and real time are GA. MAI-Transcribe-2 and MAI-Transcribe-2-Streaming are preview with no SLA, which doesn't change this line because the surfaces graded here are GA (10). 20 + 20 + 15 + 15 + 10 + 10 = 90.",
          "b": "BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Standard plan limits published per model, 100 concurrent streaming sessions and 25 batch requests a minute, and the pricing page also says 100 concurrent STT streams (15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and batch calls are synchronous with optional webhooks (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms published, and the terms disclaim any availability commitment (5 of 10). Pulse, Pulse 2.0 and Pulse Pro carry no preview label, but eleven language codes are marked Beta (8 of 10). 20 + 0 + 15 + 15 + 5 + 8 = 63."
        },
        "scores": {
          "a": 90,
          "b": 63
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "smallest-pulse-stt",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-hour prices published without a login, though the page needs JavaScript and the Retail Prices API is the readable source (20). The F0 tier gives 5 real-time hours a month but an Azure subscription needs a card (0). A person signs up in a browser (0). MAI-Transcribe-2-Streaming's introductory $0.54 an hour appears only in Microsoft AI's launch post. No Azure meter for it was found in the Retail Prices API on 5 October, 17 October or 1 November, which doesn't move this line because the other per-hour prices are published. The East US meters for real time ($1), fast ($0.36) and batch ($0.18) an hour were unchanged on 1 November. 0 + 20 + 0 + 0 = 20.",
          "b": "No x402, MPP or L402 (0). Per-minute prices for each Pulse model published without a login, with two figures for Pulse Pro (20). Pay as you go starts with $10 of trial credits, which the terms also describe, and no page says a card is needed to claim them, read as inworld-tts's free plan was (20). A person signs up in a browser at app.smallest.ai and creates the key in the dashboard, and top-ups go to a card on file (0). Total 40."
        },
        "scores": {
          "a": 20,
          "b": 40
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "azure-speech-to-text",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under Microsoft's product terms, with an MIT samples repository (15). The data privacy page, the privacy statement and the product terms agree on no storage for real time, retention until deletion for batch and no training (25). The data privacy page, re-read on 1 November and still dated 26 August, doesn't name the MAI streaming model. Dated retirements, REST API v3.0 and the v3.2 previews on 2026-03-31 and MAI-Transcribe-1 deprecated on 2026-08-20, under Microsoft's published lifecycle policy. The versions page now says 2024-05-15-preview will be retired on a date to be announced (20). Regions chosen per resource and a public sub-processor list (20). 15 + 25 + 20 + 20 = 80.",
          "b": "Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration targets, deprecated routes return a `Deprecation: true` header, and the 30 September changelog removed 14 European codes from the batch enum with a migration to `multi-eu`. The terms still let Smallest change or discontinue services at any time without notice (15 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 55."
        },
        "scores": {
          "a": 86,
          "b": 71
        }
      },
      {
        "by": 12,
        "category": "schema",
        "leads": "smallest-pulse-stt",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The speech-to-text OpenAPI document for GA version 2025-10-15 is in Microsoft's public REST API specs, re-read on 1 November with 67 operations (25). No llms.txt found (0). Operation descriptions state purpose, and the speech-to-text overview says when to use real time, fast or batch (15). Batch request bodies are typed with enums and required fields, but fast transcription takes its options as a JSON string in the multipart `definition` field, documented but untyped on the wire (10). The REST reference carries examples and error responses per operation, per the 5 October check, not re-read on 1 November (15). Dated `api-version` values (current GA 2025-10-15, on the versions page updated 19 October) and monthly release notes (15). MAI-Transcribe-2-Streaming's WebSocket events are documented in prose and examples only, with no machine-readable contract, which leaves the graded REST surface unchanged. 25 + 0 + 15 + 10 + 15 + 15 = 80.",
          "b": "OpenAPI 3.1 for the HTTP routes and AsyncAPI 2.6 for the STT socket, with query parameters and event schemas (25). llms.txt and a Markdown copy of every page (10). Model cards and a compare page say which model suits which audio, and fields say where they're ignored (Pulse Pro ignores redaction), but several changelog entries correct response fields the reference had wrong, such as the diarisation shape and a `redacted_entities` array that doesn't exist (15 of 20). Typed query parameters with enums, defaults and required marks, though booleans are string enums that must be lowercase (13 of 15). Examples in curl, Python and JavaScript, and the reference lists 400, 401, 403, 413, 422 and 429 bodies with known `code` values (14 of 15). Versioned `/v1` paths, a deprecations page and a dated Pulse changelog (15). Total 92."
        },
        "scores": {
          "a": 80,
          "b": 92
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "azure-speech-to-text",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist, per the 5 October check, not re-read on 17 October. Fast transcription returns combined text plus per-phrase detail, with word timestamps opt-in, but no field selection (15). Batch transcriptions and files list with `top`, `skip` and a next link (20). Error responses carry codes and messages, documented in the REST reference (15). No idempotency key on batch creation (10). Fast transcription needs a key, a file and a locale. Speech SDKs in C#, C++, Java, JavaScript, Python, Go, Objective-C and Swift (15). 15 + 20 + 15 + 10 + 15 = 75.",
          "b": "API reading of the checklist. Word timestamps, utterances, diarisation, emotion and gender are each opt-in, so the default response is the transcript with metadata (18 of 25). There are no list endpoints for transcriptions to page. Output controls are the opt-in fields and finalisation settings on the socket (10 of 20). Errors carry a status and a machine-readable `code` or `error_code` (`LANGUAGE_NOT_SUPPORTED_BY_MODEL`, `AudioTooLong` and others) with fixes, but the body comes in two shapes, `message` or `error` (15 of 20). Batch calls are synchronous with no idempotency key, and whether a retried file is billed again isn't stated (10 of 20). A file call needs only the model and audio. Official Python and Node SDKs exist, though the Node SDK was last published in May 2025 (13 of 15). Total 66."
        },
        "scores": {
          "a": 75,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Smallest AI",
        "name": "Vendor"
      },
      {
        "a": "https://eastus.api.cognitive.microsoft.com/speechtotext",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (samples), SDK under Microsoft's own licence",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-21",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.5k stars, 476k npm/wk, 1M PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure AI Speech speech-to-text scores 75.1 (BB) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Smallest.ai Pulse STT leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure AI Speech speech-to-text or Smallest.ai Pulse STT?"
      },
      {
        "answer": "Azure AI Speech speech-to-text takes an API key or an OAuth sign-in. Smallest.ai Pulse STT needs an API key.",
        "question": "Do Azure AI Speech speech-to-text and Smallest.ai Pulse STT need an API key?"
      },
      {
        "answer": "Azure AI Speech speech-to-text has a hosted endpoint at https://eastus.api.cognitive.microsoft.com/speechtotext. No hosted endpoint is listed for Smallest.ai Pulse STT.",
        "question": "Can an agent call Azure AI Speech speech-to-text and Smallest.ai Pulse STT without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 63",
          "Agent ergonomics, 75 against 66",
          "Security \u0026 auth, 85 against 52",
          "Maintenance \u0026 community, 80 against 73",
          "Transparency \u0026 trust, 86 against 71"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams on Azure who need several modes (real time, synchronous files, cheap batch, custom models) under one resource, or strict default data handling.",
        "slug": "azure-speech-to-text",
        "watchFor": "MAI-Transcribe-2 and MAI-Transcribe-2-Streaming are preview with no SLA, and both introductory prices end with 2026"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 92 against 80",
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": null,
        "goodFor": "Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.",
        "slug": "smallest-pulse-stt",
        "watchFor": "Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes"
      }
    ],
    "history": {
      "azure-speech-to-text": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-01",
          "delta": 2,
          "from": 73.1,
          "fromGrade": "BB",
          "to": 75.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 73,
          "fromGrade": "BB",
          "to": 73.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 73.3,
          "fromGrade": "BB",
          "to": 73,
          "toGrade": "BB"
        }
      ],
      "smallest-pulse-stt": null
    },
    "job": {
      "capability": "speech.stt",
      "name": "Speech-to-text"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-azure-speech-to-text.json",
        "title": "Amazon Transcribe vs Azure AI Speech speech-to-text",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-azure-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt.json",
        "title": "Amazon Transcribe vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-azure-speech-to-text.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs Azure AI Speech speech-to-text",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-azure-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-cartesia-ink-stt.json",
        "title": "Azure AI Speech speech-to-text vs Cartesia Ink",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-cartesia-ink-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-deepgram-stt.json",
        "title": "Azure AI Speech speech-to-text vs Deepgram Speech-to-Text (Nova-3, Flux)",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-deepgram-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-elevenlabs-scribe.json",
        "title": "Azure AI Speech speech-to-text vs ElevenLabs Scribe Speech to Text API",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-elevenlabs-scribe"
      },
      {
        "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-gladia-stt.json",
        "title": "Azure AI Speech speech-to-text vs Gladia Speech-to-Text API + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-gladia-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-google-speech-to-text.json",
        "title": "Azure AI Speech speech-to-text vs Google Cloud Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-google-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-groq-speech-to-text.json",
        "title": "Azure AI Speech speech-to-text vs Groq Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-groq-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-ibm-watson-stt.json",
        "title": "Azure AI Speech speech-to-text vs IBM Watson Speech to Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-ibm-watson-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt.json",
        "title": "Azure AI Speech speech-to-text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-minimax-stt.json",
        "title": "Azure AI Speech speech-to-text vs MiniMax Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-minimax-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-mistral-voxtral-transcribe.json",
        "title": "Azure AI Speech speech-to-text vs Mistral Voxtral Transcribe",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-mistral-voxtral-transcribe"
      },
      {
        "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/azure-speech-to-text-vs-rev-ai-stt.json",
        "title": "Azure AI Speech speech-to-text vs Rev AI Speech-to-Text API",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-rev-ai-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-soniox-stt.json",
        "title": "Azure AI Speech speech-to-text vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-speechmatics-stt.json",
        "title": "Azure AI Speech speech-to-text vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-speechmatics-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt.json",
        "title": "Cartesia Ink vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt.json",
        "title": "Deepgram Speech-to-Text (Nova-3, Flux) vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt.json",
        "title": "ElevenLabs Scribe Speech to Text API vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt.json",
        "title": "Giggy Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt.json",
        "title": "Gladia Speech-to-Text API + MCP vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "Google Cloud Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "Groq Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt.json",
        "title": "IBM Watson Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.json",
        "title": "Inworld STT vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt.json",
        "title": "MiniMax Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt.json",
        "title": "Mistral Voxtral Transcribe vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "OpenAI Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt.json",
        "title": "Rev AI Speech-to-Text API vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt.json",
        "title": "Smallest.ai Pulse STT vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-speechmatics-stt.json",
        "title": "Smallest.ai Pulse STT vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-speechmatics-stt"
      }
    ],
    "panel": null,
    "scores": [
      {
        "azure-speech-to-text": 90,
        "by": 27,
        "edge": "azure-speech-to-text",
        "key": "reliability",
        "name": "Reliability",
        "smallest-pulse-stt": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-speech-to-text": 80,
        "by": 12,
        "edge": "smallest-pulse-stt",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "smallest-pulse-stt": 92,
        "weight": 13
      },
      {
        "azure-speech-to-text": 75,
        "by": 9,
        "edge": "azure-speech-to-text",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "smallest-pulse-stt": 66,
        "weight": 13
      },
      {
        "azure-speech-to-text": 85,
        "by": 33,
        "edge": "azure-speech-to-text",
        "key": "security",
        "name": "Security \u0026 auth",
        "smallest-pulse-stt": 52,
        "weight": 14
      },
      {
        "azure-speech-to-text": 20,
        "by": 20,
        "edge": "smallest-pulse-stt",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "smallest-pulse-stt": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-speech-to-text": 80,
        "by": 7,
        "edge": "azure-speech-to-text",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "smallest-pulse-stt": 73,
        "weight": 7
      },
      {
        "azure-speech-to-text": 86,
        "by": 15,
        "edge": "azure-speech-to-text",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "smallest-pulse-stt": 71,
        "weight": 7
      }
    ],
    "summary": "Azure AI Speech speech-to-text scores 75.1 (BB) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Smallest.ai Pulse STT leads on schema \u0026 documentation and payments \u0026 pricing. Both do speech-to-text.",
    "tasks": [
      {
        "a": "$0.10 to $1.20",
        "b": "$0.18 to $0.30",
        "cheaper": "azure-speech-to-text",
        "task": "Transcribe a one-hour meeting",
        "what": "60 minutes of recorded audio"
      }
    ],
    "tutorials": [],
    "verdicts": {
      "azure-speech-to-text": "Real-time and fast transcription audio isn't stored, and customer audio isn't used for training. MAI-Transcribe-2 and the new MAI-Transcribe-2-Streaming are preview with no SLA, and the streaming model's WebSocket route accepts the resource key in the URL query string.",
      "smallest-pulse-stt": "Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt",
    "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.min.md"
  },
  "markdown": "Azure AI Speech speech-to-text scores 75.1 (BB) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Smallest.ai Pulse STT leads on schema \u0026 documentation and payments \u0026 pricing. Both do speech-to-text.\n\n- Azure AI Speech speech-to-text: grade BB, 75.1/100, rank #71 of 1486. Markdown https://www.anchorterminal.com/tools/azure-speech-to-text.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-speech-to-text.json\n- Smallest.ai Pulse STT: grade B, 65/100, rank #441 of 1486. Markdown https://www.anchorterminal.com/tools/smallest-pulse-stt.md · JSON https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json\n- Best speech-to-text APIs for AI agents: https://www.anchorterminal.com/best/speech-to-text/index.md\n- All 320 stt comparisons: https://www.anchorterminal.com/compare/speech-to-text/index.md\n\n## Which one, for what\n\n### Azure AI Speech speech-to-text (BB)\n\nGood for: Teams on Azure who need several modes (real time, synchronous files, cheap batch, custom models) under one resource, or strict default data handling.\n\nAhead on:\n- Reliability, 90 against 63\n- Agent ergonomics, 75 against 66\n- Security \u0026 auth, 85 against 52\n- Maintenance \u0026 community, 80 against 73\n- Transparency \u0026 trust, 86 against 71\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n\nWatch for: MAI-Transcribe-2 and MAI-Transcribe-2-Streaming are preview with no SLA, and both introductory prices end with 2026\n\n### Smallest.ai Pulse STT (B)\n\nGood for: Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.\n\nAhead on:\n- Schema \u0026 documentation, 92 against 80\n- Payments \u0026 pricing, 40 against 20\n\nWatch for: Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes\n\n\n## Why the edge\n\n### Security \u0026 auth: Azure AI Speech speech-to-text +33\n\n- Azure AI Speech speech-to-text (85): Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Two regenerable resource keys for rotation, or Microsoft Entra ID tokens with Azure role-based access, which Microsoft recommends (30). Less 10 because the Realtime route for MAI-Transcribe-2-Streaming, added on 1 October 2026, documents an `api-key` query-string parameter on the WebSocket URI, using the same resource key, still so on the page updated 7 October and re-read on 1 November. The speech-to-text REST, fast, batch and Speech SDK docs take the key in a header only, so the deduction is applied once. SAS URLs for batch audio are scoped tokens for the customer's own storage, not the Speech credential, and aren't deducted (20). Microsoft doesn't use customer audio to train its models, per the 1 October check, not re-read since (20). Real-time and fast transcription audio isn't stored, and batch output stays until deleted or `timeToLive` expires, per the data privacy page updated 2026-08-26 and re-read on 1 November (15). Azure Monitor and the activity log record resource actions, though we didn't confirm per-request Speech logging (10). The MSRC disclosure policy, Microsoft's Azure bounty programme, SOC 2 and ISO 27001 reports, and public advisories. An MSRC search on 1 November found no CVE for the Azure Speech service (the Speech entries are Windows Speech components and Chromium). The microsoft.com security.txt passed its Expires date on 2026-09-23 and was still expired on 1 November, which we note without deducting, as on 5 and 17 October (20). 20 + 20 + 15 + 10 + 20 = 85.\n- Smallest.ai Pulse STT (52): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52.\n\n### Reliability: Azure AI Speech speech-to-text +27\n\n- Azure AI Speech speech-to-text (90): Azure status page with post-incident reviews (20). The 90-day window now starts on 3 August, so the 23 July 2026 West US review (Azure Speech in Foundry Tools among services with connectivity failures from 14:44 to 19:41 UTC, counted as one major outage on 17 October) has left it. Two reviews remain on 1 November. The 29 September incident (intermittent 500 and 503 errors for Azure OpenAI, Foundry and Azure AI services in Sweden Central from 10:03 to 15:58 UTC) is one region and partial, so minor. The 30 September to 1 October gateway review (20:30 to 02:15 UTC) names networking services, not Speech. Nothing newer is listed. Minor incidents only (20). Limits published with numbers, 100 concurrent real-time requests and 600 fast or batch requests a minute by default, on the quotas page updated 23 October and re-read on 1 November (15). 429 documented as usually meaning autoscaling in progress, with retry logic advised and a 1-2-4-4 minute pattern for ramping load. Fast transcription is synchronous, so a retry doesn't duplicate a job (15). Covered by Microsoft's online services SLA, per the 1 October check (10). Fast transcription, batch and real time are GA. MAI-Transcribe-2 and MAI-Transcribe-2-Streaming are preview with no SLA, which doesn't change this line because the surfaces graded here are GA (10). 20 + 20 + 15 + 15 + 10 + 10 = 90.\n- Smallest.ai Pulse STT (63): BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Standard plan limits published per model, 100 concurrent streaming sessions and 25 batch requests a minute, and the pricing page also says 100 concurrent STT streams (15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and batch calls are synchronous with optional webhooks (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms published, and the terms disclaim any availability commitment (5 of 10). Pulse, Pulse 2.0 and Pulse Pro carry no preview label, but eleven language codes are marked Beta (8 of 10). 20 + 0 + 15 + 15 + 5 + 8 = 63.\n\n### Payments \u0026 pricing: Smallest.ai Pulse STT +20\n\n- Azure AI Speech speech-to-text (20): No x402, MPP or L402 (0). Per-hour prices published without a login, though the page needs JavaScript and the Retail Prices API is the readable source (20). The F0 tier gives 5 real-time hours a month but an Azure subscription needs a card (0). A person signs up in a browser (0). MAI-Transcribe-2-Streaming's introductory $0.54 an hour appears only in Microsoft AI's launch post. No Azure meter for it was found in the Retail Prices API on 5 October, 17 October or 1 November, which doesn't move this line because the other per-hour prices are published. The East US meters for real time ($1), fast ($0.36) and batch ($0.18) an hour were unchanged on 1 November. 0 + 20 + 0 + 0 = 20.\n- Smallest.ai Pulse STT (40): No x402, MPP or L402 (0). Per-minute prices for each Pulse model published without a login, with two figures for Pulse Pro (20). Pay as you go starts with $10 of trial credits, which the terms also describe, and no page says a card is needed to claim them, read as inworld-tts's free plan was (20). A person signs up in a browser at app.smallest.ai and creates the key in the dashboard, and top-ups go to a card on file (0). Total 40.\n\n### Transparency \u0026 trust: Azure AI Speech speech-to-text +15\n\n- Azure AI Speech speech-to-text (86): Closed service under Microsoft's product terms, with an MIT samples repository (15). The data privacy page, the privacy statement and the product terms agree on no storage for real time, retention until deletion for batch and no training (25). The data privacy page, re-read on 1 November and still dated 26 August, doesn't name the MAI streaming model. Dated retirements, REST API v3.0 and the v3.2 previews on 2026-03-31 and MAI-Transcribe-1 deprecated on 2026-08-20, under Microsoft's published lifecycle policy. The versions page now says 2024-05-15-preview will be retired on a date to be announced (20). Regions chosen per resource and a public sub-processor list (20). 15 + 25 + 20 + 20 = 80.\n- Smallest.ai Pulse STT (71): Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration targets, deprecated routes return a `Deprecation: true` header, and the 30 September changelog removed 14 European codes from the batch enum with a migration to `multi-eu`. The terms still let Smallest change or discontinue services at any time without notice (15 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 55.\n\n### Schema \u0026 documentation: Smallest.ai Pulse STT +12\n\n- Azure AI Speech speech-to-text (80): The speech-to-text OpenAPI document for GA version 2025-10-15 is in Microsoft's public REST API specs, re-read on 1 November with 67 operations (25). No llms.txt found (0). Operation descriptions state purpose, and the speech-to-text overview says when to use real time, fast or batch (15). Batch request bodies are typed with enums and required fields, but fast transcription takes its options as a JSON string in the multipart `definition` field, documented but untyped on the wire (10). The REST reference carries examples and error responses per operation, per the 5 October check, not re-read on 1 November (15). Dated `api-version` values (current GA 2025-10-15, on the versions page updated 19 October) and monthly release notes (15). MAI-Transcribe-2-Streaming's WebSocket events are documented in prose and examples only, with no machine-readable contract, which leaves the graded REST surface unchanged. 25 + 0 + 15 + 10 + 15 + 15 = 80.\n- Smallest.ai Pulse STT (92): OpenAPI 3.1 for the HTTP routes and AsyncAPI 2.6 for the STT socket, with query parameters and event schemas (25). llms.txt and a Markdown copy of every page (10). Model cards and a compare page say which model suits which audio, and fields say where they're ignored (Pulse Pro ignores redaction), but several changelog entries correct response fields the reference had wrong, such as the diarisation shape and a `redacted_entities` array that doesn't exist (15 of 20). Typed query parameters with enums, defaults and required marks, though booleans are string enums that must be lowercase (13 of 15). Examples in curl, Python and JavaScript, and the reference lists 400, 401, 403, 413, 422 and 429 bodies with known `code` values (14 of 15). Versioned `/v1` paths, a deprecations page and a dated Pulse changelog (15). Total 92.\n\n### Agent ergonomics: Azure AI Speech speech-to-text +9\n\n- Azure AI Speech speech-to-text (75): API reading of the checklist, per the 5 October check, not re-read on 17 October. Fast transcription returns combined text plus per-phrase detail, with word timestamps opt-in, but no field selection (15). Batch transcriptions and files list with `top`, `skip` and a next link (20). Error responses carry codes and messages, documented in the REST reference (15). No idempotency key on batch creation (10). Fast transcription needs a key, a file and a locale. Speech SDKs in C#, C++, Java, JavaScript, Python, Go, Objective-C and Swift (15). 15 + 20 + 15 + 10 + 15 = 75.\n- Smallest.ai Pulse STT (66): API reading of the checklist. Word timestamps, utterances, diarisation, emotion and gender are each opt-in, so the default response is the transcript with metadata (18 of 25). There are no list endpoints for transcriptions to page. Output controls are the opt-in fields and finalisation settings on the socket (10 of 20). Errors carry a status and a machine-readable `code` or `error_code` (`LANGUAGE_NOT_SUPPORTED_BY_MODEL`, `AudioTooLong` and others) with fixes, but the body comes in two shapes, `message` or `error` (15 of 20). Batch calls are synchronous with no idempotency key, and whether a retried file is billed again isn't stated (10 of 20). A file call needs only the model and audio. Official Python and Node SDKs exist, though the Node SDK was last published in May 2025 (13 of 15). Total 66.\n\n## Score by category\n\n| Category | Weight | Azure AI Speech speech-to-text | Smallest.ai Pulse STT | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 63 | Azure AI Speech speech-to-text +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 92 | Smallest.ai Pulse STT +12 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 66 | Azure AI Speech speech-to-text +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 85 | 52 | Azure AI Speech speech-to-text +33 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Smallest.ai Pulse STT +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 73 | Azure AI Speech speech-to-text +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 71 | Azure AI Speech speech-to-text +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.1 · BB** | **65 · B** | |\n\n## Facts side by side\n\n| Fact | Azure AI Speech speech-to-text | Smallest.ai Pulse STT |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Microsoft | Smallest AI |\n| Hosted endpoint | `https://eastus.api.cognitive.microsoft.com/speechtotext` | no (local only) |\n| Transports | HTTP | HTTP, websocket |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | MIT (samples), SDK under Microsoft's own licence | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-21 | 2026-11-02 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 3.5k stars, 476k npm/wk, 1M PyPI/wk | none |\n| Agent reviews | 3.3/5 (8) | none |\n\n## What the same task costs\n\n| Task | Azure AI Speech speech-to-text | Smallest.ai Pulse STT |\n| --- | --- | --- |\n| Transcribe a one-hour meeting | $0.10 to $1.20 | $0.18 to $0.30 |\n\n## How the scores have moved\n\n### Azure AI Speech speech-to-text\n\n- +2.0 on 1 November 2026: time\n- +0.1 on 27 October 2026: checklist\n- -0.3 on 8 October 2026: checklist\n\n### Smallest.ai Pulse STT\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Azure AI Speech speech-to-text.** Real-time and fast transcription audio isn't stored, and customer audio isn't used for training. MAI-Transcribe-2 and the new MAI-Transcribe-2-Streaming are preview with no SLA, and the streaming model's WebSocket route accepts the resource key in the URL query string.\n\n**Smallest.ai Pulse STT.** Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only.\n\n## Before you call either\n\n### Azure AI Speech speech-to-text\n\n1. Use fast transcription (`transcriptions:transcribe`) for files under 5 hours and 500 MB, and batch for bulk jobs with `timeToLive` set\n2. Pin `api-version=2025-10-15`. v3.0 and the v3.2 previews are retired\n3. On a 429, back off 1, 2, 4 then 4 minutes. It usually means autoscaling, not a quota\n4. For MAI-Transcribe-2-Streaming, use Speech SDK 1.52 or later with the `/speech/universal/v2` endpoint, or send the key in the `api-key` header, never the query string\n5. Don't budget on MAI-Transcribe-2 at $0.10 or MAI-Transcribe-2-Streaming at $0.54 an hour after 2026-12-31\n\n### Smallest.ai Pulse STT\n\n1. Pass `?model=` on every call, since a missing model returns 400; use `pulse-pro` for English files and `pulse` for other languages or streaming\n2. Send booleans such as `diarize` and `word_timestamps` as the lowercase strings \"true\" or \"false\"\n3. Retry 429 with backoff from 500 ms up to 30 s and honour Retry-After; keep within 25 batch requests a minute on the Standard plan\n4. Use the region-pinned host api.us.smallest.ai or api.india.smallest.ai when the audio must stay in one region\n5. Read speaker labels only from final events, because interim streaming events carry no `words[]`\n\n## Questions\n\n### Which is better for AI agents, Azure AI Speech speech-to-text or Smallest.ai Pulse STT?\n\nAzure AI Speech speech-to-text scores 75.1 (BB) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Smallest.ai Pulse STT leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do Azure AI Speech speech-to-text and Smallest.ai Pulse STT need an API key?\n\nAzure AI Speech speech-to-text takes an API key or an OAuth sign-in. Smallest.ai Pulse STT needs an API key.\n\n### Can an agent call Azure AI Speech speech-to-text and Smallest.ai Pulse STT without installing anything?\n\nAzure AI Speech speech-to-text has a hosted endpoint at https://eastus.api.cognitive.microsoft.com/speechtotext. No hosted endpoint is listed for Smallest.ai Pulse STT.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-speech-to-text\", \"b\": \"smallest-pulse-stt\"}`. From a terminal: `anchor compare azure-speech-to-text smallest-pulse-stt`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-speech-to-text.json and https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json\n\n## Other comparisons with Azure AI Speech speech-to-text or Smallest.ai Pulse STT\n\n- [Amazon Transcribe vs Azure AI Speech speech-to-text](https://www.anchorterminal.com/compare/amazon-transcribe-vs-azure-speech-to-text.md)\n- [Amazon Transcribe vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt.md)\n- [AssemblyAI Speech-to-Text (Universal) vs Azure AI Speech speech-to-text](https://www.anchorterminal.com/compare/assemblyai-stt-vs-azure-speech-to-text.md)\n- [AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt.md)\n- [Azure AI Speech speech-to-text vs Cartesia Ink](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-cartesia-ink-stt.md)\n- [Azure AI Speech speech-to-text vs Deepgram Speech-to-Text (Nova-3, Flux)](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-deepgram-stt.md)\n- [Azure AI Speech speech-to-text vs ElevenLabs Scribe Speech to Text API](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-elevenlabs-scribe.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 Gladia Speech-to-Text API + MCP](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-gladia-stt.md)\n- [Azure AI Speech speech-to-text vs Google Cloud Speech-to-Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-google-speech-to-text.md)\n- [Azure AI Speech speech-to-text vs Groq Speech-to-Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-groq-speech-to-text.md)\n- [Azure AI Speech speech-to-text vs IBM Watson Speech to Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-ibm-watson-stt.md)\n- [Azure AI Speech speech-to-text vs Inworld STT](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt.md)\n- [Azure AI Speech speech-to-text vs MiniMax Speech-to-Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-minimax-stt.md)\n- [Azure AI Speech speech-to-text vs Mistral Voxtral Transcribe](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-mistral-voxtral-transcribe.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- [Azure AI Speech speech-to-text vs Rev AI Speech-to-Text API](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-rev-ai-stt.md)\n- [Azure AI Speech speech-to-text vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-soniox-stt.md)\n- [Azure AI Speech speech-to-text vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-speechmatics-stt.md)\n- [Cartesia Ink vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt.md)\n- [Deepgram Speech-to-Text (Nova-3, Flux) vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt.md)\n- [ElevenLabs Scribe Speech to Text API vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt.md)\n- [Giggy Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt.md)\n- [Gladia Speech-to-Text API + MCP vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt.md)\n- [Google Cloud Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt.md)\n- [Groq Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt.md)\n- [IBM Watson Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt.md)\n- [Inworld STT vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.md)\n- [MiniMax Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt.md)\n- [Mistral Voxtral Transcribe vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt.md)\n- [OpenAI Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt.md)\n- [Rev AI Speech-to-Text API vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt.md)\n- [Smallest.ai Pulse STT vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt.md)\n- [Smallest.ai Pulse STT vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/smallest-pulse-stt-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-07",
    "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": "Azure AI Speech speech-to-text vs Smallest.ai Pulse STT",
        "url": ""
      }
    ],
    "description": "Azure AI Speech speech-to-text scores 75.1 (BB) to Smallest.ai Pulse STT's 65 (B) for speech-to-text. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Azure AI Speech speech-to-text BB 75.1",
      "Smallest.ai Pulse STT B 65",
      "scores"
    ],
    "h1": "Azure AI Speech speech-to-text vs Smallest.ai Pulse STT",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/azure-speech-to-text-vs-smallest-pulse-stt",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure AI Speech speech-to-text vs Smallest.ai Pulse STT (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt"
  },
  "tokens": {
    "markdown": 6450,
    "slim": 3930
  },
  "version": 1
}
