Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Transcribe audio/video with AssemblyAI (local upload or URL), plus subtitles + paragraph/sentence exports.
.claude/skills/sundial-org-assemblyai-transcribe/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -4% | 0% |
Use this skill when you need to transcribe audio/video or export readable formats (subtitles, paragraphs, sentences) using AssemblyAI.
The helper script in this skill implements the basic REST flow:
POST /v2/upload.POST /v2/transcript.GET /v2/transcript/:id until the transcript status is completed (or error).This skill requires:
node on PATH (Node.js 18+ recommended; script uses built-in fetch)ASSEMBLYAI_API_KEY in the environmentRecommended Clawdbot config (~/.clawdbot/clawdbot.json):
js{ skills: { entries: { // This skill declares metadata.clawdbot.skillKey = "assemblyai" assemblyai: { enabled: true, // Because this skill declares primaryEnv = ASSEMBLYAI_API_KEY, // you can use apiKey as a convenience: apiKey: "YOUR_ASSEMBLYAI_KEY", env: { ASSEMBLYAI_API_KEY: "YOUR_ASSEMBLYAI_KEY", // Optional: use EU async endpoint // ASSEMBLYAI_BASE_URL: "https://api.eu.assemblyai.com" } } } } }
Run these commands via the Exec tool.
Print transcript text to stdout:
bashnode {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" node {baseDir}/assemblyai.mjs transcribe "https://example.com/audio.mp3"
Write transcript to a file (recommended for long audio):
bashnode {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" --out ./transcript.txt
Any fields supported by POST /v2/transcript can be passed via --config:
bashnode {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" \ --config '{"speaker_labels":true,"summarization":true,"summary_model":"informative","summary_type":"bullets"}' \ --export json \ --out ./transcript.json
Transcribe and immediately export subtitles:
bashnode {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export srt --out ./subtitles.srt node {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export vtt --out ./subtitles.vtt
Or export subtitles from an existing transcript ID:
bashnode {baseDir}/assemblyai.mjs subtitles <transcript_id> srt --out ./subtitles.srt
bashnode {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txt
bashnode {baseDir}/assemblyai.mjs get <transcript_id> --format json node {baseDir}/assemblyai.mjs get <transcript_id> --wait --format text
--out <file> when output might be large.ASSEMBLYAI_BASE_URL to the EU host.Other measured skills in the registry, with their headline benchmark lift.