Tristan Manchester

AssemblyAI advanced speech transcription

Design & Mediav1.0.1
By Tristan ManchesterUpdated 2026-05-112 versions · latest released 2026-03-14assemblyai-transcribe
#Transcribe#Transcription#Speech-to-Text#Json

According to AlphaMoat, as of 2026-09, AssemblyAI advanced speech transcription has 4,152 downloads and 3 stars — ranked #2,421 of 5,078 AI skills overall, and #232 of 512 in Design & Media.

Installs
135
Downloads
4.2K
Stars
3
Overall Rank
#2,421
Top 48% overall · Top 46% in Design & Media
PlatformInstallsDownloadsStarsComments
ClawHub ↗1354.2K3-

Platforms count differently and update at different times.

What this skill does

The skill supports local files or public URLs and can produce transcripts, speaker labels, subtitles, and structured text, as well as translate or process existing transcripts. Local files are uploaded and public URLs are sent to AssemblyAI; confidential recordings and transcript text may be processed externally. Do not process confidential media without approval. Select the required regional endpoint before upload and protect API keys. Deletion can remove remote transcript data, so verify the ID and obtain confirmation first. Requires Node.js 18 or later and ASSEMBLYAI_API_KEY.

Profile published 2026-10-29

What you can do with it

  • Create a transcript or subtitles for approved audio or video

When to use it

  • You need transcription, speaker separation, translation, or structured exports

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Plan a transcription workflow and list privacy, region, and credential checks before upload

Monthly Trend

Downloads4.2K
3.4K3.8K4.2K2026-05 · Downloads 3.5K2026-06 · Downloads 3.6K2026-07 · Downloads 3.8K2026-08 · Downloads 4.0K2026-09 · Downloads 4.2K26-0526-09
Stars3
2342026-05 · Stars 32026-06 · Stars 32026-07 · Stars 32026-08 · Stars 32026-09 · Stars 326-0526-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-094.2K—3
2026-084.0K+4.4%3
2026-073.8K+7.0%3
2026-063.6K+4.0%3
2026-053.5K—3

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

9.4 KB · ClawHub v1.0.1
---
name: assemblyai-transcribe
description: >
  Transcribe, diarise, translate, post-process, and structure audio/video with AssemblyAI.
  Use this skill when the user wants AssemblyAI specifically, needs high-quality speech-to-text
  from a local file or URL, wants speaker labels or named speakers, language detection, subtitles,
  paragraph/sentence exports, topic/entity/sentiment extraction, Speech Understanding, or agent-friendly
  transcript output as Markdown or normalised JSON for downstream AI workflows.
compatibility: Requires Node.js 18+ with internet access and ASSEMBLYAI_API_KEY. Optional ASSEMBLYAI_BASE_URL / ASSEMBLYAI_LLM_BASE_URL for EU routing.
metadata:
Show all (272 lines)
  author: OpenAI
  version: "2.0.0"
  homepage: https://www.assemblyai.com/docs
  clawdbot:
    skillKey: assemblyai
    emoji: "🎙️"
    requires:
      bins:
        - node
      env:
        - ASSEMBLYAI_API_KEY
    primaryEnv: ASSEMBLYAI_API_KEY
---

# AssemblyAI transcription, Speech Understanding, and agent-friendly exports

Use this skill when the user wants **AssemblyAI** rather than generic transcription, or when the job benefits from AssemblyAI-specific capabilities such as:

- model routing across `universal-3-pro` and `universal-2`
- language detection and code switching
- diarisation plus **speaker name / role mapping**
- translation, custom formatting, or AssemblyAI speaker identification
- subtitles, paragraphs, sentences, topic / entity / sentiment tasks
- transcript output that is easy for **other agents** to consume as Markdown or normalised JSON

The skill is designed for AI agents like OpenClaw, not just end users. It provides:

1. **A no-dependency Node CLI** in `scripts/assemblyai.mjs` (and a compatibility wrapper at `assemblyai.mjs`)
2. **Bundled model/language knowledge** via `models` and `languages` commands
3. **Stable transcript output formats**
   - agent-friendly Markdown
   - normalised agent JSON
   - bundle manifests for downstream automation
4. **Speaker mapping workflows**
   - manual speaker/channel maps
   - AssemblyAI speaker identification
   - merged display names in both Markdown and JSON
5. **AssemblyAI LLM Gateway integration** for structured extraction from transcripts

## Use this skill in this order

### 1) Decide whether the user needs AssemblyAI-specific behaviour
If they just want “a transcript”, a generic solution may be enough. Reach for this skill when the user mentions AssemblyAI, wants a specific AssemblyAI feature, or needs the richer outputs and post-processing this skill provides.

### 2) Pick the best entry point

- **New transcription** → `transcribe`
- **Existing transcript id** → `get` or `wait`
- **Re-render existing saved JSON** → `format`
- **Post-process an existing transcript** → `understand`
- **Run transcript text through LLM Gateway** → `llm`
- **Need a quick capability lookup before deciding** → `models` or `languages`

### 3) Prefer the agent-friendly defaults
For most unknown-language or mixed-language jobs, prefer:

```bash
node {baseDir}/assemblyai.mjs transcribe INPUT   --bundle-dir ./assemblyai-out   --all-exports
```

Why:

- the CLI defaults to **auto-best** routing when models are not specified
- it writes a **manifest + multiple files** that agents can inspect without reparsing terminal output
- Markdown and agent JSON become available immediately for follow-on steps

## Quick-start recipes

### Best general default
Use this when the source language is unknown or could be outside the 6-language Universal-3-Pro set:

```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --bundle-dir ./out   --all-exports
```

This defaults to model routing plus language detection unless the request already specifies a model or language.

### Best known-language accuracy
If the language is known and supported by Universal-3-Pro, prefer an explicit request:

```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --speech-model universal-3-pro   --language-code en_us   --bundle-dir ./out
```

### Meeting / interview with speaker labels
```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --speaker-labels   --bundle-dir ./out
```

### Add explicit speaker names or roles
Manual mapping:

```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --speaker-labels   --speaker-map @assets/speaker-map.example.json   --bundle-dir ./out
```

AssemblyAI speaker identification:

```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --speaker-labels   --speaker-type role   --known-speakers "host,guest"   --bundle-dir ./out
```

Or post-process an existing transcript:

```bash
node {baseDir}/assemblyai.mjs understand TRANSCRIPT_ID   --speaker-type name   --speaker-profiles @assets/speaker-profiles-name.example.json   --bundle-dir ./out
```

### Translation
```bash
node {baseDir}/assemblyai.mjs transcribe ./meeting.mp3   --translate-to de,fr   --match-original-utterance   --bundle-dir ./out
```

### Structured extraction through LLM Gateway
```bash
node {baseDir}/assemblyai.mjs llm TRANSCRIPT_ID   --prompt @assets/example-prompt.txt   --schema @assets/llm-json-schema.example.json   --out ./summary.json
```

## Command guidance

## `transcribe`
Use for local files or remote URLs.

- Local files are uploaded first.
- Public URLs are sent directly to AssemblyAI.
- Waits by default, then renders output.

Prefer `--bundle-dir` for anything longer than a trivial clip.

## `get` / `wait`
Use when you already have the transcript id. `wait` blocks until completion; `get` fetches immediately unless you add `--wait`.

## `format`
Use when you already saved:
- raw transcript JSON from AssemblyAI, or
- the normalised agent JSON produced by this skill

This is useful when you want to apply a new speaker map, re-render Markdown, or generate a fresh bundle without retranscribing.

## `understand`
Use when you need AssemblyAI **Speech Understanding** on an existing transcript:

- translation
- speaker identification
- custom formatting

This command fetches the transcript, merges in the returned understanding results, then renders updated Markdown / agent JSON / bundle outputs.

## `llm`
Use when the user wants:
- summaries
- extraction
- structured JSON
- downstream reasoning over the transcript

Prefer `--schema` when the next step is automated.

## Output strategy

### Best default for agents: bundle mode
`--bundle-dir` writes a directory containing:

- Markdown transcript
- agent JSON
- raw JSON
- optional paragraphs / sentences / subtitles
- a machine-readable manifest

This is usually better than dumping everything to stdout.

### Primary output kinds
Use `--export` to choose the main output:

- `markdown` (default)
- `agent-json`
- `json` / `raw-json`
- `text`
- `paragraphs`
- `sentences`
- `srt`
- `vtt`
- `manifest`

### Sidecar outputs
You can request extra files directly with:

- `--markdown-out`
- `--agent-json-out`
- `--raw-json-out`
- `--paragraphs-out`
- `--sentences-out`
- `--srt-out`
- `--vtt-out`
- `--understanding-json-out`

## Speaker mapping rules

Speaker display names are merged in this order:

1. manual `--speaker-map`
2. AssemblyAI speaker identification mapping
3. fallback generic names like `Speaker A` or `Channel 1`

This means you can let AssemblyAI identify speakers first, then still override individual display names later.

Example manual map file: `assets/speaker-map.example.json`

## Model and language lookup

Before choosing parameters, inspect the bundled reference data:

```bash
node {baseDir}/assemblyai.mjs models
node {baseDir}/assemblyai.mjs models --format json
node {baseDir}/assemblyai.mjs languages --model universal-3-pro
node {baseDir}/assemblyai.mjs languages --model universal-2 --codes --format json
```

The bundled data lives in:

- `assets/model-capabilities.json`
- `assets/language-codes.json`

## Important operating notes

- Keep API keys out of chat logs; use environment injection.
- Use the **EU** AssemblyAI base URL when the user explicitly needs EU processing.
- Uploads and transcript creation must use API keys from the **same AssemblyAI project**.
- Prefer `--bundle-dir` or `--out` for long outputs.
- The CLI is non-interactive and sends diagnostics to stderr, which makes it easier for agents to script reliably.
- Use raw `--config` or `--request` when you need a newly added AssemblyAI parameter that this skill has not exposed yet.

## Reference files

Read these when you need more depth:

- [Capabilities](references/capabilities.md)
- [Workflows and recipes](references/workflows.md)
- [Output formats](references/output-formats.md)
- [Speaker mapping](references/speaker-mapping.md)
- [LLM Gateway notes](references/llm-gateway.md)
- [Troubleshooting](references/troubleshooting.md)

## Key bundled files

- `assemblyai.mjs` — root wrapper for compatibility with the original skill
- `scripts/assemblyai.mjs` — main CLI
- `assets/speaker-map.example.json`
- `assets/speaker-profiles-name.example.json`
- `assets/speaker-profiles-role.example.json`
- `assets/custom-spelling.example.json`
- `assets/llm-json-schema.example.json`
- `assets/transcript-agent-json-schema.json`

## Sanity checks before finishing a task

- Did you pick the right region (`api.assemblyai.com` vs `api.eu.assemblyai.com`)?
- Did you choose a model strategy that matches the language situation?
- If speaker naming matters, did you enable diarisation and/or provide a speaker map?
- If the result will feed another agent, did you produce Markdown and/or agent JSON rather than only raw stdout?
- If the transcript will be machine-consumed, did you keep the manifest or explicit output filenames?

Popular in Design & Media

More from Tristan Manchester

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.