Skip to content
OpenSmartRoute
Skillv1.0.0

assemblyai-hello-world

Create a minimal working AssemblyAI transcription example. Use when starting a new AssemblyAI integration, testing your setup, or learning basic transcription patterns. Trigger with phrases like "asse

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/assemblyai-pack/skills/assemblyai-hello-world/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill assemblyai-hello-world. Copyright stays with the author (MIT).

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-auth setup
  • 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);
}

Step 4: LeMUR — Ask Questions About Your Audio

async function lemurDemo() {
  // First, transcribe
  const transcript = await client.transcripts.transcribe({
    audio: 'https://storage.googleapis.com/aai-web-samples/5_common_sports_702.wav',
  });

  // Then use LeMUR to analyze
  const { response } = await client.lemur.task({
    transcript_ids: [transcript.id],
    prompt: 'Summarize the key topics discussed and list any action items mentioned.',
  });

  console.log('LeMUR response:', response);
}

Output

  • Working transcription from a remote URL or local file
  • Word-level timestamps with confidence scores
  • Speaker-labeled utterances (diarization)
  • Key phrases, sentiment analysis, entity detection
  • LeMUR-powered summarization and Q&A

Examples

Start with AssemblyAI's published sample audio or a consented synthetic recording. Keep the resulting transcript in memory or a restricted temporary test artifact, print only status and duration in shared logs, and delete the test transcript under the project's retention procedure after validating the integration.

Error Handling

Error Cause Solution
transcript.status === 'error' Bad audio URL/format Verify URL is publicly accessible, supported format
Authentication error Invalid API key Check ASSEMBLYAI_API_KEY environment variable
File not found Wrong local path Verify file exists at the specified path
Unsupported audio format Incompatible format Use MP3, WAV, M4A, FLAC, OGG, or WebM

Resources

Next Steps

Proceed to assemblyai-local-dev-loop for development workflow setup.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-assemblyai-he-b696fa/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-assemblyai-he-b696fa.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-assemblyai-he-b696fa",
  "kind": "skill",
  "name": "assemblyai-hello-world",
  "description": "Create a minimal working AssemblyAI transcription example. Use when starting a new AssemblyAI integration, testing your setup, or learning basic transcription patterns. Trigger with phrases like \"assemblyai hello world\", \"assemblyai example\", \"assemblyai quick start\", \"simple assemblyai transcription\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general_chat"
    ],
    "tags": [
      "skill-md",
      "saas",
      "ai",
      "speech-to-text",
      "assemblyai",
      "transcription",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Create a minimal working AssemblyAI transcription example. Use when starting a new AssemblyAI integration, testing your setup, or learning basic transcription patterns. Trigger with phrases like \"assemblyai hello world\", \"assemblyai example\", \"assemblyai quick start\", \"simple assemblyai transcription\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/assemblyai-pack/skills/assemblyai-hello-world/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/assemblyai-pack/skills/assemblyai-hello-world/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/assemblyai-pack/skills/assemblyai-hello-world/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit"
    ],
    "license": "MIT"
  },
  "instructions": "# AssemblyAI Hello World\n\n## Overview\n\nMinimal working examples demonstrating AssemblyAI's three core capabilities: async transcription, audio intelligence features, and LeMUR (LLM-powered analysis).\n\n## Prerequisites\n\n- Completed `assemblyai-install-auth` setup\n- Valid API key configured in `ASSEMBLYAI_API_KEY`\n\n## Instructions\n\n### Step 1: Basic Transcription (Remote URL)\n\n```typescript\nimport { AssemblyAI } from 'assemblyai';\n\nconst client = new AssemblyAI({\n  apiKey: process.env.ASSEMBLYAI_API_KEY!,\n});\n\nasync function transcribeUrl() {\n  const transcript = await client.transcripts.transcr",
  "cost": {
    "context_tokens": 1177
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-assemblyai-he-b696fa/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.