Next level: https://hpjansson.org/chafa/ which finds unicode symbols that approximate the content best.

Or perhaps just write a more capable terminal?

You don’t need to. Most terminals already support graphics.

https://github.com/saitoha/libsixel