Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Azure AI Transcription SDK for Python. Use for real-time and batch speech-to-text transcription with timestamps and diarization. Triggers: "transcription", "speech to text", "Azure AI Transcription", "TranscriptionClient".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -37% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -14% | 0% |
Client library for Azure AI Transcription (speech-to-text) with real-time and batch transcription.
bashpip install azure-ai-transcription
bashTRANSCRIPTION_ENDPOINT=https://<resource>.cognitiveservices.azure.com TRANSCRIPTION_KEY=<your-key> # For key auth; not needed when using DefaultAzureCredential/TokenCredential
> 🔑 Two rules apply to every code sample below: > > 1. Two auth modes are supported: AzureKeyCredential(os.environ["TRANSCRIPTION_KEY"]) for key-based auth, or DefaultAzureCredential() / any TokenCredential for Entra ID. Prefer DefaultAzureCredential in production; never hardcode credentials in code. > 2. Wrap every client in a context manager so HTTP transports and sockets are released deterministically: > - Sync: with <Client>(...) as client: > - Async: async with <Client>(...) as client: > > Snippets may abbreviate this setup, but production code should always follow both rules.
Use subscription key authentication:
pythonimport os from azure.core.credentials import AzureKeyCredential from azure.ai.transcription import TranscriptionClient with TranscriptionClient( endpoint=os.environ["TRANSCRIPTION_ENDPOINT"], credential=AzureKeyCredential(os.environ["TRANSCRIPTION_KEY"]), ) as client: transcriptions = list(client.list_transcriptions())
pythonimport os from azure.core.credentials import AzureKeyCredential from azure.ai.transcription import TranscriptionClient with TranscriptionClient( endpoint=os.environ["TRANSCRIPTION_ENDPOINT"], credential=AzureKeyCredential(os.environ["TRANSCRIPTION_KEY"]), ) as client: job = client.begin_transcription( name="meeting-transcription", locale="en-US", content_urls=["https://<storage>/audio.wav"], diarization_enabled=True, ) result = job.result() print(result.status)
pythonimport os from azure.core.credentials import AzureKeyCredential from azure.ai.transcription import TranscriptionClient with TranscriptionClient( endpoint=os.environ["TRANSCRIPTION_ENDPOINT"], credential=AzureKeyCredential(os.environ["TRANSCRIPTION_KEY"]), ) as client: stream = client.begin_stream_transcription(locale="en-US") stream.send_audio_file("audio.wav") for event in stream: print(event.text)
azure.xxx sync clients with azure.xxx.aio async clients in the same call path. Choose one mode per module.with Client(...) as client: (sync) or async with Client(...) as client: (async). For async DefaultAzureCredential from azure.identity.aio, also use async with credential: so tokens and transports are cleaned up.| File | Contents | |------|----------| | references/capabilities.md | Additional non-hero capabilities, operation-group coverage, and production checklists. | | references/non-hero-scenarios.md | Dedicated non-hero examples for secondary/advanced scenarios. |
Other measured skills in the registry, with their headline benchmark lift.