Stream allows you to upload images from a browser or mobile. The endpoint is client.images.upload() using a HTML form (see more here https://getstream.io/docs/#files_introduction). The maximum upload size for a file is 10mb. Once uploaded, the API will return the URL ready for use.
It's best practice when using Stream to keep data normalized and use references to images rather than the image itself in an activity. This makes it easier to update data and will avoid heavy sync operations.