As a home brewer I wanted to use individual bottle cap designs instead of labels to differentiate my batches, because removing labels is always a pain. At first I thought of creating stamps for applying the design to the caps, but it didn't work out, because it was difficult to align and resulted in blurry prints. As I don't have labels, bottle caps have to be as pretty as possible ...
Laser engraving the designs turned out to be the solution for me. Although monochromatic, the results look great on colored bottle caps. To engrave many bottle caps at once I designed this customizable jig.
You may have to adjust values a bit (use the customizer or open in OpenSCAD) to ensure a tight fit of the bottle caps on the jig. Print just one holder to try, adjust values and repeat. Printing a large array of holders may work better by adding raft to avoid warping (I haven't removed raft from mine, because it adds some more stability).
I use a Fabtotum 3d printer with laser head to engrave my designs. The jig has small center markings on each holder which can be used to align it to the laser engraver. I painted them black for better contrast.
I hope this Thing is useful for you – would be great to see your results!