Index: src/services/ActivityPubService.js
===================================================================
--- src/services/ActivityPubService.js	(revision 422b20d3806742816f99248675de442e165a6140)
+++ src/services/ActivityPubService.js	(revision b7e382fdc8afd7a0fc8abbdc2b2fc346200dd9c5)
@@ -1637,4 +1637,12 @@
     .filter((a) => a && a.url && (!a.mediaType || /^image\//i.test(a.mediaType)))
     .map((a) => safeUrl(a.url)).filter(Boolean);
+  // A Klonkt hosted-audio post strips its cover from `attachment` (so Mastodon
+  // shows the player card, not a loose image) and puts it in `image` instead.
+  // Same fallback as mediaFromNote() so a boosted music post keeps its cover.
+  if (!images.length && note.image) {
+    const im = Array.isArray(note.image) ? note.image[0] : note.image;
+    const iu = safeUrl(typeof im === 'string' ? im : (im && im.url));
+    if (iu) images.push(iu);
+  }
   return {
     object_uri: safeUrl(note.id) || note.id,
