# Speech.transcribe

> Transcribe audio with the native audio_transcribe tool, including provider override, diarization, timestamps, language detection, and transcript artifacts.

- Skill: `hybridaione/speech-transcribe` (Agent Skill)
- Install (CLI): `npx skillmds@latest add hybridaione/speech-transcribe`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hybridaione/speech-transcribe/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: HybridAIOne (https://skillmd.com/u/hybridaione)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/hybridaione/speech-transcribe

---


# Speech Transcribe

Use the native `audio_transcribe` tool when the user asks to transcribe,
caption, diarize, timestamp, or identify speakers in an audio or video clip.

## Workflow

1. Call `audio_transcribe` with `action: "list"` if you need provider
   readiness or the user asks what is configured.
2. Pass `audio` as a current attachment filename/ref, `/workspace` path,
   `/discord-media-cache` path, `/uploaded-media-cache` path, or HTTPS media
   URL.
3. Use `provider: "auto"` unless the user asks for `openai`, `deepgram`, or
   `assemblyai`, or unless diarization is required. Auto mode honors the tenant
   `skills.speechToText.defaultProvider` config when it is set. Prefer Deepgram
   or AssemblyAI for speaker labels.
4. Pass `language` only when the user gives a known language. Omit it for
   provider language detection.
5. Set `diarization: true` when the user asks for speaker labels.
6. Set `timestamps` to `word`, `segment`, or `none` based on the request.
7. Return the structured result fields that matter: transcript text, provider,
   detected language, duration, cost, warnings, and artifact paths.

The native tool owns provider credentials, provider fallback, output schema,
long-audio chunking for local and remote OpenAI uploads when `ffmpeg`/`ffprobe`
are available, transcript artifact persistence, and usage-cost accounting.

## Output Contract

The tool returns JSON shaped like:

```json
{
  "text": "Transcript text",
  "segments": [{ "start": 0, "end": 1.2, "speaker": "speaker_0", "text": "..." }],
  "language": "en",
  "provider": "deepgram",
  "duration_sec": 12.3,
  "cost_usd": 0.001
}
```

Transcript text and segment JSON are also persisted as private workspace
artifacts. Treat transcripts as operator-private until the user explicitly asks
to share, post, email, or publish them.

