Realmerge (Image Combiner for Horse Reality)

This was made on request from a close friend of mine who plays this game. A live instance can be found at

The source is provided here for part educational purposes (the actual merge process is really simple) and partly for self-hosting, if you ever want to do that for whatever reason.




A live instance can be found at This section is for if you wish to host your own instance for whatever reason you may have. Be sure as well to abide by this project's license.


  • Python >=3.7
  • The packages in requirements.txt
  • A folder to save merged files to in your working directory. By default this should be rendered.


A configuration file named config.json is required to be in the working directory. An example of such a file can be found at config-example.json.

address and port (optional)

Specify the address:port that the webserver runs on. Defaults to localhost:2965.


Horse pages cannot be viewed without being logged in, so we use cookies to tell Horse Reality that we are indeed authenticated. Because Horse Reality runs two servers (English and Dutch), each with separate account systems, the config file may define credentials for the English server (.com) and the Dutch server (.nl) separately.

If you don't want to support a specific server on your instance, just remove its key to ignore it. Blanking out both will raise an error, though.

output (optional)

If you want to customize where Realmerge saves merged images, you can set the name and path values here.


The route that the webserver will serve files on. E.g., if it is coolhorsepics, files will be available on Defaults to rendered.


Same as name, but for Multi mode renders.


An absolute or relative path on your filesystem to where Realmerge should save merged files. Defauls to rendered in the current working directory. Set to null to disable saving to the local disk and instead serve images as base64 data. If Realmerge fails to save locally due to a permissions error, this will be done anyway, even if the value is not null.


Same as path, but for Multi mode renders.


An HTML string indicating where users of this instance should contact you for support. You should generally only set this if you have modified your Realmerge instance.