I'm a big fan of svg-term myself: https://github.com/marionebl/svg-term-cli
svg-term --command 'cowsay hey there'
But that has the aforementioned issues about not pausing enough, so I usually just record with asciinema first and then invoke svg-term.