Every film now gets a second pair of eyes
· 4 min read

A render can finish without a single error and still hand you a film with a number hidden behind a badge. Until today, the only way to catch that was for someone to sit and watch. Now every film watches itself first.
Fine on paper, wrong on screen
A PageToVid film goes through many steps: read the page, write the storyboard, film the site, record the voice, render the MP4. Each step can succeed on its own terms while the film as a whole goes wrong in a way no log would ever mention.
Text can slide under the corner badge. A scene can show a page that is still loading. White captions can sit on a white section of the site. None of these is an error, so none of them makes a sound. They only exist once a person sees them.
We were finding these defects by opening films one at a time. That works for ten films, not for every film, and it means the person who ordered the video may notice before we do. We wanted each film to arrive with its own verdict.
A judge that watches the finished film
When a render is done, the pipeline takes evenly spaced frames from the final MP4, the file you download, not an intermediate preview. Those frames go to a Gemini vision model along with a strict production rubric, written from the defects we kept finding by hand:
- overlapping or cut-off text
- blank screens, or content still loading
- poor contrast between text and background
- broken layouts
- on-screen text in a different language from the voice
- visual glitches
The model answers with a score from 0 to 100 and a list of concrete issues, each one a short sentence a person can check against the frame. Grading the output itself, rather than the steps that produced it, is the whole point: it sees the film the way a viewer will.
A badge you can read in a second
The score and its issues are stored with the project and shown on the finished video page as a colour-coded badge: green from 90, amber from 70, red below. Hover it and the issues appear, in English, French, Spanish or German.
The review runs after delivery and never delays your film. The video is marked ready and downloadable first; the judge does its work afterwards. If the review itself hits a problem, it is logged and the film is left exactly as it was.
The same day, renders moved into dedicated one-shot jobs, so we made the worker wait for the review to finish before it exits. Waiting costs you nothing, since the film is already yours, and it means every film rendered in a job gets its score.
What it caught on its first day
The judge earned its place within hours. Its first findings turned straight into fixes, all shipped the same day:
- Screens in the wrong language. Our own demo films in French, Spanish and German scored between 25 and 60, because they had filmed the English interface. That started the work on making the filmed screens follow the voice.
- The badge in the way. The free-plan badge kept landing on content, most often a stat card's number. It is now a little smaller, sits on a soft shade that dims only the badge itself, and stat scenes keep its corner clear, checked against the layout's real geometry.
- Highlights you could not see. A brand colour sampled close to white produced a white highlight carrying white text. The highlighted word now switches to dark ink whenever the accent is light.
- Crowded quotes. Long quotes ran into their attribution and the captions, so quotes now shrink to fit their space, and a number followed by a word, like a count of pies, keeps its space instead of fusing together.
Each of these had appeared in films before. The difference is that now they showed up on a list, with a score next to them, on the first film that had them.
A pointer to the frames
We read the score with care. A model looking at a dozen frames can miss a flaw that sits between two of them, and it can flag something a person would happily accept. So the number is a lead, not a verdict: it tells us which film to open first and which kind of defect is showing up most often.
The final judgement still comes from looking at the frames themselves. What changes is that we no longer have to stumble on a problem to know it exists. When the same issue appears on several films, it is visible on the first day, with a name, and we can check that a fix makes it disappear on the next render.
It also gives everyone a shared language for quality. Instead of saying a film feels off, we can point to a score and a named issue. You can see the kind of films this produces on the videos page.
See it on your own site
Paste a page and get the narrated film this blog is about. The first one is free.
Keep reading


