{"id":49665144,"url":"https://github.com/christitustech/image-upscale","last_synced_at":"2026-05-06T15:07:46.205Z","repository":{"id":352320354,"uuid":"1210999629","full_name":"ChrisTitusTech/image-upscale","owner":"ChrisTitusTech","description":"easy cli based image 4x upscale and sharpening","archived":false,"fork":false,"pushed_at":"2026-04-18T03:33:18.000Z","size":18,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T02:04:22.979Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisTitusTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T01:12:15.000Z","updated_at":"2026-04-18T03:33:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ChrisTitusTech/image-upscale","commit_stats":null,"previous_names":["christitustech/image-upscale"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ChrisTitusTech/image-upscale","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTitusTech%2Fimage-upscale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTitusTech%2Fimage-upscale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTitusTech%2Fimage-upscale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTitusTech%2Fimage-upscale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisTitusTech","download_url":"https://codeload.github.com/ChrisTitusTech/image-upscale/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTitusTech%2Fimage-upscale/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32699321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-06T15:07:45.371Z","updated_at":"2026-05-06T15:07:46.196Z","avatar_url":"https://github.com/ChrisTitusTech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# image-upscale\n\nUpscale any image — or a whole folder of images — straight from the terminal using [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN). Results land in an `upscale/` subfolder next to your originals, always as lossless PNG.\n\n---\n\n## Step 1 — Install\n\n### Arch Linux\n\n```bash\nsudo pacman -S python-pipx git\ngit clone https://github.com/ChrisTitusTech/image-upscale\ncd image-upscale\npipx install .\n```\n\n### Other Linux / macOS\n\n```bash\ngit clone https://github.com/ChrisTitusTech/image-upscale\ncd image-upscale\npython -m venv .venv\nsource .venv/bin/activate\npip install .\n```\n\nVerify the install worked:\n\n```bash\nupscale --help\n```\n\n### One-command install + Thunar right-click action\n\nIf you want a global install flow with a Thunar context menu entry for selected images:\n\n```bash\ngit clone https://github.com/ChrisTitusTech/image-upscale\ncd image-upscale\nchmod +x install.sh\n./install.sh\n```\n\nThis installs:\n\n- The Python CLI command `upscale`\n- A Thunar wrapper command `upscale-selected`\n- A Thunar custom action: `Upscale Image (Real-ESRGAN)`\n\nThe installer uses a dedicated virtual environment, so it avoids system Python package conflicts (including PEP 668 externally-managed environment errors).\n\nSystem-wide install:\n\n```bash\nsudo ./install.sh --system\n```\n\n`--system` installs to `/opt/image-upscale/venv` and places commands in `/usr/local/bin`.\n\nCustom wrapper bin directory:\n\n```bash\n./install.sh --bin-dir \"$HOME/bin\"\n```\n\nSkip Thunar registration (install commands only):\n\n```bash\n./install.sh --skip-thunar\n```\n\nIf Thunar is already open, restart it to reload custom actions.\n\n---\n\n## Step 2 — Pick your images\n\nYou can point `upscale` at a **single file** or an entire **folder**.\n\n```bash\n# Single image\nupscale /path/to/photo.jpg\n\n# Whole folder\nupscale /path/to/photos/\n```\n\nOutput is always written to an `upscale/` subfolder inside the same directory:\n\n```\n/path/to/photos/\n├── photo.jpg\n├── scan.png\n└── upscale/          ← created automatically\n    ├── photo.jpg.png\n    └── scan.png\n```\n\n\u003e **Note:** `.jpg`, `.jpeg`, `.png`, `.webp`, `.bmp`, `.tiff` are all supported.\n\n---\n\n## Step 3 — Run\n\nThe first run downloads the model weights (~67 MB) to `~/.cache/image-upscale/weights/`. Subsequent runs are instant.\n\n```bash\nupscale photo.jpg\n```\n\nYou will see output like:\n\n```\nModel   : x4plus — General images, 4x upscale (default, best quality)\nScale   : 4.0x\nImages  : 1\nOutput  : /path/to/upscale\n\n[1/1] photo.jpg  done\n\nFinished: 1 upscaled, 0 skipped.\nOutput folder: /path/to/upscale\n```\n\n---\n\n## Step 4 — Common options\n\n### Use a different model\n\n```bash\n# Best quality (default)\nupscale photo.jpg --model x4plus\n\n# 2x upscale instead of 4x\nupscale photo.jpg --model x2plus\n\n# Anime / illustrations\nupscale drawing.png --model x4plus-anime\n\n# Fastest model, good for general scenes\nupscale photo.jpg --model general-x4v3\n```\n\n### Run on CPU (no GPU, or GPU with limited VRAM)\n\n```bash\n# CPU mode — slower but works everywhere\nupscale photo.jpg --fp32\n\n# GPU with limited VRAM — process in 512px tiles\nupscale photo.jpg --tile 512\n```\n\n### Custom output scale\n\n```bash\n# Output at 2x even though the x4 model is used internally\nupscale photo.jpg --scale 2\n```\n\n---\n\n## Thunar usage\n\nAfter running `install.sh`:\n\n1. Select one or more image files in Thunar.\n2. Right-click the selection.\n3. Choose `Upscale Image (Real-ESRGAN)`.\n\nEach selected file is processed by the `upscale` CLI and written into an `upscale/` folder beside the source image.\n\n---\n\n## Models\n\n| Model | Best for | Scale |\n|---|---|---|\n| `x4plus` *(default)* | Photos, general images | 4x |\n| `x2plus` | Photos when you only need 2x | 2x |\n| `x4plus-anime` | Anime, illustrations, line art | 4x |\n| `animevideo` | Anime video frames | 4x |\n| `general-x4v3` | General scenes, fast results | 4x |\n\nModel weights are downloaded automatically on first use to `~/.cache/image-upscale/weights/`.\n\n---\n\n## Full usage reference\n\n```\nupscale \u003cinput\u003e [--model MODEL] [--scale N] [--tile SIZE] [--fp32]\n\npositional arguments:\n  input           Path to an image file or a directory of images\n\noptions:\n  --model MODEL   Model to use (default: x4plus)\n  --scale N       Output scale factor, e.g. 2.0 or 3.5 (default: model's native scale)\n  --tile SIZE     Tile size in pixels for VRAM-limited GPUs, e.g. 512 (default: 0 = full image)\n  --fp32          Use float32 — required for CPU or very old GPUs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristitustech%2Fimage-upscale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristitustech%2Fimage-upscale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristitustech%2Fimage-upscale/lists"}