diff --git a/program/serializers.py b/program/serializers.py
index f1c870b70b0865d48c33a3ec0334e04a2fc44207..1cef88141e360fa12078ee23dddd8bca1e54fdd6 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -18,7 +18,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-from typing import List
+from typing import List, TypedDict
 
 from rest_framework import serializers
 
@@ -197,18 +197,31 @@ class HostLinkSerializer(serializers.ModelSerializer):
         fields = ("type", "url")
 
 
+class Thumbnail(TypedDict):
+    width: float
+    height: float
+    url: str
+
+
 class ImageSerializer(serializers.ModelSerializer):
     ppoi = serializers.CharField(max_length=20)  # PPOIField max_length
     thumbnails = serializers.SerializerMethodField()
 
     @staticmethod
-    def get_thumbnails(instance) -> List[str]:
+    def get_thumbnails(instance) -> List[Thumbnail]:
         """Returns thumbnails"""
         thumbnails = []
 
         if instance.image.name and THUMBNAIL_SIZES:
             for size in THUMBNAIL_SIZES:
-                thumbnails.append(instance.image.crop[size].name)
+                [width, height] = size.split("x")
+                thumbnails.append(
+                    {
+                        "width": int(width),
+                        "height": int(height),
+                        "url": instance.image.crop[size].url,
+                    }
+                )
 
         return thumbnails