Contact us

Find the scenes a trailer editor would pull.

ReelSense narrows a film's ~200 scenes down to the ~20 worth auditioning for the cut — a trained ranking model, surfaced as a cutting-room tool. The system proposes; the editor decides.

A UC Berkeley MIDS DATASCI 210 capstone project · trained on the scene choices in real trailers across 51 films.

The model's shortlist, laid over the full film Charade (1963) · 70 scenes · 1:53:04
  • Spotlight · top 20
  • Expandable · 21–60
  • Not recommended

#1 34:35 Rising action Peter and Reggie discuss the money; alliance and attraction grow.

Real output from the shipped model — hover or arrow-key a scene to read why it was picked.

Our mission

To help storytellers find the moments that matter most.

Give editors their time back to judge, not scrub.

The background. A feature film holds hundreds of candidate scenes — across the 51 films we studied, 9,311 of them, about 180 per film. A trailer is cut from a couple dozen. Today that first pass is manual: an editor scrubs the whole runtime to find the handful of beats worth cutting with.

The why. That search is slow, repetitive, and easy to get wrong under deadline. The scenes that sell a trailer are a tiny, high-stakes subset scattered across two hours of footage, and time spent hunting for them is time not spent on the craft of the cut.

The problem

~200 scenes, ~20 that matter

A feature averages ~180 scenes; the ones a real trailer pulls sit anywhere in the runtime, and there's no marker on them. Finding them means watching everything.

The cost

8–10 hours of scrubbing per film

That first pass usually takes an editor 8–10 hours of sifting through a film's ~200 scenes — repeated for every film and every re-cut, always against a deadline. Under that pressure the search gets cut short — and good scenes get missed.

For film editors

A first pass they can trust

About an hour of compute returns 60 ranked candidates, each already clipped and playable — two of every three spotlight picks are scenes real trailers used. The editor's time goes to auditioning, not scrubbing.

User feedback

What did real video editors think of ReelSense?

“Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.”

— Editor name · Title, studio (placeholder)

“Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.”

— Editor name · Title, studio (placeholder)

Our solution

An intelligent shortlisting assistant powered by AI

ReelSense learns the scenes real trailers pull, then ranks a new film's scenes the same way — and surfaces the result in a calm cutting-room UI. The ground truth is 9,311 scenes from 51 films, matched back against the official trailers actually cut from them.

1

Segment Scenes

TransNetV2 — a deep model for shot-boundary detection — finds every cut in the film, and adjacent shots are grouped into scenes: the unit an editor thinks in.

2

Extract Features

28 numbers per scene: where it falls in the runtime, how long it runs, CLIP image-embedding similarity to five trailer-beat phrases, and how it's framed — close-up, medium, wide. A captioning model and an LLM add its story beat.

3

Rank

A gradient-boosted ranking model, trained on which scenes real trailers used, scores every scene for trailer-worthiness and orders the film top to bottom.

4

Shortlist

The top 60 come back tiered — 20 spotlighted, the rest one click away — laid out by story beat, each clipped and ready to play. Past rank 80 we recommend nothing.

Who it's for

Film & trailer editors — and the graders judging the work

Editors get a fast first pass in language they already use — beats, slots, timecodes, playable clips, an EDL export. Graders and faculty get a methodology that's discoverable and honest, one layer beneath the product surface.

Why it helps

Honest shortlisting, not automation theater

Every surface is a shortlist to judge, not an answer to accept. Per-film scores, held-out generalization, and the model's known biases are admitted in the product — so the ranking earns trust instead of demanding it.

Results & demo

How the model ranks a real film.

A walkthrough of ReelSense running on a sample public-domain film, plus the key results the ranking model produced.

Embed the ReelSense MVP demo here · 16:9

Key results & findings

Every number below is measured on films the model never trained on: we retrain it 47 times, leaving one film out each round, and four more films are held back from every run as a final check.

0.652

NDCG@20 · cross-validation

Leave-one-movie-out over 47 films. Random guessing floors at 0.318.

0.628

NDCG@20 · held-out films

4 films never touched in training — 96% of ranking quality retained on unseen movies.

64%

Of the recall ceiling (0.218 Recall@20)

Recall@20 caps at 0.342: a median film has ~63 trailer scenes for 20 slots. Random reaches 38%.

Want to learn more?

Reach out and we'll share more on the model, data, and results — and walk you through the app.

Contact us for more info

Questions

What people ask before they run a film.

What data is used, how the model works, what you get back, and more.

Where does the training data come from?

From 51 feature films in the MovieGraphs dataset — 9,311 scenes in total — paired with the official trailers those studios actually released. Every trailer is matched back to the film twice, once through dialogue (comparing trailer subtitles to the film's script) and once visually (comparing trailer keyframes to the film's frames). A scene that turns up in a trailer becomes a positive example: 3,720 of them, about 40% of all scenes.

One correction is worth naming. Our first pass counted every studio-published video, so TV commercials and promo spots inflated the counts on 14 films. We filtered them out and rebuilt the labels; the model's headline result got stronger afterward, not weaker.

How does ReelSense score a scene?

Each scene is reduced to 28 numbers: where it falls in the runtime, how long it runs, how closely its imagery matches five trailer-beat phrases, how it's framed (close-up through wide), and the film's genre. A gradient-boosted ranking model, trained on which scenes real trailers used, turns those into one score.

The score is a within-film ranking, not an absolute grade: 100 means "the strongest candidate in this movie," not "a great scene by universal standards." Comparing scores between two different films isn't meaningful.

How does the scene segmentation work?

A deep model called TransNetV2 reads the film frame by frame and marks every shot boundary. Shots are then grouped into scenes — a continuous run of action in one place — because that's the unit a trailer editor pulls, and it's the unit our training labels are written in.

A known rough edge: cuts don't map perfectly onto scenes, so about half of what comes out is under five seconds. Some of those fragments are real beats, but a one-second sliver ranked near the top is a segmentation artifact rather than a recommendation worth acting on.

Can the AI make mistakes?

Constantly, and we'd rather you know the pattern than discover it. About one in three spotlight picks is not a scene the real trailer used. Beyond that, the model has two measured biases: it under-picks the final third of a film (29% of real trailer scenes come from there; it draws 20%), and it leans on scene length roughly three times harder than the labels justify, so quick reaction beats and one-liners get buried.

It also can't tell "important to the plot" from "used in the trailer" — several of its confident misses are real turning points that editors simply chose not to spoil. That's why nothing here auto-cuts anything: the system proposes a shortlist, and the editor decides.

How long does it take to process my film?

About an hour for a feature. Our measured run — a 1 h 53 m film, 405 MB — took roughly 57 minutes end to end: the upload goes straight from your browser to storage, the ranked scenes land around the 40-minute mark, and the story-beat storyboard follows about 20 minutes later. You can read the rankings while the beats are still being written.

Nearly all of that is GPU work on the film itself — shot detection, embedding every second of footage, cutting preview clips, captioning each scene. It costs well under a dollar of compute per film.

What do I get back?

Sixty ranked candidates, arranged into a story-beat storyboard — setup, turning point, climax — with the top twenty spotlighted. Each card carries a playable clip cut from your own film, the scene's timecode, its score, and a one-line note on why it was labeled that beat.

From there you can trim a scene, collect the ones you want, and export your selects as an EDL to open in your editor. Sixty is a deliberate cap: past about rank 80 the ranking stops beating chance, so we don't dress those up as recommendations.

What is a beat sheet?

A beat is one story moment — the setup, the thing that upends it, the turning point, the climax. A beat sheet is those moments in order: the shape a story moves through, and the shape a trailer borrows when it takes you from "here's the world" to "here's what threatens it" in two minutes.

ReelSense labels one for your film. After the ranking, each candidate scene is described by a captioning model, and a language model reads those descriptions in order and names the beat each scene plays — on a six-part spine: setup, inciting incident, rising action, midpoint, climax, resolution.

Pick a genre and you get its spine as well. Romance runs meet-cute, spark, first conflict, falling in love, dark moment, grand gesture, reunion; a thriller runs ordinary calm through investigation, false lead, twist, confrontation. Every label carries the one-line reason the model wrote, and each scene is marked connective, supporting, or pivotal — so filler is easy to skip.

Checked against human-written scene descriptions, those labels land on the exact beat about 79% of the time and within one beat about 92%. When a slot has no labeled candidate, position in the runtime fills it — reliable at a story's bookends. We first tried assigning beats by image similarity alone; that was close to guessing, which is why a language model reads the scenes instead.

Do I have to pick a genre?

No — it's optional, and it changes the storyboard more than the ranking. A romance lane asks for a meet-cute and a dark moment; a thriller lane asks for an investigation and a peak threat; the same ranked scenes get sorted into whichever spine you pick.

One pooled model serves every genre, trained across all 51 films at once rather than split into a model per genre. Genre is one of its inputs, but when we measured that input on its own it moved the ranking by roughly nothing — so leaving it blank costs you very little.

What's next for ReelSense?

This iteration was limited by its dataset, which carries no audio, music, or emotion signal — some of the biggest ingredients of a real trailer. The first priority is training data that includes them, alongside more films: modern titles with modern trailer styles, and more of the genres we're thin on — our corpus holds only three adventure films, and it shows in their scores.

We also plan act-aware features to recover late-film recall without indiscriminately surfacing spoilers. And the pattern itself generalizes — labels derived from professional artifacts, frozen foundation-model features, a learned reranker, an honest UI — to highlight reels, sports clips, lecture summarization, and podcast clip selection.

How do you know it works on a film it has never seen?

We test the model's ability to generalize by retraining it 47 times, each round leaving one film out and grading it on the film it just didn't see. Four more — Pretty Woman, Forrest Gump, The Social Network, Gone Girl — are held back from every training run we do.

Ranking quality is 0.652 on the leave-one-out films and 0.628 on the four untouched ones, where a random ordering would score 0.318. Losing so little between the two is the evidence that it generalizes.

Our team

Built at Berkeley

Meet the team behind ReelSense.

Nory Arroyo

Nory Arroyo

Scene Description Feature Engineering Inference Pipeline
Ryan Castillo

Ryan Castillo

Feature Engineering Product and Web Design Model Evaluation
Divya Menon

Divya Menon

Feature Engineering Inference Pipeline Cloud Infrastructure
Nithya Nalluri

Nithya Nalluri

Modeling Data Engineering WebApp Deployment & Integration
Jenny Park

Jenny Park

Product Manager SME Feature Engineering Modeling UI Development

Acknowledgements

This project was shaped by the people who guided and challenged us.

Instructors

Joyce Shen · Zona Kostic

Whose guidance, feedback, connections, and encouragement were essential to this project.

Editors & domain experts

David Bamman · Afsheen Family · Kevin Hanna · David Coleman

Who shared their craft and shaped how we approached the problem and the product we built.

Copyright & licensing guidance

Cody Hennesy · Gisèle Tanasse · Timothy Vollmer

Who helped us navigate the copyright and licensing questions around sourcing film material responsibly.