For paid options there's https://scanova.io/blog/qr-code-sdk/ and https://www.unitag.io/qrcode. I expect writing your own library to 'prettify' your existing generations is also not too difficult. It will depend on your exact setup/target but I expect using an SVG library or similar shouldn't be too bad. The QR standard is pretty straightforward, so as long as your generation library gives you the information for all the dots, you should be able to just take that and repurpose them in the colour/shape you want.