Skip to content

[Suggestion] LangChain.js audio transcription tool and document loader (TypeScript) #277

@deepgram-robot

Description

@deepgram-robot

What to build

A LangChain.js integration that provides Deepgram as a tool and document loader for TypeScript/JavaScript AI agent applications — enabling LangChain agents to transcribe audio files, process audio URLs, and load audio content as documents for RAG pipelines.

Why this matters

LangChain.js is one of the most widely-used AI agent frameworks for TypeScript/JavaScript developers. Developers building agentic applications need audio transcription as a tool their agents can invoke — for example, an agent that processes voice memos, analyzes podcast episodes, or handles audio uploads. A Python LangChain integration exists, but there is no equivalent for LangChain.js, leaving JavaScript/TypeScript developers without an official path to add Deepgram audio capabilities to their LangChain agents.

Suggested scope

  • Language: TypeScript
  • Framework: LangChain.js (@langchain/core)
  • Deepgram APIs: Pre-recorded STT, optionally Streaming STT
  • What to include:
    • DeepgramTranscriptionTool — LangChain StructuredTool for pre-recorded audio transcription (file path or URL input)
    • DeepgramAudioLoader — LangChain DocumentLoader for loading audio files as transcribed documents
    • Example agent that uses the transcription tool to process and summarize audio
    • Support for key STT parameters (model, language, diarization, smart_format)
    • Full TypeScript types

Acceptance criteria

  • Runnable with minimal setup (clone, add API key, npm install, run)
  • README explains the integration pattern and LangChain.js compatibility
  • Uses current Deepgram JS SDK and @langchain/core versions
  • Tool is compatible with LangChain.js agent executor (createToolCallingAgent)
  • Document loader produces properly structured LangChain Document objects
  • Includes a working example agent that transcribes and summarizes audio

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions