Всё осложняется тем, что за сборку картинки отвечает Pillow, а он не асинхронный, следовательно вынесен в отдельный модуль с шебангом. И вот только он умеет масштабировать текст и получать размер текста. Но грузить его ещё и разбивкой текста на слова как-то не хочется... но видимо без этого никуда