My first e-paper display was a LinkSprite 4.3" b/w e-paper shield for Arduino pinout, that had its own Atmega368 processor on board, and required to send bitmaps line-per-line 11 times.
It took about 10 seconds to show an image. Don't know if it still works, must be hidden somewhere.
This was the only occasion I converted some image of mine to b/w, using img2lcd or image2lcd.
I didn't like that converter, as the non-registered version put its logo onto the converted bitmap.
For GxEPD and GxEPD2 I only made sure the example bitmaps of Good Display and Waveshare can be shown. Some day I will have time to practice converting my pictures again.
I suggest you follow the guides of Waveshare or Good Display to convert your pictures.
E.g. from 2.9 inch flexible 4 grayscale e ink display module partial refresh, GDEW029I6FD oops no info for conversion,
From 2.9 inch e-paper display black and white 4 grayscale partial refresh, GDEW029T5D also no info.
I know they have explanations on how to use bitmap converters. Also for grey levels, I assume.
But for now I don't have time to go searching.
You would need to use the information provided from Waveshare or Good Display adapted to the converters available for Mac or online.
BTW: thank you for ordering this panel for me.
PDF.js viewer (good-display.com) oops, b/w only.