SKILL.md
AssemblyAI Hello World
Overview
Minimal working examples demonstrating AssemblyAI's three core capabilities: async transcription, audio intelligence features, and LeMUR (LLM-powered analysis).
Prerequisites
- Completed
assemblyai-install-authsetup - Valid API key configured in
ASSEMBLYAI_API_KEY
Instructions
Step 1: Basic Transcription (Remote URL)
import { AssemblyAI } from 'assemblyai';
const client = new AssemblyAI({
apiKey: process.env.ASSEMBLYAI_API_KEY!,
});
async function transcribeUrl() {
const transcript = await client.transcripts.transcribe({
audio: 'https://storage.googleapis.com/aai-web-samples/5_common_sports_702.wav',
});
if (transcript.status === 'error') {
throw new Error(`Transcription failed: ${transcript.error}`);
}
console.log('Transcript:', transcript.text);
console.log('Duration:', transcript.audio_duration, 'seconds');
console.log('Word count:', transcript.words?.length);
}
transcribeUrl().catch(console.error);
Step 2: Transcribe a Local File
async function transcribeLocal() {
// The SDK handles upload automatically when you pass a local path
const transcript = await client.transcripts.transcribe({
audio: './recording.mp3',
});
console.log('Transcript:', transcript.text);
// Access word-level timestamps
for (const word of transcript.words ?? []) {
console.log(`[${word.start}ms - ${word.end}ms] ${word.text} (${word.confidence})`);
}
}
Step 3: Enable Audio Intelligence Features
async function transcribeWithIntelligence() {
const transcript = await client.transcripts.transcribe({
audio: 'https://storage.googleapis.com/aai-web-samples/5_common_sports_702.wav',
speaker_labels: true, // Who said what
auto_highlights: true, // Key phrases extraction
sentiment_analysis: true, // Sentiment per sentence
entity_detection: true, // Named entities (people, orgs, locations)
summarization: true, // Auto-summary
summary_model: 'informative',
summary_type: 'bullets',
});
// Speaker diarization
for (const utterance of transcript.utterances ?? []) {
console.log(`Speaker ${utterance.speaker}: ${utterance.text}`);
}
// Key phrases
for (const result of transcript.auto_highlights_result?.results ?? []) {
console.log(`Key phrase: "${result.text}" (mentioned ${result.count} times)`);
}
// Sentiment analysis
for (const result of transcript.sentiment_analysis_results ?? []) {
console.log(`${result.sentiment}: "${result.text}"`);
}
// Summary
console.log('Summary:', transcript.summary);
}
