How to I shrink a snapshot VDI in VirtualBox?

All the answers for this question deal with base drive, but most of my VMs are snapshots, nothing else, so it seems none of the solutions actually work.

I tried filling it with zeros with SDelete, but that just took the file from being 35GB to 80GB, nothing I do shrinks the file; modifyhd -compact and modifymedium –compact show the whole progress bar, but don’t actually do anything. Now I have a massive 80GB file when I just wanted to shrink the drive.

CloneVDI just says “source disk is not a recognized vdi file format”

Is there a way to convert the snapshot to a main drive?

for clarity: The VM I am trying to compact was created as a full clone of a linked clone, which seems to lock it into being only snapshots; this is likely where the issue stems from. For now I will just recreate my VMs as full clones from the base instead of using linked clones as intermediates.