azure-ai-transcription-py — скилл для Claude Code: транскрибация
Скилл помогает писать Python-код для Azure AI Transcription: преобразовывать речь в текст пакетно или в реальном времени. Пригодится для расшифровки записей с отметками времени и разделением говорящих.
npx skills add microsoft/skills --skill azure-ai-transcription-py -a claude-codeЧто делает azure-ai-transcription-py
Скилл подсказывает, как использовать SDK azure-ai-transcription для пакетной и потоковой транскрибации. В пакетном режиме можно отправить аудио из хранилища и получить результат задания; при потоковом распознавании аудиофайл передаётся через TranscriptionClient, а текст приходит в событиях. Для нескольких собеседников предусмотрено разделение по говорящим, а отметки времени пригодятся для субтитров.
Для работы нужны Python-пакет azure-ai-transcription, адрес ресурса в TRANSCRIPTION_ENDPOINT и аутентификация: ключ в TRANSCRIPTION_KEY либо учётные данные Microsoft Entra ID. Клиенты следует закрывать через контекстный менеджер; синхронный и асинхронный режимы в одном пути вызова смешивать не нужно. Без адреса ресурса и подходящих учётных данных клиент не подключится.
Какие задачи решает
- Расшифровать длинную аудиозапись пакетным заданием
- Получать текст из аудиопотока в реальном времени
- Разделить расшифровку по говорящим
- Подготовить текст с отметками времени для субтитров
Примеры запросов агенту
- Напиши Python-код для пакетной расшифровки
audio.wavчерез Azure AI Transcription. - Покажи, как передавать
audio.wavв потоковое распознавание и получать текст из событий. - Добавь в пример разделение реплик нескольких говорящих и отметки времени.
Как установить azure-ai-transcription-py
1Через Skills CLI (Vercel)
npx skills add microsoft/skills --skill azure-ai-transcription-py -a claude-code2Вручную: положить файлы
~/.claude/skills/azure-ai-transcription-py/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/azure-ai-transcription-py/
Вручную: положить файлы
.agents/skills/azure-ai-transcription-py/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/azure-ai-transcription-py/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install microsoft/skills azure-ai-transcription-py2Вручную: положить файлы
.github/skills/azure-ai-transcription-py/SKILL.mdКомандой платформы
gemini skills install https://github.com/microsoft/skills --path .github/plugins/azure-sdk-python/skills/azure-ai-transcription-pyВручную: положить файлы
.devin/skills/azure-ai-transcription-py/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о azure-ai-transcription-py
Как установить azure-ai-transcription-py в Claude Code?
Выполните npx skills add microsoft/skills --skill azure-ai-transcription-py -a claude-code. Файл скилла находится по пути ~/.claude/skills/azure-ai-transcription-py/SKILL.md.
Что делает azure-ai-transcription-py?
Помогает писать код для пакетной и потоковой транскрибации через Azure AI Transcription SDK для Python. Скилл охватывает работу с отметками времени и разделением по говорящим.
Что нужно для подключения к Azure AI Transcription?
Установить пакет azure-ai-transcription, задать TRANSCRIPTION_ENDPOINT и настроить аутентификацию ключом через TRANSCRIPTION_KEY либо учётными данными Microsoft Entra ID.
Исходный текст
SKILL.md · MIT
---
name: azure-ai-transcription-py
description: |
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".
license: MIT
metadata:
author: Microsoft
version: "1.0.0"
package: azure-ai-transcription
---
# Azure AI Transcription SDK for Python
Client library for Azure AI Transcription (speech-to-text) with real-time and batch transcription.
## Installation
```bash
pip install azure-ai-transcription
```
## Environment Variables
```bash
TRANSCRIPTION_ENDPOINT=https://<resource>.cognitiveservices.azure.com
TRANSCRIPTION_KEY=<your-key> # For key auth; not needed when using DefaultAzureCredential/TokenCredential
```
## Authentication & Lifecycle
> **🔑 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:
```python
import 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())
```
## Transcription (Batch)
```python
import 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)
```
## Transcription (Real-time)
```python
import 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)
```
## Best Practices
1. **Pick sync OR async and stay consistent.** Do not mix `azure.xxx` sync clients with `azure.xxx.aio` async clients in the same call path. Choose one mode per module.
2. **Always use context managers for clients and async credentials.** Wrap every client in `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.
3. **Enable diarization** when multiple speakers are present
4. **Use batch transcription** for long files stored in blob storage
5. **Capture timestamps** for subtitle generation
6. **Specify language** to improve recognition accuracy
7. **Handle streaming backpressure** for real-time transcription
8. **Close transcription sessions** when complete
## Reference Files
| File | Contents |
|------|----------|
| [references/capabilities.md](references/capabilities.md) | Additional non-hero capabilities, operation-group coverage, and production checklists. |
| [references/non-hero-scenarios.md](references/non-hero-scenarios.md) | Dedicated non-hero examples for secondary/advanced scenarios. |
© Microsoft · MIT · microsoft/skills