Skip to content

deepgram-starters/node-transcription

Node Transcription Starter

Speech-to-text demo using Deepgram's API with Node.js backend and web frontend.

Prerequisites

Note: This project uses strict supply chain security measures. npm and yarn will NOT work - pnpm 10.0.0+ is required. See SECURITY.md for details.

Quick Start

  1. Install dependencies
# Option 1: Use the helper script (recommended)
pnpm run install:all

# Option 2: Manual two-step install
pnpm install
cd frontend && pnpm install && cd ..

Note: Due to security settings (ignore-scripts=true), frontend dependencies must be installed separately. The install:all script handles both steps. See SECURITY.md for details.

  1. Set your API key

Create a .env file:

DEEPGRAM_API_KEY=your_api_key_here
  1. Run the app

Development mode (with hot reload):

pnpm dev

Production mode (build and serve):

pnpm build
pnpm start

Open http://localhost:3000

Features

  • Upload audio files or provide URLs for transcription
  • Multiple model options
  • View transcription history
  • Responsive web interface

How It Works

  • Backend (server.js): Node.js/Express server implementing the /stt/transcribe endpoint
  • Frontend (frontend/): Vite-powered web UI for audio upload and transcription display
  • API: Integrates with Deepgram's Speech-to-Text API

Security

This project implements comprehensive supply chain security measures including:

  • Dependency pinning to exact versions
  • Automated vulnerability scanning with Snyk
  • Disabled lifecycle scripts
  • Strict package manager enforcement (pnpm only)

See SECURITY.md for complete security documentation and reporting procedures.

Contributing

Contributions are welcome! Please review:

Getting Help

License

MIT - See LICENSE