Azure AI Transcription for Python
Guides Python applications through Azure AI real-time and batch speech-to-text transcription.
The documentation requires environment-based credentials, recommends DefaultAzureCredential in production, and documents deterministic client cleanup, reducing hardcoded-secret and resource-leak risks. Points are deducted because it does not disclose audio/transcript data flows, privacy, retention, or cross-border processing, and provides no user confirmation, least-privilege guidance, or recovery path for external storage access and deletion operations.
Batch, real-time, retry, timeout, and cleanup examples are present, with some abnormal cases addressed. Points are deducted because the review is static and no tests specific to this skill path are supplied; the pagination example merely iterates a lazy iterator, while async usage and several API behaviors remain unverified and failure feedback and edge-case coverage are limited.
Triggers, Python SDK scope, and batch versus real-time transcription scenarios are reasonably clear, with guidance on timestamps, diarization, and language selection. Points are deducted because non-fit cases, input/output formats, regional/network requirements, Chinese-language considerations, and mainland-China reachability are not defined; core operation depends on Azure services and external audio URLs.
The skill has front matter, MIT licensing, version metadata, installation and environment-variable notes, layered references, and several examples. Points are deducted because SDK version constraints, changelog, maintenance owner, and update path are absent; limitations, FAQs, troubleshooting, and current API compatibility guidance are thin, while the README identifies the repository as work in progress.
The skill covers core client setup plus batch, real-time, retry, timeout, listing, and deletion patterns, offering directly reusable guidance to a coding agent. Points are deducted because examples omit production-ready result persistence, robust error handling, subtitle/timestamp output, and data governance; static evidence cannot confirm that all methods and parameters match the current package version.
The skill includes concrete code, package names, environment variables, and reference indexes, while the repository provides general CI, evaluation workflows, and harness tests. Points are deducted because no skill-specific tests, evaluation results, or third-party execution evidence are shown; generic repository tooling does not establish that these examples run, and key claims lack pinned versions or auditable citations.
- Transcription may process personal or sensitive voice data; verify Azure region, retention, access control, and compliance requirements before use.
- Do not adopt the completed-transcription deletion example without user confirmation, auditing, and a recovery policy.
- Verify the current azure-ai-transcription API, sync/async credential requirements, and streaming interface; the documentation does not pin dependencies or provide dedicated tests.
- Reachability of Azure endpoints, external storage URLs, and authentication flows from mainland-China networks is not established by the supplied material.
What it does & when to use it
This skill is for developers using the Azure AI Transcription SDK for Python. It covers real-time and batch speech-to-text workflows, including timestamps, speaker diarization, language selection, and streaming practices. Its examples use environment variables for the endpoint and key and require clients to be managed with context managers. It fits teams that already have an Azure transcription resource and want focused SDK guidance for coding agents.
It guides developers to install azure-ai-transcription, configure TRANSCRIPTION_ENDPOINT and TRANSCRIPTION_KEY, and create a TranscriptionClient. It shows AzureKeyCredential and DefaultAzureCredential/TokenCredential authentication; batch transcription submits audio URLs, waits for the job result, and reads its status; real-time transcription starts a stream, sends a local audio file, and reads text from events.
- A Python developer needs to batch-transcribe long audio files stored in Blob Storage.
- An application developer needs to process live audio and read transcription text event by event.
- A meeting application needs speaker diarization when multiple speakers are present.
- A developer needs timestamps for subtitle generation or other time-aligned output.
- An Azure team wants to use DefaultAzureCredential instead of hardcoding credentials in production code.
Pros & cons
- Covers both batch and real-time transcription.
- Provides copyable Python installation and client examples.
- Clearly documents both key-based and Entra ID authentication modes.
- Highlights context managers, diarization, language selection, and streaming backpressure.
- The examples focus on synchronous APIs and do not provide a complete async implementation.
- The SKILL.md provides no pricing, quota, or regional availability information.
- The referenced capabilities.md and non-hero-scenarios.md content was not included in the supplied material.
- The batch and real-time examples do not show concrete error-handling code.
How to install
Install the collection with npx skills add microsoft/skills, then select the required skill in the wizard; collection skills are installed in the selected agent directory, such as .github/skills/. Install the SDK with pip install azure-ai-transcription. The provided SKILL.md does not document additional agent-specific setup.
How to use
In an Agent Skills-compatible coding agent, use a request containing “transcription,” “speech to text,” “Azure AI Transcription,” or “TranscriptionClient” to trigger the skill. Set TRANSCRIPTION_ENDPOINT and, for key authentication, TRANSCRIPTION_KEY; manage the client with with TranscriptionClient(...) as client:. For batch work, call begin_transcription with content_urls; for real-time work, call begin_stream_transcription, send an audio file, and iterate over events.