{"_id":"@azure/ai-speech-transcription","_rev":"4-273b0b443f1532862f98121b6cc1edfe","name":"@azure/ai-speech-transcription","dist-tags":{"latest":"1.0.0","beta":"1.0.0-beta.2"},"versions":{"1.0.0-beta.1":{"name":"@azure/ai-speech-transcription","version":"1.0.0-beta.1","keywords":["node","azure","cloud","typescript","browser","isomorphic"],"author":{"name":"Microsoft Corporation"},"license":"MIT","_id":"@azure/ai-speech-transcription@1.0.0-beta.1","maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/Azure/azure-sdk-for-js#readme","bugs":{"url":"https://github.com/Azure/azure-sdk-for-js/issues"},"tag":"beta","dist":{"shasum":"df861e40e769a05faddc22ae3ac509b7fc4dee19","tarball":"https://registry.npmjs.org/@azure/ai-speech-transcription/-/ai-speech-transcription-1.0.0-beta.1.tgz","fileCount":140,"integrity":"sha512-nnICg7EHMPwHUtLHC5IkN5Rp0VqZ/BOzcg7HDUbYrUXzpFYJL9tZSzAfCqPQBKCaCBmHfYBisx4JOYEaX36ZTQ==","signatures":[{"sig":"MEYCIQDip7wgDa8apYfWVVIRWijOY41Zi5EQRIM4/a6oBc3+FwIhAI62ZmFC7PuGOjOdVfegaPE13xW+3/kTTsT/hb4M4AEQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311137},"main":"./dist/commonjs/index.js","type":"module","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\f588cc96-915b-44b5-9f35-fd4bad478501\\azure-ai-speech-transcription-1.0.0-beta.1.tgz","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","browser":"./dist/browser/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"browser":{"types":"./dist/browser/index.d.ts","default":"./dist/browser/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"},"react-native":{"types":"./dist/react-native/index.d.ts","default":"./dist/react-native/index.js"}},"./api":{"import":{"types":"./dist/esm/api/index.d.ts","default":"./dist/esm/api/index.js"},"browser":{"types":"./dist/browser/api/index.d.ts","default":"./dist/browser/api/index.js"},"require":{"types":"./dist/commonjs/api/index.d.ts","default":"./dist/commonjs/api/index.js"},"react-native":{"types":"./dist/react-native/api/index.d.ts","default":"./dist/react-native/api/index.js"}},"./models":{"import":{"types":"./dist/esm/models/index.d.ts","default":"./dist/esm/models/index.js"},"browser":{"types":"./dist/browser/models/index.d.ts","default":"./dist/browser/models/index.js"},"require":{"types":"./dist/commonjs/models/index.d.ts","default":"./dist/commonjs/models/index.js"},"react-native":{"types":"./dist/react-native/models/index.d.ts","default":"./dist/react-native/models/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"eslint package.json src test","pack":"pnpm pack 2>&1","test":"npm run test:node && npm run test:browser","build":"npm run clean && dev-tool run build-package && dev-tool run extract-api","clean":"rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log","format":"prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","lint:fix":"eslint package.json src test --fix --fix-type [problem,suggestion]","test:node":"dev-tool run test:vitest","extract-api":"rimraf review && dev-tool run extract-api","check-format":"prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","test:browser":"echo skipped","build:samples":"tsc -p tsconfig.samples.json","test:node:esm":"dev-tool run test:vitest --esm","execute:samples":"echo skipped","generate:client":"tsp-client update && npm run format && dev-tool customization apply-v2","update-snippets":"dev-tool run update-snippets"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"prettier":"@azure/eslint-plugin-azure-sdk/prettier.json","sdk-type":"client","_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\f588cc96-915b-44b5-9f35-fd4bad478501\\azure-ai-speech-transcription-1.0.0-beta.1.tgz","//metadata":{"constantPaths":[{"path":"src/api/transcriptionContext.ts","prefix":"userAgentInfo"}]},"_integrity":"sha512-nnICg7EHMPwHUtLHC5IkN5Rp0VqZ/BOzcg7HDUbYrUXzpFYJL9tZSzAfCqPQBKCaCBmHfYBisx4JOYEaX36ZTQ==","repository":{"url":"git+https://github.com/Azure/azure-sdk-for-js.git","type":"git"},"autoPublish":false,"description":"A generated SDK for TranscriptionClient.","directories":{},"sideEffects":false,"_nodeVersion":"18.5.0","dependencies":{"tslib":"^2.8.1","@azure/logger":"^1.2.0","@azure/core-auth":"^1.9.0","@azure/core-util":"^1.12.0","@azure-rest/core-client":"^2.3.1","@azure/core-rest-pipeline":"^1.20.0"},"react-native":"./dist/react-native/index.js","_hasShrinkwrap":false,"devDependencies":{"dotenv":"^16.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.8","prettier":"^3.6.2","cross-env":"^10.1.0","playwright":"^1.56.1","typescript":"~5.9.3","@types/node":"^20.19.25","@azure/dev-tool":"^1.0.0","@azure/identity":"4.13.0","@vitest/coverage-istanbul":"^4.0.8","@azure-tools/test-recorder":"^4.1.1","@vitest/browser-playwright":"^4.0.8","@azure-tools/test-credential":"^2.1.2","@azure-tools/test-utils-vitest":"^2.0.1","@azure/eslint-plugin-azure-sdk":"^3.0.0"},"//sampleConfiguration":{"productName":"Azure AI Speech Transcription","productSlugs":["azure"]},"_npmOperationalInternal":{"tmp":"tmp/ai-speech-transcription_1.0.0-beta.1_1773601066251_0.9368783157126657","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@azure/ai-speech-transcription","version":"1.0.0-beta.2","keywords":["node","azure","cloud","typescript","browser","isomorphic"],"author":{"name":"Microsoft Corporation"},"license":"MIT","_id":"@azure/ai-speech-transcription@1.0.0-beta.2","maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/README.md","bugs":{"url":"https://github.com/Azure/azure-sdk-for-js/issues"},"tag":"beta","dist":{"shasum":"05a587a65734001eaa94a2c038b4f55ba08f734d","tarball":"https://registry.npmjs.org/@azure/ai-speech-transcription/-/ai-speech-transcription-1.0.0-beta.2.tgz","fileCount":140,"integrity":"sha512-puqP0E78vVBJ2Ilit8Hk1JIB1H//2BF95NO0Uj4M3pVUFEZalVlwUIB5PYfeCmHkqivVORFG+H79wJrpTe5xlQ==","signatures":[{"sig":"MEUCIQCxQ1+M06gdTxhIkJt4UKoLMX6OlocZPED5PYAGCesazwIgOoGq8AD3EVDtApN0/0PP4UKhLhHoV1FQrcZJpwkrns4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319034},"main":"./dist/commonjs/index.js","type":"module","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\507d2e07-6f4e-4dd7-b1af-940e53f2a4ce\\azure-ai-speech-transcription-1.0.0-beta.2.tgz","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","browser":"./dist/browser/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"browser":{"types":"./dist/browser/index.d.ts","default":"./dist/browser/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"},"react-native":{"types":"./dist/react-native/index.d.ts","default":"./dist/react-native/index.js"}},"./api":{"import":{"types":"./dist/esm/api/index.d.ts","default":"./dist/esm/api/index.js"},"browser":{"types":"./dist/browser/api/index.d.ts","default":"./dist/browser/api/index.js"},"require":{"types":"./dist/commonjs/api/index.d.ts","default":"./dist/commonjs/api/index.js"},"react-native":{"types":"./dist/react-native/api/index.d.ts","default":"./dist/react-native/api/index.js"}},"./models":{"import":{"types":"./dist/esm/models/index.d.ts","default":"./dist/esm/models/index.js"},"browser":{"types":"./dist/browser/models/index.d.ts","default":"./dist/browser/models/index.js"},"require":{"types":"./dist/commonjs/models/index.d.ts","default":"./dist/commonjs/models/index.js"},"react-native":{"types":"./dist/react-native/models/index.d.ts","default":"./dist/react-native/models/index.js"}},"./package.json":"./package.json"},"imports":{"#platform/*":{"browser":"./src/*-browser.mts","default":"./src/*.ts","react-native":"./src/*-react-native.mts"}},"scripts":{"lint":"eslint package.json src test","pack":"pnpm pack 2>&1","test":"npm run test:node && npm run test:browser","build":"npm run clean && dev-tool run build-package && dev-tool run extract-api","clean":"rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log","format":"prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","lint:fix":"eslint package.json src test --fix --fix-type [problem,suggestion]","test:node":"dev-tool run test:vitest","extract-api":"rimraf review && dev-tool run extract-api","check-format":"prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","test:browser":"echo skipped","build:samples":"tsc -p tsconfig.samples.json","test:node:esm":"dev-tool run test:vitest --esm","execute:samples":"echo skipped","generate:client":"tsp-client update && npm run format && dev-tool customization apply-v2","update-snippets":"dev-tool run update-snippets"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"prettier":"@azure/eslint-plugin-azure-sdk/prettier.json","sdk-type":"client","_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\507d2e07-6f4e-4dd7-b1af-940e53f2a4ce\\azure-ai-speech-transcription-1.0.0-beta.2.tgz","//metadata":{"constantPaths":[{"path":"src/api/transcriptionContext.ts","prefix":"userAgentInfo"}]},"_integrity":"sha512-puqP0E78vVBJ2Ilit8Hk1JIB1H//2BF95NO0Uj4M3pVUFEZalVlwUIB5PYfeCmHkqivVORFG+H79wJrpTe5xlQ==","repository":{"url":"git+https://github.com/Azure/azure-sdk-for-js.git","type":"git","directory":"sdk/transcription/ai-speech-transcription"},"autoPublish":false,"description":"A generated SDK for TranscriptionClient.","directories":{},"sideEffects":false,"_nodeVersion":"18.5.0","dependencies":{"tslib":"^2.8.1","@azure/logger":"^1.2.0","@azure/core-auth":"^1.9.0","@azure/core-util":"^1.12.0","@azure-rest/core-client":"^2.3.1","@azure/core-rest-pipeline":"^1.20.0"},"react-native":"./dist/react-native/index.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dotenv":"^16.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.1.2","prettier":"^3.6.2","cross-env":"^10.1.0","playwright":"^1.58.2","typescript":"~6.0.2","@types/node":"^20.19.25","react-native":"^0.84.1","@azure/dev-tool":"^1.0.0","@azure/identity":"4.13.0","@vitest/coverage-istanbul":"^4.1.2","@azure-tools/test-recorder":"^4.1.1","@vitest/browser-playwright":"^4.1.2","@azure-tools/test-credential":"^2.1.2","@azure-tools/test-utils-vitest":"^2.0.1","@azure/eslint-plugin-azure-sdk":"^3.0.0"},"//sampleConfiguration":{"productName":"Azure AI Speech Transcription","productSlugs":["azure"]},"_npmOperationalInternal":{"tmp":"tmp/ai-speech-transcription_1.0.0-beta.2_1778718959083_0.9870133915318802","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@azure/ai-speech-transcription","version":"1.0.0","description":"A generated SDK for TranscriptionClient.","engines":{"node":">=20.0.0"},"sideEffects":false,"autoPublish":false,"type":"module","browser":"./dist/browser/index.js","react-native":"./dist/react-native/index.js","keywords":["node","azure","cloud","typescript","browser","isomorphic"],"author":{"name":"Microsoft Corporation"},"license":"MIT","sdk-type":"client","repository":{"type":"git","url":"git+https://github.com/Azure/azure-sdk-for-js.git","directory":"sdk/transcription/ai-speech-transcription"},"bugs":{"url":"https://github.com/Azure/azure-sdk-for-js/issues"},"prettier":"@azure/eslint-plugin-azure-sdk/prettier.json","//metadata":{"constantPaths":[{"path":"src/api/transcriptionContext.ts","prefix":"userAgentInfo"}]},"dependencies":{"@azure-rest/core-client":"^2.3.1","@azure/core-auth":"^1.9.0","@azure/core-rest-pipeline":"^1.20.0","@azure/core-util":"^1.12.0","@azure/logger":"^1.2.0","tslib":"^2.8.1"},"devDependencies":{"@azure/identity":"4.13.0","@types/node":"^20.19.25","@vitest/browser-playwright":"^4.1.2","@vitest/coverage-istanbul":"^4.1.2","cross-env":"^10.1.0","dotenv":"^16.6.1","eslint":"^9.39.1","playwright":"^1.58.2","prettier":"^3.6.2","react-native":"^0.84.1","rimraf":"^6.1.0","typescript":"~6.0.2","vitest":"^4.1.2","@azure-tools/test-credential":"^2.1.2","@azure-tools/test-recorder":"^4.1.1","@azure/dev-tool":"^1.0.0","@azure/eslint-plugin-azure-sdk":"^3.0.0","@azure-tools/test-utils-vitest":"^2.0.1"},"exports":{"./package.json":"./package.json",".":{"browser":{"types":"./dist/browser/index.d.ts","default":"./dist/browser/index.js"},"react-native":{"types":"./dist/react-native/index.d.ts","default":"./dist/react-native/index.js"},"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./api":{"browser":{"types":"./dist/browser/api/index.d.ts","default":"./dist/browser/api/index.js"},"react-native":{"types":"./dist/react-native/api/index.d.ts","default":"./dist/react-native/api/index.js"},"import":{"types":"./dist/esm/api/index.d.ts","default":"./dist/esm/api/index.js"},"require":{"types":"./dist/commonjs/api/index.d.ts","default":"./dist/commonjs/api/index.js"}},"./models":{"browser":{"types":"./dist/browser/models/index.d.ts","default":"./dist/browser/models/index.js"},"react-native":{"types":"./dist/react-native/models/index.d.ts","default":"./dist/react-native/models/index.js"},"import":{"types":"./dist/esm/models/index.d.ts","default":"./dist/esm/models/index.js"},"require":{"types":"./dist/commonjs/models/index.d.ts","default":"./dist/commonjs/models/index.js"}}},"//sampleConfiguration":{"productName":"Azure AI Speech Transcription","productSlugs":["azure"]},"main":"./dist/commonjs/index.js","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","homepage":"https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/README.md","imports":{"#platform/*":{"react-native":"./src/*-react-native.mts","browser":"./src/*-browser.mts","default":"./src/*.ts"}},"scripts":{"clean":"rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log","extract-api":"rimraf review && dev-tool run extract-api","pack":"pnpm pack 2>&1","lint":"eslint package.json src test","lint:fix":"eslint package.json src test --fix --fix-type [problem,suggestion]","build:samples":"tsc -p tsconfig.samples.json","check-format":"prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","execute:samples":"echo skipped","format":"prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ","generate:client":"tsp-client update && npm run format && dev-tool customization apply-v2","test:browser":"echo skipped","build":"npm run clean && dev-tool run build-package && dev-tool run extract-api","test:node":"dev-tool run test:vitest","test:node:esm":"dev-tool run test:vitest --esm","test":"npm run test:node && npm run test:browser","update-snippets":"dev-tool run update-snippets"},"_id":"@azure/ai-speech-transcription@1.0.0","_integrity":"sha512-899Q1MTsYZV5Q6Iiis/2b984qKfAM1U5m695T8CTg3dQ69CTCzv90AzLiO3fbgS9J2N3KpltlBN0HbIWJexBpA==","_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\d73d4f6d-76a8-4cfe-a59a-f68e01b6480b\\azure-ai-speech-transcription-1.0.0.tgz","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\d73d4f6d-76a8-4cfe-a59a-f68e01b6480b\\azure-ai-speech-transcription-1.0.0.tgz","tag":"latest","_nodeVersion":"18.5.0","dist":{"integrity":"sha512-899Q1MTsYZV5Q6Iiis/2b984qKfAM1U5m695T8CTg3dQ69CTCzv90AzLiO3fbgS9J2N3KpltlBN0HbIWJexBpA==","shasum":"d5c6c6c4614d4023c70ffc42b0b01c8219c08a43","tarball":"https://registry.npmjs.org/@azure/ai-speech-transcription/-/ai-speech-transcription-1.0.0.tgz","fileCount":140,"unpackedSize":318268,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCnM499SZuBc5f7xtKItCUwqdiHvKHxenrKHl79QvpP6wIgC/srRVNHKQ/kAcE4+iQJNVDDHtqclyEF8AlRjdcsA6k="}]},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"directories":{},"maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-speech-transcription_1.0.0_1778872452006_0.3204934136656592"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T18:57:46.153Z","modified":"2026-05-15T19:14:12.343Z","1.0.0-beta.1":"2026-03-15T18:57:46.387Z","1.0.0-beta.2":"2026-05-14T00:35:59.220Z","1.0.0":"2026-05-15T19:14:12.163Z"},"bugs":{"url":"https://github.com/Azure/azure-sdk-for-js/issues"},"author":{"name":"Microsoft Corporation"},"license":"MIT","homepage":"https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/README.md","keywords":["node","azure","cloud","typescript","browser","isomorphic"],"repository":{"type":"git","url":"git+https://github.com/Azure/azure-sdk-for-js.git","directory":"sdk/transcription/ai-speech-transcription"},"description":"A generated SDK for TranscriptionClient.","maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"readme":"# Azure AI Speech Transcription client library for JavaScript\n\nThe Azure AI Speech Transcription client library provides easy access to Azure's speech-to-text transcription service, enabling you to convert audio to text with high accuracy.\n\nUse the client library to:\n\n- Transcribe audio files to text\n- Support multiple languages and locales\n- Enable speaker diarization to identify different speakers\n- Apply profanity filtering\n- Use custom speech models\n- Process both local files and remote URLs\n- Use Enhanced Mode for LLM-powered transcription and translation\n\nKey links:\n\n- [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/src)\n- [Package (NPM)](https://www.npmjs.com/package/@azure/ai-speech-transcription)\n- [API reference documentation](https://learn.microsoft.com/javascript/api/@azure/ai-speech-transcription?view=azure-node-latest)\n- [Product documentation](https://learn.microsoft.com/azure/ai-services/speech-service/overview)\n\n## Getting started\n\n### Currently supported environments\n\n- [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule)\n- Latest versions of Safari, Chrome, Edge and Firefox.\n\nSee our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details.\n\n### Prerequisites\n\n- An [Azure subscription][azure_sub].\n- An [Azure AI Speech resource](https://learn.microsoft.com/azure/ai-services/speech-service/overview#try-the-speech-service-for-free) or an [Azure AI Foundry resource](https://learn.microsoft.com/azure/ai-foundry/).\n\n### Install the `@azure/ai-speech-transcription` package\n\nInstall the Azure AI Speech Transcription client library for JavaScript with `npm`:\n\n```bash\nnpm install @azure/ai-speech-transcription\n```\n\n### Create and authenticate a `TranscriptionClient`\n\nTo create a client object to access the Azure Transcription API, you will need the `endpoint` of your Azure Transcription resource and a `credential`.\nYou can find the endpoint for your Azure Transcription resource in the [Azure Portal][azure_portal].\n\n#### Option 1: API Key Authentication\n\nYou can find your Speech resource's API key in the [Azure Portal][azure_portal].\n\n```ts snippet:ApiKeyAuthentication\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\n```\n\n#### Option 2: Entra ID Authentication (Recommended for Production)\n\nFor production scenarios, it is recommended to use Entra ID authentication with managed identities or service principals. Install the `@azure/identity` package:\n\n```bash\nnpm install @azure/identity\n```\n\nYou will also need to assign the appropriate role (e.g., \"Cognitive Services User\") to your managed identity or service principal. For more information, see [Azure AI Services authentication](https://learn.microsoft.com/azure/ai-services/authentication).\n\nUsing Node.js and Node-like environments, you can use the `DefaultAzureCredential` class to authenticate the client.\n\n```ts snippet:AzureADAuthentication\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { DefaultAzureCredential } from \"@azure/identity\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new DefaultAzureCredential());\n```\n\nFor browser environments, use the `InteractiveBrowserCredential` from the `@azure/identity` package to authenticate.\n\n```ts snippet:BrowserAuthentication\nimport { InteractiveBrowserCredential } from \"@azure/identity\";\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\n\nconst credential = new InteractiveBrowserCredential({\n  tenantId: \"<YOUR_TENANT_ID>\",\n  clientId: \"<YOUR_CLIENT_ID>\",\n});\nconst client = new TranscriptionClient(\"<endpoint>\", credential);\n```\n\n### Service API versions\n\nThe client library targets the latest service API version by default. You can select a specific supported API version when instantiating the client:\n\n```ts snippet:SelectApiVersion\nimport { TranscriptionClient, KnownServiceApiVersions } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"), {\n  serviceVersion: KnownServiceApiVersions.V20251015,\n});\n```\n\n### JavaScript Bundle\nTo use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling).\n\n## Key concepts\n\n### TranscriptionClient\n\n`TranscriptionClient` is the primary interface for developers using the Azure AI Speech Transcription client library. It provides two overloaded `transcribe` methods — one for audio binary data and one for audio URLs.\n\n### Audio Formats\n\nThe service supports various audio formats including WAV, MP3, OGG, FLAC, and more. Audio must be:\n\n- Shorter than 2 hours in duration\n- Smaller than 250 MB in size\n\n### Transcription Options\n\nYou can customize transcription with options like:\n\n- **Profanity filtering**: Control how profanity is handled in transcriptions (`\"None\"`, `\"Masked\"`, `\"Removed\"`, `\"Tags\"`)\n- **Speaker diarization**: Identify different speakers in multi-speaker audio (up to 36 speakers)\n- **Phrase lists**: Provide domain-specific phrases to improve accuracy\n- **Language detection**: Automatically detect the spoken language, or specify known locales\n- **Enhanced mode**: Improve transcription quality with LLM-powered processing, translation, and prompt-based customization\n\n## Examples\n\n- [Transcribe a local audio file](#transcribe-a-local-audio-file)\n- [Transcribe audio from a URL](#transcribe-audio-from-a-url)\n- [Access individual transcribed words](#access-individual-transcribed-words)\n- [Identify speakers with diarization](#identify-speakers-with-diarization)\n- [Filter profanity](#filter-profanity)\n- [Improve accuracy with custom phrases](#improve-accuracy-with-custom-phrases)\n- [Transcribe with a known language](#transcribe-with-a-known-language)\n- [Use Enhanced Mode for highest accuracy](#use-enhanced-mode-for-highest-accuracy)\n- [Translate with Enhanced Mode](#translate-with-enhanced-mode)\n- [Combine multiple options](#combine-multiple-options)\n\n### Transcribe a local audio file\n\nThe most basic operation is to transcribe an audio file from your local filesystem:\n\n```ts snippet:TranscribeLocalFile\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.wav\");\nconst result = await client.transcribe(audioFile);\nconsole.log(`Duration: ${result.durationInMs}ms`);\nconsole.log(\"Transcription:\", result.combinedPhrases[0]?.text);\n```\n\n### Transcribe audio from a URL\n\nYou can transcribe audio directly from a publicly accessible URL without downloading the file first:\n\n```ts snippet:TranscribeFromUrl\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst result = await client.transcribe(\"https://example.com/audio/sample.wav\", {\n  locales: [\"en-US\"],\n});\nconsole.log(\"Transcription:\", result.combinedPhrases[0]?.text);\n```\n\n### Access individual transcribed words\n\nTo access word-level details including timestamps, confidence scores, and individual words:\n\n```ts snippet:AccessTranscribedWords\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.wav\");\nconst result = await client.transcribe(audioFile);\nfor (const phrase of result.phrases) {\n  console.log(`Phrase: ${phrase.text}`);\n  console.log(`  Offset: ${phrase.offsetInMs}ms | Duration: ${phrase.durationInMs}ms`);\n  console.log(`  Confidence: ${phrase.confidence.toFixed(2)}`);\n  // Access individual words in the phrase\n  for (const word of phrase.words ?? []) {\n    console.log(`    Word: '${word.text}' | Offset: ${word.offsetInMs}ms`);\n  }\n}\n```\n\n### Identify speakers with diarization\n\nSpeaker diarization identifies who spoke when in multi-speaker conversations:\n\n```ts snippet:TranscribeWithDiarization\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/conversation.wav\");\nconst result = await client.transcribe(audioFile, {\n  diarizationOptions: {\n    maxSpeakers: 4, // Expect up to 4 speakers in the conversation\n  },\n});\nfor (const phrase of result.phrases) {\n  console.log(`Speaker ${phrase.speaker}: ${phrase.text}`);\n}\n```\n\n> **Note**: The total number of identified speakers will never exceed `maxSpeakers`. If the actual audio contains more speakers than specified, the service will consolidate them. Set a reasonable upper bound if you are unsure of the exact count.\n\n### Filter profanity\n\nControl how profanity appears in your transcriptions using different filter modes:\n\n```ts snippet:TranscribeWithProfanityFilter\nimport { TranscriptionClient, KnownProfanityFilterModes } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.wav\");\nconst result = await client.transcribe(audioFile, {\n  profanityFilterMode: KnownProfanityFilterModes.Masked, // Default - profanity replaced with asterisks\n});\nconsole.log(\"Transcription:\", result.combinedPhrases[0]?.text);\n```\n\nAvailable modes:\n- `\"None\"`: No filtering — profanity appears as spoken\n- `\"Masked\"`: Profanity replaced with asterisks (e.g., `f***`)\n- `\"Removed\"`: Profanity completely removed from text\n- `\"Tags\"`: Profanity wrapped in XML tags (e.g., `<profanity>word</profanity>`)\n\n### Improve accuracy with custom phrases\n\nAdd custom phrases to help the service correctly recognize domain-specific terms, names, and acronyms:\n\n```ts snippet:TranscribeWithPhraseList\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.wav\");\nconst result = await client.transcribe(audioFile, {\n  phraseList: {\n    phrases: [\"Contoso\", \"Jessie\", \"Rehaan\"],\n  },\n});\nconsole.log(\"Transcription:\", result.combinedPhrases[0]?.text);\n```\n\n### Transcribe with a known language\n\nWhen you know the language of the audio, specifying a single locale improves accuracy and reduces latency:\n\n```ts snippet:TranscribeWithKnownLocale\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/english-audio.mp3\");\nconst result = await client.transcribe(audioFile, {\n  locales: [\"en-US\"],\n});\nconsole.log(\"Transcription:\", result.combinedPhrases[0]?.text);\n```\n\nFor language identification when you are unsure of the language, specify multiple candidate locales and the service will automatically detect the language:\n\n```ts snippet:TranscribeWithLanguageIdentification\nimport { TranscriptionClient } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.mp3\");\nconst result = await client.transcribe(audioFile, {\n  locales: [\"en-US\", \"es-ES\"],\n});\nfor (const phrase of result.phrases) {\n  console.log(`[${phrase.locale}] ${phrase.text}`);\n}\n```\n\n### Use Enhanced Mode for highest accuracy\n\nEnhanced Mode uses LLM-powered processing for the highest accuracy transcription:\n\n```ts snippet:TranscribeWithEnhancedMode\nimport { TranscriptionClient, KnownProfanityFilterModes } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/audio.wav\");\nconst result = await client.transcribe(audioFile, {\n  // Enhanced mode: LLM-powered speech recognition with prompt customization\n  enhancedMode: {\n    task: \"transcribe\",\n    prompt: [\"Output must be in lexical format.\"],\n  },\n  // Existing Fast Transcription options work alongside enhanced mode\n  diarizationOptions: {\n    maxSpeakers: 2,\n  },\n  profanityFilterMode: KnownProfanityFilterModes.Masked,\n  activeChannels: [0, 1],\n});\nfor (const phrase of result.phrases) {\n  console.log(`[Speaker ${phrase.speaker}] ${phrase.text}`);\n}\n```\n\n### Translate with Enhanced Mode\n\nEnhanced Mode also supports translating speech to a target language:\n\n```ts snippet:TranslateWithEnhancedMode\nimport { TranscriptionClient, KnownProfanityFilterModes } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/chinese-audio.wav\");\nconst result = await client.transcribe(audioFile, {\n  enhancedMode: {\n    task: \"translate\",\n    targetLanguage: \"ko\", // Translate to Korean\n  },\n  profanityFilterMode: KnownProfanityFilterModes.Masked,\n});\nconsole.log(\"Translated to Korean:\", result.combinedPhrases[0]?.text);\n```\n\n### Combine multiple options\n\nYou can combine multiple transcription features for complex scenarios:\n\n```ts snippet:TranscribeWithMultipleOptions\nimport { TranscriptionClient, KnownProfanityFilterModes } from \"@azure/ai-speech-transcription\";\nimport { AzureKeyCredential } from \"@azure/core-auth\";\nimport { readFileSync } from \"node:fs\";\n\nconst client = new TranscriptionClient(\"<endpoint>\", new AzureKeyCredential(\"<api-key>\"));\nconst audioFile = readFileSync(\"path/to/meeting.wav\");\nconst result = await client.transcribe(audioFile, {\n  // Enable speaker diarization\n  diarizationOptions: {\n    maxSpeakers: 5,\n  },\n  // Mask profanity\n  profanityFilterMode: KnownProfanityFilterModes.Masked,\n  // Add custom phrases\n  phraseList: {\n    phrases: [\"action items\", \"Q4\", \"KPIs\"],\n  },\n});\nconsole.log(\"Full Transcript:\");\nconsole.log(result.combinedPhrases[0]?.text);\nfor (const phrase of result.phrases) {\n  console.log(`Speaker ${phrase.speaker}: ${phrase.text}`);\n}\n```\n\n## Troubleshooting\n\n### Common issues\n\n- **Authentication failures**: Verify your API key or Entra ID credentials are correct and that your Speech resource is active.\n- **Unsupported audio format**: Ensure your audio is in a supported format (WAV, MP3, OGG, FLAC, etc.). The service automatically handles format detection.\n- **Slow transcription**: For large files, ensure your network connection is stable.\n- **Poor accuracy**: Try specifying the correct locale, adding custom phrases for domain-specific terms, or using Enhanced Mode.\n\n### Logging\n\nEnabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:\n\n```ts snippet:EnableLogging\nimport { setLogLevel } from \"@azure/logger\";\n\nsetLogLevel(\"info\");\n```\n\nFor more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger).\n\n## Next steps\n\nExplore additional samples to learn more about advanced features:\n\n- [Basic Transcription](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/basicTranscription.ts) - Create clients and basic transcription\n- [Transcription Options](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/transcriptionOptions.ts) - Combine multiple transcription features\n- [Transcription from URL](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/transcriptionFromUrl.ts) - Transcribe from remote URLs\n- [Enhanced Mode](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/enhancedMode.ts) - LLM-powered transcription and translation\n- [Profanity Filtering](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/profanityFiltering.ts) - All profanity filtering modes\n- [Speaker Diarization](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/speakerDiarization.ts) - Speaker identification\n- [Phrase List](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/phraseList.ts) - Custom vocabulary\n- [Transcription with Locale](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/transcriptionWithLocale.ts) - Language specification and detection\n- [Multilingual Transcription](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/transcription/ai-speech-transcription/samples-dev/multilingualTranscription.ts) - Multilingual content (preview)\n\n## Contributing\n\nIf you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.\n\n## Related projects\n\n- [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js)\n\n[azure_sub]: https://azure.microsoft.com/free/\n[azure_portal]: https://portal.azure.com\n[azure_identity]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity\n[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential\n","readmeFilename":"README.md"}