diff --git a/src/python/boytacean/__init__.py b/src/python/boytacean/__init__.py
index 89efe4061af821e2bbf735c00931d2178a5cb743..533633c58c0608f85a27de998f92ccd936461075 100644
--- a/src/python/boytacean/__init__.py
+++ b/src/python/boytacean/__init__.py
@@ -1,4 +1,4 @@
-from PIL import Image
+from PIL.Image import Image, frombytes
 
 from .boytacean import DISPLAY_WIDTH, DISPLAY_HEIGHT, CPU_FREQ, GameBoy as GameBoyRust
 
@@ -41,11 +41,13 @@ class GameBoy:
     def frame_buffer(self):
         return self._system.frame_buffer()
 
-    def save_image(self, filename: str, format: str = "PNG"):
+    def image(self) -> Image:
         frame_buffer = self._system.frame_buffer()
-        image = Image.frombytes(
-            "RGB", (DISPLAY_WIDTH, DISPLAY_HEIGHT), frame_buffer, "raw"
-        )
+        image = frombytes("RGB", (DISPLAY_WIDTH, DISPLAY_HEIGHT), frame_buffer, "raw")
+        return image
+
+    def save_image(self, filename: str, format: str = "PNG"):
+        image = self.image()
         image.save(filename, format=format)
 
     @property