command line – How can I zip a large amount of data based on a condition upon the size of the zip files?

I have about 2 TB of image data which I want to group into .zip files. The sizes of individual files vary.

I want to put all these files into ZIP archives. Any .zip file cannot exceed 2 GB (1.8 GB for safety) after compression. How many .zip files I make is not a concern.

How can I accomplish this? The key task here, I think, is to figure out how many files of varying sizes can be put into a ZIP archive so that the archive doesn’t exceed 2 GB in size without compressing them. And, of course, the whole process has to be automated. I cannot work through about 80,000 pictures manually.

Please suggest ways to achieve this.