I Built an AI Upscaler with 6 Specialist Models — Here's What I Learned A developer built UpRes, an AI upscaling service that routes images through six specialist models — Flare for photos, Prism for AI art, Lumen for portraits, Mirage for illustrations, and Motion/Motion X for video — rather than relying on a single general-purpose model like Real-ESRGAN. The service runs on a single API endpoint with GPU-backed job queuing, completing most jobs in 15-25 seconds, and also exposes an MCP integration so assistants such as Claude can trigger upscales directly. The developer reports that model selection matters more than scale factor and that video's temporal consistency was the hardest engineering problem, taking three months to get right. When I started building an AI upscaling service, I thought I'd just wrap Real-ESRGAN and call it done. Wrong. A model trained on photographs produces blurry edges on digital art. A model trained on anime smears skin textures in portraits. And video? Completely different challenge. After testing dozens of models, I picked 6 that each excel at a specific image type: | Model | Best for | Why | |---|---|---| | Flare | Photos | Natural textures, minimal artifacts | | Prism | AI art | Preserves synthetic textures from SD/DALL-E | | Lumen | Portraits | Skin tones, fine hair detail | | Mirage | Illustrations | Clean edges, flat colors | | Motion | Video | Frame interpolation, temporal consistency | | Motion X | Video enhanced | Higher quality, slower | UpRes runs on a single API endpoint. You submit a job with an image URL, pick a model and scale factor, and poll for the result: curl -X POST https://api.upres.ai/v1/jobs \ -H "Authorization: Bearer YOUR API KEY" \ -d '{"image url":"https://example.com/photo.jpg","model":"flare","scale":4}' The backend queues the job, runs it on GPU, and returns the output URL when done. Most jobs finish in 15-25 seconds. Model selection matters more than scale factor. A 2x upscale with the right model beats a 4x with the wrong one. Free tier converts. People who try the free tier and see good results upgrade. Watermarks kill conversion. Video is 10x harder than images. Temporal consistency across frames is the hardest engineering problem. Motion X took 3 months to get right. MCP is a sleeper feature. Being able to say "Claude, upscale this image" and have it just work is magical for developers. npm install -g upres-cli I'd love to hear what you're upscaling and which models work best for your use case.