Skip to content

Thumbnail Generation

Overview

Thumbnail generation creates a thumbnail by having AI pick the best moment in the race video and extracting that frame.

The image is extracted, not drawn

The thumbnail is not drawn by a generative model. The AI's job is to analyse the race video, race result and course image and choose the best moment; the image itself is a frame extracted from the video at that moment.

Operators do not have to prepare an image โ€” one capturing the highlight of the race is produced automatically and embedded at the top of the blog body, just below the 10-second summary.


How generation works

flowchart TD
    Request([Operator requests a thumbnail]) --> Video[Fetch the race video]
    Video --> Choose[AI analyses the video, result and course image<br/>and picks the best second]
    Choose -->|selection fails| Fallback[Use the end of the video, near the finish]
    Choose -->|selection succeeds| Extract
    Fallback --> Extract[Extract the frame at that moment]
    Extract --> Save[Store the image]
    Save --> Insert[Embed the thumbnail in the blog body]

Generation runs in the background, so operators do not have to wait after submitting a request.


Targets and preconditions

Item Details
Target Blogs (requested from the admin UI)
Precondition The blog is tied to a race (a race video is required)
Precondition The blog is not still generating

Blogs not tied to a race cannot have a thumbnail generated.

There is also a path for articles

The mechanism supports thumbnails for articles (the 10-second race result summary) as well, but the current admin UI only enqueues blog thumbnails.


Regeneration

Generation can be requested as often as needed. An existing thumbnail is replaced, so duplicates never pile up.

If the blog itself is rebuilt, the previously generated thumbnail is carried over.


Compared with manual setup

Method Description
Manual The operator uploads an image they prepared
AI generation A frame at an AI-selected moment of the race video is extracted and used