The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Upres Cli listing page.
Official CLI + SDK for upres.ai — image, video, and speech restoration. One API, 14 public aliases, up to 8K output.
upres.ai gives you a clean REST API, 14 public aliases, batch processing, and predictable pricing starting at $9/mo on the Creator launch deal.
Or install globally:
Or save permanently:
Key resolution order: --api-key flag → UPRES_API_KEY env var → ~/.config/upres/config.json
Files over 50 MB are automatically uploaded via TUS resumable protocol.
The Python SDK uses httpx — async-ready, no heavy dependencies.
| Example | What it does |
|---|---|
| batch-upscale-folder.js | Upscale all images in a folder with configurable concurrency |
| restore-photo-folder.py | Restore old/scanned photos with Lumen |
| ecommerce-pipeline.js | Product image pipeline: raw shots → 4K → publish-ready |
| lightroom-export-hook.md | Auto-upscale Lightroom exports via post-processing hook |
| figma-plugin-stub.md | Figma plugin integration guide |
14 public aliases across image, video, and speech. Each one tells you up front whether it invents detail or leaves your file alone. Aliases that do not enlarge ignore --scale.
| Alias | Kind | Best for |
|---|---|---|
flare | Image | Everyday photos, fastest default |
prism | Image | Text, logos, product shots — keeps edges true |
lumen | Image | Maximum detail recovery for print, up to 8x |
mirage | Image | Invents new detail — art and hero images |
hush | Image | Faithful denoise, same size as the source |
keen | Image | Deblur and sharpen, same size |
visage | Image | Faces only, does not enlarge |
atelier | Image | Hush, Visage if a portrait, then Lumen |
motion | Video | Fast 4K finish for AI video |
motion-x | Video | Cinema-grade, for film and commercials |
still | Video | Temporal denoise, resolution stays put |
cadence | Video | Frame interpolation, does not enlarge |
atelier-x | Video | Still, then Motion X |
voice | Speech | Speech denoise to 48 kHz. Not for music |
Full model catalogue: upres.ai/models · Live spec: api.upres.ai/v1/openapi.json
| Plan | Price | Includes | API | Watermark |
|---|---|---|---|---|
| Free | $0 | 5 upscales/mo | — | Yes |
| Creator | $9/mo | 50 stills + 20 min 4K video/mo | — | No |
| Studio | $39/mo | 250 stills + 90 min 4K video/mo | Yes | No |
Studio tier unlocks the full API, batch processing, and no output watermark.
Compare plans → · vs. Topaz → · vs. Upscayl →
Or in claude_desktop_config.json / Cursor:
Tools: upres_list_models, upres_get_credits, upres_upscale_image, upres_upscale_video, upres_enhance_audio, upres_get_job.
If you're building something open-source on top of the API, email support@upres.ai with your repo link. We offer 500 ops/month for qualifying OSS projects.
The SDK handles these errors automatically:
| Status | Behavior |
|---|---|
401 | Prints API key error + link to key management, exits |
402 | Prints quota exceeded + link to pricing, exits |
429 | Prints rate limit message (60 req/min), exits |
5xx | Throws UpresError with message |
In Python: raises AuthError, QuotaExceededError, or UpresError.
See CONTRIBUTING.md. Tests run with:
MIT — see LICENSE