Refresh old YouTube thumbnails with AI: a batch method

YouTube says Ask Studio will suggest refreshed thumbnails. To refresh a back catalog yourself, send each old thumbnail to an image API as a reference.

4 min readSume
All posts

To refresh old YouTube thumbnails with AI, treat each video as one request: send the old thumbnail as an input_references entry to POST /v1/images with a prompt that names what stays (the subject, the layout) and what changes (background, contrast, colour), then keep the old file until you have compared the two. On Sume, openai/gpt-image-2.5 takes up to 16 references per request.

YouTube's Made on YouTube post, read 2026-09-29, says Ask Studio will run in the background to suggest refreshed thumbnails. It gave no date or rules, so this page covers the do-it-yourself route for a back catalog, not a comparison.

What does the refresh actually change?

Decide it before you generate, because a vague "make it better" prompt changes everything. Pick one visible reason for each video: the thumbnail is dark, cluttered, or looks like your older branding.

Refresh briefs for the prompt; request fields from the Image API docs, read 2026-09-29.
Problem with the old oneKeepChange
Dark and flatSubject and layoutLighting and background
ClutteredMain subjectRemove side objects, add empty title space
Old brandingCompositionColour palette and style

How do I send one old thumbnail?

Put the old thumbnail at a public HTTPS URL, since reference URLs that are localhost, private-network or not HTTPS are rejected before submission. Ask for the size YouTube shows as 16:9 with a custom image_size of 3840 by 2160, which fits the model's rules of edges in multiples of 16, a 3840 maximum edge, and at most 8,294,400 pixels.

curl -X POST https://api.sume.com/v1/images \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-2.5",
    "prompt": "Refresh this thumbnail: keep the person and layout, brighter lighting, cleaner background, empty space for a title, no text",
    "input_references": [
      { "type": "image_url", "image_url": { "url": "https://example.com/old-thumb.jpg" } }
    ],
    "image_size": { "width": 3840, "height": 2160 }
  }'

How do I run it across many videos?

Loop the request over a list of thumbnail URLs and log the returned image next to the old one. The call waits up to 30 seconds by default (sync); for a large batch, mode can also be async or webhook, which return a job instead of waiting. Each image is billed by the endpoint, so try five videos before the whole catalog.

How do I choose which thumbnails to refresh first?

Start with videos whose title still fits but whose thumbnail looks dated, and leave alone any thumbnail that is already working. YouTube's Studio tool, which the post says has run more than 40 million title and thumbnail experiments since 2024, is the place to compare an old thumbnail against a new one; the post gave no detail on how refreshed suggestions will appear.

Refresh five, publish them one at a time, and keep a note of the date each swap happened, so a change in views has one obvious cause.

What should I check before swapping one?

The output is a newly generated image, not an edit of the pixels, so compare faces, logos and product labels with the original. Sume ends at the image file: upload it in YouTube Studio yourself and keep the old file so you can revert.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume