It really depends on the details of your system.
If your components are all in Python (or Node.js) and all communication happens within your network you can go with ZeroRPC.
If you need to cross firewalls or if you use more exotic languages you can go with HTTP, as Hazzit said in a comment HTTP it is perfectly OK to transfer binary data in the body of an HTTP document, or alternatively you can use Multipart Post encoding.