GIF playback on thumbnail

Hi, I saw quite a few topics with animated thumbnail under #script category. However there are also ones with an GIF attached, but shown as a static image on thumbnail preview (such as mine).

I initially thought it’s cached locally. But after several clear cache and device change, it’s still the same topics that gets an animated thumbnail.

Here is a random gif for testing just realized #site-feedback has thumbnails disabled

Is there any hidden rules to ensure the thumbnail gets animated?

(note: I’m referring to the thumbnail previews shown on the list of topics, not the embed when you are reading it)


Looks like any large gif has a chance to be optimized into a static frame.
As suggested by ibims, you can hide a dedicated gif in your post, that is small enough to avoid the compression criteria. Select it as the thumbnail by editing your topic title.

Like this:




could you please attach some links to such topics?

For example, this post.
This is how it looks like on my side

This topic also has a GIF attached to its article. However the thumbnail doesn’t animate.

Checked their thumbnail URL and here are they respectively:
Post 1 (animated):
Post 2 (static):

I now noticed there’s a “original” string in the animated one, whilst the static one has “optimized” in it.
Is this handled entirely by Discourse, or does the OP has any control over it?

Maybe it’s because of the file size. I usually capture gif files to their maximum size limit.(4mb)

The site might have trouble down sizing the original 3~3.9mb gif file that was uploaded.

Ahh, here comes the kitty

Update 02/12/22: This stopped animating.

That could be the case! If so I’m wondering what the cap is for them to be optimized… Would be lovely to have both a flashy thumbnail and a crispy gif in the article.

Interesting… This gif is 3.7mb

But still works

I have no idea now. The gif in my last post was 2.95MB and it doesn’t animate. :frowning:

The gif width/height ratio is also not the problem.

All of my gifs are made into 470 x 390

This is confusing…

no idea, we’re just using this discourse plugin Topic List Previews Theme Component - theme-component - Discourse Meta

Without testing I suspect the difference is aspect ratio.

root@discourse-eroscripts-amd-app:/var/www/discourse/plugins/discourse-topic-previews-sidecar/config# cat settings.yml

Update, I don’t think that’s it. Investigating.
Possibly a ratelimit issue.


May be the framerate?
I checked all my post.
24FPS gif images are works fine. but gif image that under 15FPS are not working.

I don’t think that’s the problem either. Because some of my gifs are working and some of them are not. And all of them share same framerates.

But, I will try recording it into 24fps. Thx for the idea!


Changing to 24fps worked! Maybe that was the problem after all?

Nvm, It’s not working now… that’s weird.

Came across a topic that’s somewhat relevant, though might not be useful

i wonder if the changing is due to some background processing of the gif that runs in an async task. So it might work one way for a few minutes, then change behavior after the background task completes?

I thought you guys might have turned them off or something

edit: just got one to work using

I use Scriptplayer to make preview gifs and I tried 18fps with my most recent post.

Been using 18fps lately, not animating still.

Shortly after posting this topic the thumbnail animated for a while!
Which is until I edited the title for it to get optimized like every other.

Such a shame… That image won’t make sense without being animated.

I’ve got 3 topics, none of them have had animated thumbnails.
Then I added a second low-res GIF to my post, which is simply scaled down to 120px width.
This seems to avoid any further conversion, now all of them are now animated…

I think this drastic reducement fulfills all optimization criteria in file and image size, didn’t touched fps, tho.

However you still should post the high-quality GIF as well within the post.


Did it in my post and now they animate properly. That’s actually very clever!
Looks like this is the work-around for now!