Videos b_PmGocP4rc
Evaling Video Slop — Maor Bril, Character.ai
Scene timeline
54 shot(s).
keyframes kept every frame deduplicated
What was stored
- cues
- 234
- whisperx 234
- chunks
- 40
- from 234 cues
- keyframes
- 45
- kept of 54 captured
- frames with text
- 45
- 551 lines read
- chapters
- 11
- from the source metadata
- keyframe bytes
- 6.2 MB
- word timings on 234 cues
Provenance
| stage | state | model | started | took |
|---|---|---|---|---|
fetch |
done | — | 2026-08-09 22:43 | 0s |
stt |
done | — | 2026-08-09 06:57 | 23s |
chunk |
done | — | 2026-08-09 06:58 | 0s |
text_embed |
done | — | 2026-08-10 19:39 | 1s |
keyframe |
done | — | 2026-08-09 06:58 | 3m 02s |
ocr |
done | — | 2026-08-09 07:01 | 15s |
frame_embed |
done | — | 2026-08-10 19:39 | 8s |
Frames, and what the machine read
-
- AlEngineer0.96
- World's Fair1.00
-
- AlEngineer0.95
- World's Fair0.99
-
- LAB & PLATINUM SPONSORS0.99
- Amazon AGI Lab0.98
- ANTHROP\C1.00
- Google DeepMind1.00
- MINIMAX0.94
- OpenAI0.92
- Akamai1.00
- arize1.00
- aws1.00
- Braintrust bright data0.98
- B1.00
- Browserbase1.00
- docker1.00
- :neo4j0.92
- ORACLE1.00
- PayPal1.00
- qodo1.00
- reducto1.00
- Sonar1.00
- Makers of1.00
- togetherai1.00
- Unblocked1.00
- WorkOS1.00
- SonarQube1.00
-
- AlEngineer0.99
- World's Fair0.98
-
- AlEngineer0.97
- World'sFair1.00
- AI ENGINEER WORLD'S FAIR1.00
- 20261.00
- Evals for AI Video0.98
- REC1.00
- 00:151.00
- How I stopped trusting CLIP scores and trained a reward model0.99
- that actually watches the movie.0.98
- quality score: undefined1.00
- Maor Bril· Character.Al0.99
- Judge Judy1.00
- open source under Character.AI0.98
- EVALS FOR AI VIDEO1.00
- 01 / 200.88
- World'sFair1.00
- Engineering the future of Al1.00
-
- AlEngineer0.97
- World'sFair1.00
- Al video got amazing.1.00
- PRESENTED BY1.00
- Microsoft1.00
- Judging it didn't.1.00
- We can make the footage. We still can't agree on whether it's any good.1.00
- EVALS FOR AI VIDEO1.00
- 02 /200.92
- Thoranate0.56
- World'sFair0.99
- Engineering the future of Al0.98
-
- AlEngineer0.97
- World'sFair1.00
- Al video got amazing.1.00
- PRESENTED BY1.00
- Microsoft1.00
- Judging it didn't.0.98
- We can make the footage. We still can't agree on whether it's any good.0.99
- EVALS FOR AI VIDEO1.00
- 02 /200.92
- dinatc0.59
- World'sFair1.00
- TRACK 5· JULY 1,20260.97
- Evals1.00
-
- AlEngineer1.00
- 011.00
- THE PROBLEM1.00
- World's Fair1.00
- The hard part was never making it.1.00
- PRESENTED BY1.00
- Microsoft1.00
- Generating video is0.99
- Generating good video is1.00
- So a human watches1.00
- basically free.1.00
- not.1.00
- everything.1.00
- Type a prompt, get 400 clips before0.99
- 'Good' is taste, timing, and a0.99
- That human is the bottleneck. (Hi. It's0.99
- lunch.1.00
- director's gut.1.00
- me.)1.00
- EVALS FOR AI VIDEO1.00
- 03 / 200.97
- World's Fair0.96
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.99
- 011.00
- THE PROBLEM1.00
- World's Fair0.98
- The hard part was never making it.1.00
- Generating video is1.00
- Generating good video is1.00
- So a human watches0.98
- basically free.1.00
- not.1.00
- everything.1.00
- Type a prompt, get 400 clips before0.98
- 'Good' is taste, timing, and a0.99
- That human is the bottleneck. (Hi. It's1.00
- lunch.1.00
- director's gut.1.00
- me.)1.00
- EVALS FOR AI VIDEO0.97
- 03 / 200.96
- World's Fair0.97
- TRACK 5 · JULY 1, 20260.91
- Evals1.00
-
- AlEngineer0.97
- 1020.87
- THE GAP1.00
- World's Fair0.97
- We're grading video with text-era tools.1.00
- WHAT WE REACH FOR0.98
- CLIPScore1.00
- LPIPS1.00
- All born in a world of single frames and1.00
- captions.1.00
- FVD1.00
- FID1.00
- Great at pixels and prompt-matching -0.99
- prompt adherence1.00
- frame consistency1.00
- the easy 20%.0.97
- EVALS FOR AI VIDEO0.97
- 04 / 200.93
- World's Fair0.97
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.99
- 021.00
- THE GAP1.00
- World's Fair0.97
- They see frames. They can't see the story.0.99
- WHAT THEY CATCH1.00
- 台0.65
- WHAT THEY MISS1.00
- Per-frame sharpness0.98
- X Does it tell the story you meant?0.97
- X Does it obey physics?0.95
- ✓Frame-to-frame consistency0.98
- × Character stays the same person0.95
- ✓ Prompt / caption match0.96
- X Pacing that actually lands0.95
- X Audio synced to the picture0.99
- EVALS FOR AI VIDEO0.97
- 05 / 200.95
- oordinatat0.57
- World'sFair1.00
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.99
- 021.00
- THE GAP0.95
- World's Fair0.97
- LLM judges help — as far as you point them.0.98
- Only as good as the axis you0.99
- "is it consistent?"0.97
- name and the prompt you1.00
- write.1.00
- "does it match the prompt?"0.99
- LLM judge1.00
- Ask two judges the same1.00
- question, get two moods.0.99
- "is it...god?”_(ツ)__0.85
- EVALS FOR AI VIDEO0.98
- 06 / 200.91
- Taorcinat0.58
- World's Fair0.95
- TRACK 5· JULY 1,20260.97
- Evals1.00
-
- AlEngineer0.97
- 031.00
- OUR ANSWER0.99
- World'sFair1.00
- But offline eval was never the point.0.98
- The goal: make good video cheap, consistent, and everywhere.0.99
- drag the gate back here0.99
- GENERATE1.00
- EVAL (too late)1.00
- Move the high-impact gates first.0.99
- Calibrate them on real signals — engagement performance across the platform + human annotation (yes — the Friday0.99
- when everyone scores videos).0.99
- EVALS FOR AI VIDEO0.97
- 08 /200.95
- Toordnatts0.55
- World'sFair1.00
- TRACK 5· JULY 1, 20260.95
- Evals0.99
-
- AlEngineer0.99
- 1030.90
- OUR ANSWER0.99
- World's Fair0.97
- So we built Judge Judy.1.00
- An open-source video-eval harness. (Yes, that's the real name.)1.00
- Existing tools0.98
- Judge Judy1.00
- Scores1.00
- CLIP1.00
- . LPIps0.65
- VLM judges1.00
- multi-axis scoring1.00
- per axis, per clip1.00
- calibration loop: scores checked against human annotations0.99
- still 100% offline0.98
- EVALS FOR AI VIDEO0.98
- 07 / 200.92
- ioordinatc0.54
- World's Fair0.97
- TRACK 5·JULY 1,20260.98
- Evals1.00
-
- AlEngineer0.99
- 031.00
- OUR ANSWER1.00
- World's Fair0.98
- So we built Judge Judy.0.97
- An open-source video-eval harness. (Yes, that's the real name.)1.00
- PRESENTED BY1.00
- Microsoft1.00
- Existing tools0.98
- Judge Judy1.00
- Scores1.00
- CLIP1.00
- .LpIps0.68
- VLM judges1.00
- multi-axis scoring1.00
- per axis, per clip0.99
- G0.51
- calibration loop: scores checked against human annotations0.99
- still 100% offline0.98
- EVALS FOR AI VIDEO0.96
- 07 / 200.93
- hardinatnat0.58
- World's Fair0.99
- TRACK 5·JULY 1,20260.97
- Evals1.00
-
- AlEngineer0.98
- 1030.84
- OUR ANSWER0.99
- World'sFair0.97
- But offline eval was never the point.0.99
- PRESENTED BY1.00
- The goal: make good video cheap, consistent, and everywhere.0.99
- Microsoft1.00
- drag the gate back here0.99
- GENERATE1.00
- EVAL (too late)1.00
- Move the high-impact gates first.0.99
- Calibrate them on real signals — engagement performance across the platform + human annotation (yes — the Friday0.99
- when everyone scores videos).0.98
- EVALS FOR AI VIDEO1.00
- 08 /200.94
- hrdinatat0.55
- World's Fair0.98
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.97
- 041.00
- CLOSE THE LOOP1.00
- World'sFair1.00
- Catch drift where it's cheap to fix.1.00
- PRESENTED BY1.00
- IMAGE - VIDEO0.97
- LONG-FORM1.00
- (2-4 MIN)0.99
- Microsoft1.00
- Character drifts between keyframes. Fix it here - not1.00
- Regenerate one 6-second shot - not the whole film.1.00
- three minutes later.1.00
- EVALS FOR AI VIDEO0.97
- 09 /200.95
- World's Fair0.98
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.98
- 041.00
- CLOSE THE LOOP1.00
- World'sFair1.00
- Catch drift where it's cheap to fix.1.00
- IMAGE - VIDEO0.97
- LONG-FORM1.00
- (2-4 MIN)1.00
- Character drifts between keyframes. Fix it here - not1.00
- Regenerate one 6-second shot - not the whole film.1.00
- three minutes later.1.00
- EVALS FOR AI VIDEO0.99
- 09 /200.95
- World'sFair1.00
- TRACK 5· JULY 1,20260.97
- Evals1.00
-
- AlEngineer0.99
- 041.00
- CLOSE THE LOOP0.99
- World's Fair0.97
- Some axes only exist across time.1.00
- STORY1.00
- PACING1.00
- SOUND1.00
- coherent1.00
- slop1.00
- uneven rhythm = bad pacing0.98
- the slam lands here0.99
- Does the story hold — or melt into1.00
- Do the cuts land — or drag and0.98
- Does the slam hit on the exact0.99
- slop?1.00
- rush?1.00
- frame?1.00
- None of these live in a single frame — judge them across time, at the shot level.0.99
- EVALS FOR AI VIDEO0.98
- 10 / 200.91
- World's Fair0.99
- TRACK 5· JULY 1,20260.94
- Evals1.00
-
- AlEngineer0.98
- 051.00
- MAKE IT FAST1.00
- World'sFair1.00
- Online means fast. Judge Judy wasn't.0.98
- You can't run a committee of models1.00
- on every 6-second shot in a0.99
- generation loop.1.00
- So we distilled the committee into a1.00
- A stack of heavy tools0.98
- One small model1.00
- single reward model.0.98
- accurate·slow·moody1.00
- one score, fast enough to1.00
- gate1.00
- EVALS FOR AI VIDEO0.97
- 11 / 200.93
- World's Fair0.95
- TRACK 5· JULY 1, 20260.95
- Evals1.00
-
- AlEngineer0.97
- 051.00
- MAKE IT FAST1.00
- World'sFair1.00
- Small model. On purpose.1.00
- 1 smal1 VLM0.93
- ~3s0.99
- Qwen3-VL-8B - vision-language, 8B params0.99
- to score a 15-second clip0.99
- needs eyes → vision-language0.99
- needs speed → it lives at the gate0.98
- WeA/B'dabiggermodel:marginally better, significantly slower. Not worth it.0.99
- EVALS FOR AI VIDEO1.00
- 12 /200.98
- World'sFair0.99
- TRACK 5· JULY 1,20260.96
- Evals1.00
Transcript
234 cues· 3,257 words· 16,956 chars
- 0:13 So, hi, I'm Eorah.
- 0:14 I've been with Character for a bit over two years, and we'll talk about AI slop, right?
- 0:21 I think that, you know,
- 0:24 When we look at video generations as a whole, we have two parallel tracks.
- 0:31 One is the video generation, which became insanely good from models like Kling and Seedance and Veo and Sora, we still remember Sora.
- 0:43 But the part that got left behind is how we evaluate the quality of the video that was generated.
- 0:50 generated, right?
- 0:51 So on the one hand, we still kind of squint at it and decide whether or not it's good.
- 0:58 But on the other hand, we know that the generation has gotten a lot better.
- 1:02 And when we look at X or whatever social you're consuming your content on, there are a lot of guides on how to create amazing videos with this model or that.
- 1:16 So the hard part was never how to make video.
- 1:19 The hard part was how do we generate
- 1:24 good enough video, and how do we judge if the video is good enough?
- 1:28 So now we've gone to a world where the generation of video is basically free, right?
- 1:34 Free, especially when you compare it to how much studios would charge.
- 1:39 But the problem is the most, the grand majority of videos that is generated is not that good, right?
- 1:45 We have a lot of hallucinations, like a third limb,
- 1:49 opening and closing the door at the same time, hovering, physics, et cetera.
- 1:54 So unfortunately, in order to get high-quality content, we need a human to judge.
- 2:00 And I don't know when was the last time you've seen how someone is creating these long-form generated video.
- 2:09 It's usually a lot of shorter generations and a lot of editing.
- 2:13 The problem is because we're using a lot of the tools that we built for the text era, for the image era, for videos, right?
- 2:21 We're using things like Clip Score, which is great to judge a single frame.
- 2:28 Things like...
- 2:33 IPS will help us kind of detect the drift between frames.
- 2:36 But we don't have, I mean, but the problem is when you kind of combine all these together, all these tools, they're good at watching the individual frames.
- 2:44 They're good at checking this, this, this, this, does this specific frame, does it match the prompt that generated it?
- 2:53 It will check consistency between frames, and it will check whether or not it matched the prompt that drove it.
- 2:59 But what it won't do, it doesn't tell you if you told a story that you meant to tell.
- 3:07 If you think about what is video, video is a storytelling medium.
- 3:11 Video is just another form on how we tell a story for any type of story.
- 3:17 So one of the things we have to look at
- 3:19 Does it tell the actual story?
- 3:21 Does the physics make sense?
- 3:22 Like, for example, if we want a video of a character walking downstairs, does it actually walk or hover?
- 3:30 Does the character say the same character across multiple shots?
- 3:35 Does the pacing make sense?
- 3:37 For example, people take time going from one place to another.
- 3:41 We need to make sure that the pacing makes sense as well.
- 3:44 And especially when we add audio, we want to make sure that the audio is kind of synced with the imagery.
- 3:49 For example, if someone is slamming a door, we want that sound of the door being slammed to be exactly when the door is actually being slammed.
- 3:59 Now, the next iteration we all went to a while ago, we started using LLM as a judge for everything, and we have amazing foundational models that we just throw videos at them.
- 4:11 The problem with them is that, A, they're slow, B, they're only as good as your prompts, and multiple people will prompt multiple ways, and the same model may respond in a very, very different way.
- 4:22 And sometimes the prompt we use, like, is it consistent?
- 4:26 Does this match the prompt?
- 4:28 But then the question we really care about, is it good?
- 4:31 And the answer varies.
- 4:34 So, oops, sorry about that.
- 4:36 So our first iteration is like, let's take all these things and build a repeatable
- 4:42 benchmark on how we test video that we can rerun over and over and over again.
loading
Chapters
- 0:00 Introduction: evaluating AI generated video
- 1:19 Why video generation drifts between frames
- 3:14 Story and sound: what a clip has to get right
- 4:43 LLM as a judge, and catching drift early
- 7:01 Story and sound failure modes
- 8:28 Small model vs bigger model as judge
- 9:20 Don't score, compare: pairwise preference
- 10:47 When the judge scores vibe over substance
- 11:53 Pairing real footage to train a quality detector
- 13:27 Self verification in the generation loop
- 15:05 Q&A