If you configure the blockchain correctly, up to 64 MB of data can be included per transaction, either as raw data or structured as a stream item.
There is no limit on the form of data or how you structure it. MultiChain 1.0.x supports raw binary data (expressed in hexadecimal in the APIs) which is most suitable for images. MultiChain 2.0 alpha supports data provided as JSON and text as well, and stores it efficiently in either case.