Automated Synopsis Generation Pipeline with Human-in-the-Loop Quality Control

netflix · Media & Entertainment · 2023 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (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 content metadata

Netflix needed to scale synopsis creation for a large catalog without replacing writers or exposing low-quality LLM drafts that would waste editor time.

Constraints:

Architecture

Netflix built an assistive synopsis generation workflow in Metaflow. An asset store and writer-curated prompt library summarize context sources such as closed captions, viewables, audio descriptions, and scripts. A second prompt library generates draft synopses using examples informed by member data. Several LLM-as-judge models then score each synopsis against five writer-defined quality criteria before accepted drafts reach the writer platform for human editing.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  context-source-store[Context source store] --> metaflow-generation-flow[Metaflow generation flow]
  prompt-library[Prompt library] --> metaflow-generation-flow
  metaflow-generation-flow --> draft-synopsis-generator[Draft synopsis generator]
  draft-synopsis-generator --> llm-judge-ensemble[LLM judge ensemble]
  llm-judge-ensemble --> writer-platform-api[Writer platform API]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Context source store Provides scripts, closed captions, viewables, audio descriptions, and other title context. Metaflow generation flow
Prompt library Stores writer-curated examples, guidelines, and synopsis-type prompts. Metaflow generation flow, Draft synopsis generator
Metaflow generation flow Orchestrates context summarization and draft synopsis generation. Context source store, Prompt library, Draft synopsis generator
Draft synopsis generator Generates candidate synopsis strings from summarized context, examples, and guidelines. LLM judge ensemble
LLM judge ensemble Scores each draft on writer-defined quality criteria. Draft synopsis generator, Writer platform API
Writer platform API Exposes only accepted drafts to human writers for editing. LLM judge ensemble

Data flow

Context sources for each title are summarized with prompts and writer-curated assets, then a synopsis-specific prompt library generates drafts. The evaluation flow applies several LLM judges over precision, accuracy, tone, clarity, and writing style. Passing drafts are exposed to the API and writer platform; failed drafts are blocked before writers spend time editing them.

4 supporting quotes
“we get all of the context sources that we have for each show and then we use them to generate the draft synopsis by prompting an llm”transcript, stated
“we use those two to generate the summaries uh of the contact sources that we have which uh as I already mentioned are Clos caption scripts”transcript, stated
“we know which ones are the most useful types of synopsis and the types of informations that are members enjoy the most we pass those uh within our prompts”transcript, stated
“criteria and if the synopses fails any of these we don't expose them on our API so it goes back and every now and then”transcript, stated

Why this architecture

Netflix framed the system as assistive technology for writers rather than a replacement system. Separating generation from LLM-judge quality control lets the team scale draft creation while reducing the chance that bad drafts reach writers. Metaflow gives the team a workflow substrate where context gathering, prompt libraries, model swaps, and evaluation can be iterated independently.

3 supporting quotes
“about and this is like the most assistive tech for our writers they're super excited about it and then the second one is uh the evaluation step”transcript, stated
“so we need to make sure that our SC opsies are factually correct so make sure that there's no hallucinations that”transcript, stated
“two weeks it'll be obsolete we're able to like flip out models um willly nearly well not willly nearly but as much as we want and for example open source models”transcript, stated

Models used: LLM draft generator · several LLM-as-judge models · Llama or OpenAI models tested in comparisons

Scale

Alternatives considered (roads not taken)

Show writers raw ChatGPT-style outputs

Rejected because: The team believed writers would reject unfiltered generic outputs.

“with our writers if we just were to show them what we can generate just by prompting chat GPT they probably run away uh in the first”transcript, stated

Expose every generated synopsis to writers

Rejected because: Bad strings would waste writer time and damage trust in the tool.

“because if we give them a terrible string uh they will probably maybe entertain us for maybe two three instances but other like more than that”transcript, stated
“and we would just be wasting their time so we need to make sure that our SC opsies are factually correct so make”transcript, stated

Remove human writers from the workflow

Rejected because: Netflix explicitly kept humans in the loop and positioned LLMs as draft assistance.

“creatives place uh we always always have a human in the loop and this process specifically uh what we wanted to do is”transcript, stated
“entire thing works uh again we're not replacing like any writer what we're doing is we want more synopsis but we”transcript, stated

Patterns

human-in-the-loop-gate (workflow)

Writers edit accepted synopsis drafts, and the system is explicitly designed to keep human creative review in the path.

“we always always have a human in the loop”transcript, stated

llm-as-judge (evaluation)

Several models act as judges over writer-defined quality criteria before drafts reach writers.

“what we're using here is an llm as a judge actually several models uh acting as LM as a judge”transcript, stated

eval-driven-development (evaluation)

Generation quality is controlled by pass/fail gates over precision, accuracy, tone, clarity, and writing style.

“our models do is they give each synopsis a pass or a fail across these five criteria”transcript, stated

prompt-versioning (prompting)

Netflix maintains prompt libraries curated with writers and dedicated to different synopsis string types.

“basically an asset store and a Prem library that we have curated along with our writers”transcript, stated
“generate the synopsis using another prompt library that is dedicated to these string types”transcript, stated

Tradeoffs

Keep writers in the loop

Chose assistive draft generation plus human editing over fully automated synopsis publication.

Rationale: Netflix wanted more synopses without replacing creative judgment.

“we're not replacing like any writer what we're doing is we want more synopsis”transcript, stated

Use multiple LLM judges

Chose separate pass/fail checks for five criteria over one generic quality score.

Rationale: Different quality dimensions fail for different reasons, from hallucination to tone mismatch.

“they're scoring for different things so for example Precision is actually looking for plot”transcript, stated
“accuracy is the one that checks for hallucinations”transcript, stated

Use modular model experimentation

Chose swap candidate models and compare writer preference over lock the system to one model choice.

Rationale: The team expected model capabilities to change quickly.

“if we build it for today then in two weeks it'll be obsolete”transcript, stated
“put two bottles at the same time to generate for the same title and then we'll see which ones the writers like best”transcript, stated

Gotchas (what bit them)

Bad drafts can make writers slower, not faster.

Root cause: Low-quality strings create editing burden and erode trust.

Resolution: Netflix added an LLM-judge QC flow before drafts reach the API.

“if we give them like terrible strings then we're actually piling on the time they have to spend on editing bad strings”transcript, stated

Insufficient or poor context produces bad synopsis batches.

Root cause: The generation model depends on source context quality for factual and stylistic output.

Resolution: The judge catches failed drafts before exposure.

“if we didn't get like enough context or maybe the context Source was not super high quality we will get like a bad batch of synopses”transcript, stated
“our model will catch them before they actually get exposed uh on our API”transcript, stated

Writer acceptance required more than factual correctness.

Root cause: Tone, AP style, clarity, and Netflix voice all affect whether a synopsis is usable.

Resolution: The evaluation flow uses separate models/criteria for each dimension.

“tone it needs to be aligned with the Netflix voice it needs to suit the title”transcript, stated
“the writing style this one is like a no-brainer it follows AP rules”transcript, stated

Evaluation

Netflix evaluates drafts with several LLM judges against five writer-defined criteria and uses writer feedback/time studies to assess workflow impact.

Metrics: precision · accuracy · tone · clarity · writing style · writer time savings · writer preference in model comparisons

3 supporting quotes
“these are the five criteria and the five models that we have um in that step”transcript, stated
“Precision is actually looking for plot within the string”transcript, stated
“we did run a couple of CI tests and uh time studies”transcript, stated

Outcomes

The source withholds exact throughput and time-savings figures, but states the savings were significant enough for production.

3 supporting quotes
“it's now in production”transcript, stated
“they can do more um and we can provide more drafts and they're not starting from scratch”transcript, stated
“the skill that we're able to achieve with this is pretty significant”transcript, stated