Realtime messages have no size limit.
Each message you send is divided into 800 bytes chunks. Each chunk is sent (and billed) separately. The Realtime SDKs will automatically aggregate the message chunks and deliver the original message to the subscribers.
However if you care about message latency you should design your system to send the smallest messages possible (ideally smaller than 800 bytes).