ну по http то же ведь передают картинки.... не только html и json...
Ну тогда все протоколы бинарные. Бинарный или текстовый это вопрос кодировки. В бинарном у тебя поток байт. В текстовом все должно быть acill потому "картинки" часто передавали в base64. Ты можешь заголовком задать кодировку и вуаля http превращается в бинарный протокол. Но это уже на усмотрение приложения.
Ну короч, у grpc даже в faq есть на тему что не то что бы оно сильно отличалось от любой другой херни поверх http/2 и это все больше про инфраструктуру и экосистему