Allowlist snapshot for collectors of specific number of tokens on a contact

I have searched this topic but no luck yet. I am looking to create an allowlist for my collectors to claim a free token plus gas. Collectors must have 4 or more UNIQUE tokens from the contract to be eligible. I can do this manually but is there a way to set parameters for a snapshot and only get wallet addresses with the required number of tokens? Multiples of a single token don’t count towards the free claim they need to be holding at least 4 unique tokens from the contract. Is this possible?