Skip to main content

Overview

Transcripts and embeddings for video and audio content are generated automatically as part of video processing. No API call is needed to start them.

When a transcoder droplet finishes transcoding a video, it extracts the audio, generates a transcript via AI, and stores related data (including embeddings) for search and context retrieval in the Vector Database (Qdrant). Transcript failures never fail the transcode job.

Workflow​

  1. Transcode: a transcoder droplet picks up a pending TranscodeAttempt from the database.
  2. Transcript generation: after transcoding it runs audio extraction, transcript generation using OpenAI, and embedding creation and storage in Qdrant.
  3. Status Tracking: each transcript record is stored in ContentTranscript with a status (e.g. pending, completed, or failed).

Environment Requirements​

VariableDescription
REACT_APP_ENABLE_TRANSCRIPTS_GENERATIONMust be "true" for the dashboard to show transcript status. Generation on the transcoder droplets does not check it
OPENAI_API_KEYAPI key used to generate transcripts and embeddings

Endpoints Summary​

EndpointMethodDescription
/api/transcript/statusGETAggregate transcript counts and configuration flags
/api/transcript/:contentIdGETAdmin only: the transcript for a content item