#!/usr/bin/env python import http.client import argparse import base64 import json import http.client import pathlib DEFAULT_URL = "https://static.molodetz.nl/rp.vision.cgi" def post_image(image_path: str, prompt: str = "", url: str = DEFAULT_URL): image_path = str(pathlib.Path(image_path).resolve().absolute()) if not url: url = DEFAULT_URL url_parts = url.split("/") host = url_parts[2] path = "/" + "/".join(url_parts[3:]) with open(image_path, "rb") as file: image_data = file.read() base64_data = base64.b64encode(image_data).decode("utf-8") payload = {"data": base64_data, "path": image_path, "prompt": prompt} body = json.dumps(payload).encode("utf-8") headers = { "Content-Type": "application/json", "Content-Length": str(len(body)), "User-Agent": "Python http.client", } conn = http.client.HTTPSConnection(host) conn.request("POST", path, body, headers) resp = conn.getresponse() data = resp.read() print("Status:", resp.status, resp.reason) print(data.decode()) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("image_path") parser.add_argument("--prompt", default="") parser.add_argument("--url", default=DEFAULT_URL) args = parser.parse_args() post_image(args.url, args.image_path, args.prompt)