Skip to content

Create and manage media transcripts

Edit transcripts for audio and video in Drupal. Playback highlights words using reviewed timing.

Drupal 11.3+ · PHP 8.3+ · AI is optional

Source mediaAudio or video in Drupal
Exact text + word timingUtterance
{
  "text": "Example transcript.",
  "speaker_key": "session:A",
  "words": [{
    "text": "Example",
    "start_ms": 120,
    "end_ms": 460,
    "char_start": 0,
    "char_end": 7,
    "alignment": "measured"
  }]
}
Revisioned playbackText and speakers stay together
ExportsTXT · JSON · SRT · VTT
Illustrative excerpt from the utterance JSON format.

Transcript editing

Edit utterance text, split and merge utterances, reorder them, and assign speakers. Saving a transcript coordinates parent and utterance revisions in one transaction.

Published revisions keep their saved utterances when later drafts change.

Edit and publish a transcript

Word timing

Alignment states distinguish measured, retained, estimated, stale, and untimed words. Text corrections preserve unaffected intervals and flag changed words for review.

Confirm affected intervals against the source before using them for synchronized word highlighting.

Review word timing

Modules

The core module supports manual authoring and structured imports. Submodules provide an audio Media type and AI generation.

Module What it adds
transcribe Exact-text editing, speakers, coordinated revisions, retrieval, export, and synchronized playback
transcribe_audio An optional audio upload Media type and its displays
ai_transcribe Drupal AI profiles, structured result adapters, and durable asynchronous transcription jobs

Requirements

Requires Drupal core ^11.3, PHP 8.3+, Paragraphs, Entity Reference Revisions, and Dynamic Entity Reference. AI generation additionally requires Drupal AI and a configured speech-to-text provider.

Set up your first transcript