Video Content Summarization and Metadata Enrichment for Streaming Platform
paramount+ · Media & Entertainment · 2023 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Streaming media metadata generation and personalization
Paramount+ needed to automate video summaries and metadata extraction for a large streaming catalog so personalization and discovery could improve without thousands of hours of manual tagging or costly third-party metadata dependence.
Constraints:
- The source is a Google Cloud event presentation, so vendor framing and outcome claims require caution.
- The catalog includes long movie transcripts that can exceed model context windows.
- Entertainment content includes mature themes that can collide with safety filters.
- The team needed integration with existing personalization, content management, and media asset management systems.
- The presentation describes validated approaches and roadmaps more than measured production business impact.
Architecture
Paramount+ and Google Cloud built a video-metadata pipeline that stores video assets in cloud storage, demuxes audio, falls back to speech-to-text when transcripts are missing or poor, triggers generation when transcripts land, uses prompt chains and function calling to create summaries and metadata, stores outputs in Firestore by content ID, and feeds personalization systems that join the generated metadata with clickstream data.
Diagram confidence: explicit (topology described by the source).
flowchart LR cloud-storage-video-assets["Cloud storage video assets"] --> audio-demuxing-pipeline["Audio demuxing pipeline"] audio-demuxing-pipeline --> speech-to-text-fallback["Speech-to-text fallback"] speech-to-text-fallback --> cloud-storage-video-assets cloud-storage-video-assets --> transcript-event-trigger["Transcript event trigger"] transcript-event-trigger --> prompt-generation-pipeline["Prompt generation pipeline"] external-metadata-services["External metadata services"] --> prompt-generation-pipeline prompt-generation-pipeline --> firestore-metadata-store["Firestore metadata store"] firestore-metadata-store --> personalization-systems["Personalization systems"] personalization-systems --> content-management-systems["Content management systems"]
Components
| Component | Role | Interacts with |
|---|---|---|
Cloud storage video assets |
Holds source videos and receives transcript artifacts. | Audio demuxing pipeline, Transcript event trigger |
Audio demuxing pipeline |
Extracts the highest-quality audio from HLS video assets. | Cloud storage video assets, Speech-to-text fallback |
Speech-to-text fallback |
Creates transcripts with managed Google models or a containerized Whisper distill service when transcripts are missing or low quality. | Audio demuxing pipeline, Cloud storage video assets |
Transcript event trigger |
Starts generation workflows when transcript files land in storage. | Cloud storage video assets, Prompt generation pipeline |
Prompt generation pipeline |
Uses prompt chaining, few-shot examples, templates, and function calling to generate summaries and metadata. | Transcript event trigger, Firestore metadata store, External metadata services |
External metadata services |
Provides structured external data, such as IMDb information, through function calling. | Prompt generation pipeline |
Firestore metadata store |
Stores generated key-value outputs by content ID for downstream use. | Prompt generation pipeline, Personalization systems |
Personalization systems |
Joins generated metadata with clickstream data and serves discovery/personalization features. | Firestore metadata store, Content management systems |
Content management systems |
Downstream backend systems that can consume or update generated metadata. | Personalization systems |
Data flow
Source videos enter cloud storage; audio is demuxed and transcribed through managed STT or a containerized Whisper fallback; transcript-arrival events trigger prompt-driven generation; generated summaries and metadata are stored as Firestore key-value records keyed by content ID; personalization systems combine those records with clickstream data and downstream content-management workflows.
3 supporting quotes
Why this architecture
The pipeline architecture fits the workload because video summarization depends on transcript availability, metadata needs to flow into personalization systems by content ID, and prompt chains give the team control over long-form generation, genre-specific outputs, and future feedback-driven tuning.
Models used: Google LLMs · Whisper distill v3 · Gemma 2B instruct · T5 · LoRA fine-tuned embedding models · Encoder-only classifiers
Scale
- Paramount+ had over 50,000 videos requiring summaries and metadata tagging.“Paramount+ has over 50,000 videos requiring summaries and metadata tagging, which translates into thousands of hours of manual labor.”summary, stated
- The Jump Start began with 10 representative video assets.“they identified 10 sample video assets representing different durations, genres, and release dates as a good representation of Paramount Plus films.”summary, stated
- The MVP prompt went through four iterations.“The engagement required four different iterations to refine the MVP prompt to meet Paramount's expectations.”summary, stated
Alternatives considered (roads not taken)
Continue manual summaries and third-party metadata procurement
Rejected because: Manual tagging consumed thousands of hours and third-party metadata was costly and insufficiently detailed for personalization.
Depend only on managed Google speech-to-text
Rejected because: The transcription architecture explicitly kept open-source Whisper distill as a fallback service.
Use a single generic prompt for all content
Rejected because: The roadmap moves toward genre-specific prompt templates, audience affinities, and feedback-driven scoring.
Patterns
workflow-orchestration (pipeline)
Transcript storage events trigger a multi-stage generation workflow that moves from transcription to summary/metadata generation and personalization integration.
context-engineering (prompting)
The team engineered prompt context through few-shot examples, templates, output formats, genre prompts, and prompt chaining to make long-video metadata generation controllable.
model-fallback (model operations)
The transcription system can fall back to speech-to-text models, including a containerized Whisper service, when transcripts are absent or poor.
eval-driven-development (quality)
The engagement used gold standards, daily feedback, prompt iterations, and planned summary scoring/A-B testing to improve generated metadata quality.
fine-tuning-feedback-loop (model improvement)
The roadmap includes human preference datasets, reward models, and scheduled fine-tuning updates for generated summaries.
Tradeoffs
Keep both managed and open-source transcription options
Chose Google managed STT plus a containerized Whisper distill service over A single vendor transcription path.
Rationale: The team wanted flexibility when transcripts were missing or insufficient.
Use prompt chaining for long, debuggable workflows
Chose Subtask prompts and chained generation over One large monolithic prompt.
Rationale: Prompt chaining controls context windows, simplifies debugging, and reduces downstream workload.
Fine-tune embeddings to shrink model and embedding requirements
Chose LoRA fine-tuning and smaller models on single GPUs over Larger general embedding spaces and heavier models.
Rationale: The team wanted information-dense embeddings that fit their operational GPU constraints.
Gotchas (what bit them)
Long movie transcripts can exceed context windows.
Root cause: Full movies produce transcripts too large for a single prompt or model context.
Resolution: Chunk transcripts and aggregate results after generation.
Mature entertainment content can trigger safety filters.
Root cause: Movies and shows may contain mature themes that general-purpose safety settings suppress.
Resolution: Tune safety filter settings to allow appropriate outputs for the entertainment domain.
Prompt quality required repeated iteration.
Root cause: Expected metadata format, genre nuance, and summary style had to be clarified through examples and feedback.
Resolution: Use daily communication, gold standards, few-shot examples, and four MVP prompt iterations.
Vendor event summaries do not prove business impact.
Root cause: The presentation gives scale and approach but not measured cost savings, engagement lift, or production outcome metrics.
Resolution: Treat the case as an architecture and process lesson rather than a fully quantified ROI proof.
Evaluation
The engagement evaluated prompt and metadata quality through gold standards, daily feedback, four MVP prompt iterations, and a roadmap for classifier scoring, A/B tests, human preference datasets, reward models, and reinforcement-learning fine-tuning.
Metrics: Four prompt iterations · 10 representative video assets for the Jump Start · Future summary scoring classifiers · A/B testing of generated content · Human preference datasets for reward-model training
3 supporting quotes
Outcomes
- The MVP validated that clear context and specific examples improve generated output quality.
- The architecture established a path from transcript processing to metadata generation and personalization integration.
- The roadmap includes genre-specific templates, summary scoring, A/B testing, and reinforcement-learning fine-tuning.
The case addresses a catalog of more than 50,000 videos and started from 10 representative assets during the GenAI Jump Start.