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.

ReelSense cutting room: a scene from Charade playing, with a Behind the score panel listing the signals that raised and lowered its rank.

Our mission

To help storytellers find the moments that matter most.

Give editors their time back to judge, not scrub.

The problem

Finding trailer-worthy scenes

Requires watching the entire film, which has around 200 scenes. Everything completed manually.

The cost

Hours of scrubbing per film

First time sifting through an entire film typically takes 8–10 hours of editor's time — repeated for every film and every re-cut.

For film editors

A first pass they can trust

About an hour of compute returns 60 ranked scenes, each already clipped and playable. The editor's time goes to auditioning, not scrubbing.

Our solution

An intelligent shortlisting assistant powered by AI

ReelSense learns from 9,311 scenes from 51 films, matched back against the official trailers, then ranks a new film's scenes in a cutting-room UI.

1

Segment Scenes

TransNetV2 — a model for shot-boundary detection — finds every cut in the film and groups them into scenes.

2

Extract Features

Each scene is scored on 28 features, plus a story-beat label from a captioning model and LLM.

3

Rank

A ranking model trained on real trailer picks scores and orders every scene by trailer-worthiness.

4

Shortlist

The top 60 scenes come back tiered and clipped, organized by story beat and ready to play.

Who it's for

Film & trailer editors

For all types of editors. They get a fast first pass — beats, timecodes, playable clips, an EDL export.

Why it helps

Honest shortlisting

Our shortlist is a list of suggestions, not decisions. It works alongside the editor's own judgment — making the task simpler, not replacing it.

Shortlist view: scenes ranked by score, each with a story beat label and a summary.
Storyboard view: scenes arranged into a narrative structure for the trailer, one row per beat.

Results

How the model ranks a real film.

The key results the ranking model produced, measured on films it never trained on.

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 — 93% of ranking quality retained on unseen movies, measured above the 0.318 random floor.

64%

Of its own recall ceiling

Recall@20 caps at 0.342 — the mean of each film's own limit, with trailer scenes far outnumbering the 20 slots. Random reaches 37%.

Here's what it recommended for Charade (1963)

Every scene in the film, left to right. The model's picks are lit in amber. Charade (1963) · 70 scenes · 1:53:04
  • Spotlight · top 20 · taller means higher rank
  • Also returned · 21–60
  • Not recommended · 61+

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

Each bar is one scene, as wide as it runs. Real output from the shipped model: hover or arrow-keytap a lit bar to read why it was picked.

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,626 of them, about 39% 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 UX/UI 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 Feature Engineering Modeling UX/UI Design

Get in touch

reelsense_capstone@lists.berkeley.edu

Or open it directly in your mail app · Gmail