Skip to content

[Suggestion] Voice Agent with live conversation export to JSON, SRT, and WebVTT (TypeScript) #570

Description

@deepgram-robot

What to build

A TypeScript recipe that captures a Deepgram Voice Agent conversation and exports it in real-time to multiple transcript formats — JSON (structured with speaker labels and timestamps), SRT (subtitles), and WebVTT (web captions) — enabling immediate post-conversation access to formatted transcripts.

Why this matters

Voice agent conversations generate valuable transcript data, but developers must build their own export pipeline to get transcripts in usable formats. Common needs include JSON for database storage and search, SRT for video captioning, and WebVTT for web-based caption display. This recipe shows how to accumulate conversation turns from the Voice Agent API and format them into industry-standard transcript formats in real-time, so transcripts are available the moment a conversation ends — no post-processing required.

Suggested scope

  • Language: TypeScript
  • Deepgram APIs: Voice Agent API
  • Features: Real-time conversation turn accumulation with speaker labels (agent vs user), word-level timestamp tracking, concurrent export to JSON (structured), SRT (numbered cues with timestamps), and WebVTT (with speaker identification and styling), file output on conversation end
  • Output formats: JSON with metadata, SRT, WebVTT
  • Complexity: Low-to-moderate — event accumulation and format serialization

Acceptance criteria

  • Runnable with minimal setup (clone, add API key, run)
  • README explains the pattern clearly
  • Uses current SDK version
  • Exports to all three formats (JSON, SRT, WebVTT) from a single conversation
  • Includes accurate timestamps and speaker attribution
  • WebVTT output is valid and playable in browsers
  • SRT output follows standard subtitle formatting

Raised by the DX intelligence system.


Queued by PM — Engineer will pick this up as a priority:user recipe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    action:generateQueue action: generate code examplespriority:userUser-submitted request — prioritizetype:queueIssue is in the automation queue

    Type

    No type

    Fields

    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