ContentRoofLab

LabNote 06Product films

An advert must show the product you sell

A product advert has one job a drawing explainer doesn't: the thing on screen must be the thing in the box. We made six sample adverts from one photo each, the way a seller would, and found four ways it could quietly show, name or write the wrong thing.

Abstract

ContentRoof turns one photo of a product into a short advert: the photo itself is filmed close up, and pictures of the product in everyday places are generated from it and checked against it. To publish samples of its six advert styles, we made each one the way a seller would and reviewed every film frame by frame. Of 46 generated pictures, 39 passed the check against the seller's photo; the rest were made again or left out. Four bugs surfaced. The product was named from how its photo looked rather than what the seller called it, so a lint roller became a hair pick in every picture prompt. A scene meant to show the problem before the product showed an invented version of the product. Titles in capitals could run off the screen. Arabic subtitles were set in an Urdu typeface. All four are fixed.

4bugs found by making the samples, all fixed
0people in any generated picture, by design
5new sample adverts reviewed frame by frame, plus Urdu, Arabic and Hindi versions scene by scene
A frame of a ContentRoof advert: the words 'Stuck-on fur' over a long-handled lint roller that does not exist
A frame of a ContentRoof advert: the words 'Hair on coats' over a black coat covered in pet hair
A frame of a ContentRoof advert: a brass candle holder on a windowsill beside a plant
Specimens. Left: the opening of the first lint roller advert, showing a roller that doesn't exist. Centre: the same opening after the fix, the annoyance with no product in it. Right: a generated picture of a seller's candle holder, checked against the photo. All three are frames of ContentRoof adverts.

The problem

An explainer video can draw a heart or a volcano however it likes. A product advert can't: the seller's customers will receive the real thing, so the advert has to show that thing, name it correctly and say only what is true of it.

ContentRoof makes a product advert from one photo. The photo is cut out and filmed close up, revealed with the product's name, and the advert ends on the seller's button. Between those moments it shows the product in everyday places (a watch on a bedside table, a kettle on a counter) in pictures generated from the photo and checked against it.

To put samples of its six advert styles on our site, we made each one the way a seller would: one photo, a short description, a style. Then we watched every frame.

Finding 1: the system named the product from how it looked

The first lint roller advert showed no lint roller at all in its pictures. The reason was in the first step. Before writing anything, the product's photo is described, so the writer and the picture generator know what it is. Looking at a black curved handle on a stone base, without being told, the description read: "a black curved plastic hair pick with a long handle".

The seller had written "a lint roller". But the description, not the seller, supplied the product's name in every picture request, so all four attempts drew a hair pick, all four failed the check against the photo, and the scene was left out. The narration had picked it up too: "The pick stands alone."

The fix is simple: when the seller has described the product, the photo is described again with their words, and their name for it wins. The same photo now reads "a lint roller with a black plastic handle and a cylindrical, speckled grey stone-look base". The seller knows what they sell.

Figure 1Generated pictures that passed the check, by product

Canvas sneakers6 of 6Leather bag6 of 6Candle holder12 of 13Lint roller15 of 214 hair picks
Canvas sneakers6 of 6Leather bag6 of 6Candle holder12 of 13Lint roller15 of 214 hair picks
Every picture of a product in an everyday place is compared with the seller's photo: the same product, the right way up, only one of it. A picture that fails is made again. Counts are every check made while producing the samples, retries included; the candle holder's one failure showed two holders.
Data
Value
Canvas sneakers6 of 6
Leather bag6 of 6
Candle holder12 of 13
Lint roller15 of 21

Finding 2: a scene without the product showed a fake one

The "problem, then the fix" style opens on the everyday annoyance before the product appears: pet hair on a coat, tangled cables. That picture is generated without the seller's photo, because the product is not supposed to be in it.

The writer was told to leave the product out, but nothing enforced it, and its first opening scene described "a black lint roller stands upright on a concrete base". With no photo to follow, the generator invented one: a tall roller on a long pole (left, in the plates above). The check passed it, because the check only asked about people, writing and oddities, not about the product.

Now two separate guards stop it. The script is rejected if its problem scene names the product, and the picture is rejected if the product, or anything like it, appears in it. The opening became a black coat covered in pet hair, as it should have been.

Finding 3: capitals are wider than you think

Titles are sized so their longest line fits the frame, using an average letter width. That average was for ordinary mixed-case text. The sale advert slams its deadline onto the screen in capitals, which are much wider, so ENDS SUNDAY ran off both edges:

Figure 2A title in capitals, before and after

The words 'ENDS SUNDAY' cut off at both edges of the frameA Before
The words 'ENDS SUNDAY' fitting inside the frameB After
The same frame of a sale advert. Sizes were estimated from the width of lower-case letters; capitals are wider, so a deadline slammed onto the screen ran off both edges.

Titles shown in capitals are now sized at capitals' width, with room left for the small growth they make while on screen.

Finding 4: a typeface without the letters

Each advert style has its own typefaces: a serif for warm styles, a heavy grotesque for bold ones. None of them contain Arabic, Urdu or Hindi letters. When a font lacks a letter, the browser quietly borrows one from any other font it has, and for Arabic it borrowed the Urdu Nastaliq, a calligraphic style Arabic readers don't expect for subtitles:

Figure 3An Arabic subtitle, before and after

An Arabic subtitle set in an Urdu Nastaliq typefaceA Before: Urdu Nastaliq
The same Arabic subtitle set in an Arabic Naskh typefaceB After: Arabic Naskh
The same line of an Arabic advert. The style's typeface has no Arabic letters, so the browser fell back to another font on the system, an Urdu Nastaliq. Each script now gets its own typeface.

Each script now gets its own typeface, placed before any generic fallback, and joined scripts are never set in italics or with letter-spacing, which had pulled Hindi letters apart in the small labels.

Why there are never people in the pictures

Earlier, the generated pictures showed the product in use: a watch on a wrist, headphones on a head. Hands came out with fused fingers, a watch was tied to a shoelace, and some pictures had limbs that belonged to nobody. Worse, some of these passed every automatic check. A cheaper picture generator made two of the three pictures in one test advert wrong, and those passed the check too.

So the pictures show the product alone, in a place that tells the moment: on a bedside table, beside a bath, in a hallway. An advert with no hands in it is less vivid. An advert with a six-fingered hand holding your product loses the sale.

When the picture service says no

One product could not be pictured at all: a perfume in a square, dark glass bottle. The picture service's own safety filter refused every picture of it, in every scene and every wording we tried, most likely because it looks like a bottle of spirits. Earlier, the studio reported this as pictures that "didn't pass the quality check", which was wrong and confusing. It now says plainly that the service refused them, and close-ups of the seller's own photo take their place, so the advert still works.

How long it takes

Figure 4How long each step took

0 s25 s50 s75 s100 sWriting the script3.97.9Voice, music and pictures5.776.3Exporting the video35.3100
0 s25 s50 s75 s100 sWriting the script3.97.9Voice, music and pictures5.776.3Exporting the video35.3100
From the samples' own clocks, for adverts of 17 to 31 seconds, on one laptop. Preparing is fastest for a sale advert, which has no generated pictures, and slowest when pictures are made again after failing the check.
Data
FromTo
Writing the script3.9 s7.9 s
Voice, music and pictures5.7 s76.3 s
Exporting the video35.3 s100 s

On one laptop, writing an advert's script took 4 to 8 seconds, preparing the voice, the music and the checked pictures 6 to 76 seconds, and exporting it 35 to 100 seconds.

What we take from it

Make the thing the way a customer would, then watch all of it. None of these four bugs showed up in a test that checked whether an advert was produced: every one produced a finished video. They showed up only when someone looked at every frame and asked whether a seller would be happy to post it.

Method

Products
Six products photographed by others and free to use (five public domain, one with attribution), each given a made-up brand name: canvas dog sneakers, a lint roller, a leather bag, a skateboard, a candle holder and an open-source watch.
Process
Each advert was made through the same steps the studio uses, from a seller's short description and the photo, with the advert style chosen in advance.
Review
Every finished advert was cut into frames twice a second and inspected in full. The Urdu, Arabic and Hindi versions were checked as frames from every scene.
Counts
Picture counts are the check results stored for each product during these runs; timings are the runs' own clocks.

Limits

  • Six products and a few dozen pictures are a careful look, not a benchmark. Other products will fail in other ways.
  • The picture check is automatic, and it passes only what it is asked about: before the fix, the invented lint roller passed because the check didn't ask whether the product appeared. A person still watches every published sample.
  • The picture service refuses some products outright, and we can't predict which before trying.
  • Translations can still choose an odd word: one Urdu draft called brass by a word that means something else.

Make a video from a photo →

05 Visual selection9 Nov 20265 min A wrong picture is worse than none We rated the picture behind 11,751 explainer scenes in nine languages. One in four did not match the narration. How we measured it, what caused it, and what raised matches from 62% to 76%. 62% → 76%scenes whose picture matches the narration 04 Translation5 Nov 20264 min A billion is not a billion in Spanish Spanish billón, German Billion and French billion mean a million million. How we check every number when a video is rebuilt in another language: 8 of 8 planted errors caught. 8 of 8planted number errors caught 03 Speech5 Nov 20263 min Sixty seconds is a different length in every language Asked for 60 s, our videos came out 44–105 s. Measuring each language's voice per letter now lands 43–62 s in eleven languages, and a cloned voice took Arabic errors from 10% to 0. 44–105 s → 43–62 sasked for 60 s, in eleven languages 02 Evaluation5 Nov 20264 min Balanced benchmarks hid a 95% error rate Our sentence classifier scored 79–95% on balanced tests. On real narration it gave 95% of plain statements a shape they don't have. What we measured and what fixed it. 5% → 88%plain statements left alone