diff --git a/pyproject.toml b/pyproject.toml
index af2e121a33f9390d8cdf70fc9c9551b3b51ff3f1..603e4e93c0fb1d58855c8b26460baa882ed11650 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -10,7 +10,7 @@ authors = [
 maintainers = [
   {name = "Jan Eggers", email = "jan.eggers@hr.de"},
 ]
-version = "0.2.3.4" # Neue Versionsnummern für pip-Update
+version = "0.2.3.5" # Neue Versionsnummern für pip-Update
 description = "Bluesky- und Telegram-Konten auf KI-Inhalte checken"
 requires-python = ">=3.8"
 dependencies = [
diff --git a/src/aichecker/check_tg.py b/src/aichecker/check_tg.py
index a2f758cf2d310146b56e742c51bd742cbe4898b9..a9bd29568642693af76b4a0c30621815e89964d3 100644
--- a/src/aichecker/check_tg.py
+++ b/src/aichecker/check_tg.py
@@ -193,7 +193,8 @@ def tg_post_parse(b, save = True, describe = True):
                     }
         if describe:
             # GPT4o-mini versteht JPG, PNG, nicht animiertes GIF... und WEBP.
-            sticker['description'] = gpt4_description(sticker_url)
+            image = base64.b64encode(requests.get(sticker_url).content).decode('utf-8')
+            photo['description'] = gpt4_description(f"data:image/jpeg;base64, {image}")
         if save:
             sticker['file'] = save_url(sticker_url, f"{channel}_{b_nr}_sticker")
     else:
@@ -205,7 +206,8 @@ def tg_post_parse(b, save = True, describe = True):
                     # 'image': base64.b64encode(requests.get(photo_url).content).decode('utf-8')
                     }
         if describe:
-            photo['description'] = gpt4_description(f"data:image/jpeg;base64,{photo['image']}")
+            image = base64.b64encode(requests.get(photo_url).content).decode('utf-8')
+            photo['description'] = gpt4_description(f"data:image/jpeg;base64, {image}")
         if save:
             photo['file'] = save_url(photo_url, f"{channel}_{b_nr}_photo")
     else:
@@ -254,7 +256,8 @@ def tg_post_parse(b, save = True, describe = True):
         if describe:
             video['transcription'] = transcribe(video['file'])
             if photo is not None: 
-                photo['description'] = gpt4_description(f"data:image/jpeg;base64, {photo['image']}")
+                image = base64.b64encode(requests.get(video_thumbnail_url).content).decode('utf-8')
+                photo['description'] = gpt4_description(f"data:image/jpeg;base64, {image}")
     else:
         video = None
     # Document / Audio URL? https://t.me/telegram/35
diff --git a/src/aichecker/check_wrappers.py b/src/aichecker/check_wrappers.py
index 9e7c3f5498e85a7b1ad6c3ed15b56a99c075e72b..5bedee92a8b2b464a4b0f0bfdf9cb43dfb041afc 100644
--- a/src/aichecker/check_wrappers.py
+++ b/src/aichecker/check_wrappers.py
@@ -13,6 +13,21 @@ from aiornot import Client
 d_thresh = .8 # 80 Prozent 
 limit = 25 # Posts für den Check
 
+def object_to_dict(obj):
+    """Recursively converts an object to a dictionary."""
+    if isinstance(obj, dict):
+        # Recursively handle dictionaries
+        return {k: object_to_dict(v) for k, v in obj.items()}
+    elif hasattr(obj, "__dict__"):
+        # Handle objects with __dict__
+        return {k: object_to_dict(v) for k, v in vars(obj).items()}
+    elif isinstance(obj, (list, tuple, set)):
+        # Handle iterables
+        return type(obj)(object_to_dict(v) for v in obj)
+    else:
+        # Return the object if it cannot be converted
+        return obj
+
 def detectora_wrapper(text: str):
     # Verpackung. Fügt nur den "Fortschrittsbalken" hinzu. 
     print("?", end="")
@@ -57,7 +72,7 @@ def aiornot_wrapper(content, is_image = True):
             # Unterscheidung: Bilder haben den Confidence score im Unter-Key 'ai'
             # Audios SOLLTEN eien Confidence-Wert in response.report.confidence haben, haben es aber nicht
             'confidence': response.report.ai.confidence if hasattr(response.report, 'ai') else .99,
-            'generator': response.report.generator if hasattr(response.report, 'generator') else None,
+            'generator': object_to_dict(response.report.generator) if hasattr(response.report, 'generator') else None,
         })
         print(f"\b{'X' if aiornot_dict['score'] != 'human' else '.'}",end="")
         return aiornot_dict