apps/falai/topaz-image-upscaler

topaz-image-upscaler

Enhance and increase the size of images without losing quality, making your photos look sharper and more detailed.

run with your agent
# install belt
$curl -fsSL https://cli.inference.sh | sh
# view schema & details
$belt app get falai/topaz-image-upscaler
# run
$belt app run falai/topaz-image-upscaler

Every creative professional hits the resolution wall eventually. You've got footage from three years ago shot at 1080p that now needs to fill a 4K timeline. Or an AI-generated image that looks stunning at 1024x1024 but falls apart the moment you try to print it at poster size. Or archival video from a client who swears it's the only copy and it's 480p with compression artifacts that make you wince. The problem is always the same: you need more pixels than you have, and you need them to be real information, not smeared guesswork.

Topaz Labs has been the answer to this problem for years. Their desktop software - now called Topaz Photo, Topaz Video, and Topaz Gigapixel (rebranded from Topaz Photo AI, Topaz Video AI, and Gigapixel AI in late 2025 alongside a shift to subscription-only licensing) - became the de facto standard in post-production houses, photography studios, and YouTube channels that care about output quality. The reason is simple: Topaz models produce results that actually hold up under scrutiny. Not the waxy, over-smoothed output you get from basic bicubic scaling or even most competing AI upscalers. Topaz preserves texture, recovers genuine detail, and handles noise with a sophistication that comes from training on enormous datasets of real-world imagery.

The catch has always been that Topaz is desktop software. You install it, you point it at files, you wait. If you need to process one hero image for a client, that's fine. If you need to upscale 500 product photos for an e-commerce catalog, or run every frame of a documentary archive through enhancement, desktop software becomes a bottleneck. You're limited by your local GPU, your available hours, and your willingness to babysit a progress bar.

That's the gap that running Topaz through inference.sh fills. Both the image upscaler and video upscaler are available as API-accessible apps, which means you can drop them into automated pipelines, process batches at scale, and never think about GPU drivers or software updates. The models are the same ones that built Topaz's reputation. The interface is just different.

what makes topaz different from other upscalers

I want to be specific here because "AI upscaling" has become a crowded category and a lot of the options blur together. The landscape includes everything from open-source Real-ESRGAN models to built-in upscaling in Photoshop to dedicated cloud services. Most of them work adequately on easy inputs - a clean, well-lit photograph scaled up 2x will look acceptable from almost any modern upscaler.

The separation happens on hard inputs. Topaz consistently outperforms alternatives when dealing with heavy compression artifacts, fine repeating textures (fabric weaves, brick patterns, foliage), mixed content that includes both text and photographic elements, and faces at various distances from the camera. Where cheaper upscalers tend to hallucinate texture or produce a painterly smoothness that screams "this was processed," Topaz maintains the character of the original material. A grainy film scan still looks like film after upscaling, not like it was run through a plastic wrap filter.

The image upscaler offers multiple model options tuned for different content types, plus face enhancement with adjustable strength and creativity parameters. That last feature matters more than it might sound. Faces are the first thing humans scrutinize in any image, and getting face restoration wrong - even slightly - creates an uncanny valley effect that ruins the entire upscale. Topaz lets you control how aggressively the face model intervenes, which means you can dial it back for images where the faces are already decent and push it harder for genuinely degraded portraits.

Subject detection is another capability worth noting. The upscaler can identify the primary subject and apply enhancement selectively, which avoids the common trap of over-sharpening backgrounds or introducing artifacts in out-of-focus areas that should stay soft.

image upscaling in practice

The image upscaler (available as falai/topaz-image-upscaler) handles scaling factors from the subtle to the aggressive. A 2x upscale on a reasonably clean source image is almost invisible in the sense that the result simply looks like a higher-resolution capture of the same scene. Push to 4x on a degraded source and you start to see the model making judgment calls about detail recovery, but the results remain plausible in a way that simpler upscalers can't match.

I find the sweet spot for AI-generated images is typically 2x to 4x. Most current generation models output at 1024x1024 or similar resolutions. That's perfectly adequate for screen display but insufficient for print production, large format displays, or even just cropping into a section of the image without losing quality. Running a Midjourney or FLUX output through Topaz at 2x gives you a 2048x2048 image that holds up at print resolution. At 4x you're looking at 4096x4096, which is genuinely large enough for gallery prints.

The face enhancement feature deserves its own mention for portrait work. When upscaling AI-generated portraits or old photographs, faces often suffer worst from resolution limitations. The enhancement model can reconstruct facial detail - pores, individual eyelashes, catch lights in eyes - with a realism that I haven't seen matched by other upscaling tools. The creativity slider lets you control how much the model invents versus preserves. Low creativity keeps things conservative and safe. Higher creativity produces more detailed faces but with a small risk of subtle alterations to the likeness.

Output format flexibility is a practical detail that matters for pipeline integration. You can get results as JPEG, PNG, or WebP, which covers the common needs for web delivery, print production, and archival storage respectively.

Pricing scales with the output resolution rather than a flat per-image fee, which makes economic sense. Costs increase proportionally as you push into higher megapixel territory.

video upscaling and why it's harder

Video upscaling is a fundamentally harder problem than image upscaling, and it's worth understanding why. A single image can be processed in isolation. Every pixel has one correct answer. Video adds temporal coherence to the equation: each frame needs to be consistent not just with itself but with the frames before and after it. An upscaler that processes each frame independently will produce flickering, where fine details shimmer and shift from frame to frame in a way that looks terrible in motion even if every individual frame looks fine in a screenshot.

Topaz Video AI has always handled temporal coherence well, and the API version (falai/topaz-video-upscaler) carries that forward. The model maintains consistent detail across frames, which means textures don't crawl, edges don't wobble, and grain structure stays stable through motion.

The video upscaler keeps its parameter set lean compared to the image tool. You feed it a video, specify your upscale factor, and optionally choose between H.264 and H.265 codecs for output. H.265 delivers better compression at equivalent quality but has broader compatibility concerns in some legacy playback environments. The default H.265 is the right choice for most workflows unless you know you need H.264 for a specific delivery requirement.

Frame rate interpolation is available through the target FPS setting. This lets you upscale and retime simultaneously - converting 24fps footage to 60fps, for instance, when preparing content for displays or platforms that benefit from higher frame rates. Frame interpolation is always a compromise between smoothness and the "soap opera effect" that makes cinematic footage look like a daytime TV broadcast, so use it deliberately rather than reflexively.

where this fits in real workflows

The value of API-accessible upscaling isn't the upscaling itself - anyone with a decent GPU and Topaz's desktop software can do that manually. The value is integration. Upscaling becomes a step in a pipeline rather than a manual task.

Consider a media archive digitization project. You've got thousands of hours of footage at various resolutions from various decades. The workflow becomes: ingest, catalog, upscale, encode for delivery. With API access, the upscaling step is automated. No operator sitting at a workstation, no queue management, no overnight batch processing that fails at 3am because the GPU overheated.

Or consider an AI art production pipeline. You're generating images with FLUX or another model, selecting the best outputs, and preparing them for print. The generation step produces 1024px images. The upscaling step takes them to print resolution. With both steps available as API calls, the entire workflow can run as a script. Generate, evaluate, upscale, deliver. What took manual intervention at every stage now runs end to end.

E-commerce is another natural fit. Product photography often arrives at inconsistent resolutions from various suppliers and photographers. Rather than rejecting images that don't meet resolution requirements or asking vendors to reshoot, you can normalize everything to a target resolution. The image upscaler handles mixed input quality gracefully - it applies more aggressive enhancement to lower-quality sources and lighter processing to images that are already close to the target.

For video streaming platforms, the economics are straightforward. Upscaling back catalog content from SD or 720p to 1080p or 4K improves the viewer experience without reshooting anything. The per-second pricing model means you can calculate costs precisely before committing to a large batch.

the tradeoffs worth knowing

No upscaling technology adds information that wasn't captured. Topaz is sophisticated enough that its fabrications are usually plausible, but they are still fabrications. An upscaled image at 4x has 16 times as many pixels as the original, and 15 out of 16 of those pixels are educated guesses. Usually excellent guesses. But if you're doing forensic work or scientific imaging where every pixel needs to represent ground truth, upscaling is the wrong tool entirely.

Processing time scales with resolution and complexity. Video upscaling in particular can be time-consuming for long-form content at high scale factors. This isn't a Topaz-specific limitation - it's physics. Moving more data through more computation takes more time. The API model means you're not burning your own GPU cycles, but you're still paying for wall-clock time on the platform.

The pricing model for video upscaling jumps at resolution thresholds, with higher-resolution content costing significantly more per second than lower-resolution content. Plan accordingly for large batches and test on representative clips before committing to full runs.

I'd also note that the image upscaler's face enhancement, while impressive, can occasionally produce results that look slightly too clean - almost retouched - if you push the strength too high. For documentary or photojournalistic work where authenticity matters, keep the settings conservative.

practical starting points

If you're evaluating Topaz upscaling for a specific use case, start with the hardest examples from your actual content. Every upscaler looks good on a clean, well-exposed photograph. The real test is your worst-case input: the most compressed video, the lowest resolution image, the content with the most fine detail. Run those through first. If the results are acceptable on your hardest inputs, everything else will be easy.

For image work, experiment with the face enhancement and subject detection options on a handful of representative images before batch processing. The defaults are sensible but your content may benefit from adjustments. Face enhancement with moderate strength and low creativity is a safe starting point for portraits.

For video, test a 30-second clip from each source type in your library. Check not just the visual quality but the temporal consistency - play the output at full speed and watch for shimmer or flicker on fine textures. Also verify that the codec choice works with your downstream delivery chain before processing hours of content.

The combination of Topaz's industry-leading upscaling models with API accessibility removes the last significant friction point in resolution enhancement workflows. The quality was never in question. The question was always whether you could use it at scale without a human babysitting every job. Now you can.

frequently asked questions

how does topaz upscaling compare to free open-source alternatives like real-esrgan?

Real-ESRGAN and similar open-source upscalers are competent tools, especially for general-purpose 2x upscaling of reasonably clean sources. Where Topaz pulls ahead is on difficult inputs: heavily compressed video, fine repeating textures, mixed content with text and photographs, and face recovery. The gap widens at higher scale factors. At 2x on a clean source, you might not notice much difference. At 4x on a compressed JPEG, the difference is substantial. Topaz also handles temporal coherence in video better than frame-by-frame approaches using image models, which is critical for professional video work.

what resolution inputs work best, and is there a point where upscaling stops being useful?

The upscalers handle a wide range of input resolutions, but practical limits exist. For images, inputs above 512x512 pixels tend to produce the best results at 2x to 4x scaling. Below that, the model has less information to work with and results become increasingly speculative. For video, 480p and 720p sources upscale well to 1080p or 4K. Trying to take 240p VHS-quality footage to 4K is asking too much of any upscaler - you'll get a cleaner result than naive scaling, but it won't look like native 4K capture. The general rule is that upscaling works best when it's enhancing rather than inventing.

can topaz upscaling fix blurry or out-of-focus images?

To a degree, yes, but with realistic expectations. The upscaler can recover detail from images that are soft due to low resolution or mild compression. Genuine optical blur from missed focus is a harder problem because the information was never captured by the sensor in the first place. Topaz can improve the apparent sharpness of mildly out-of-focus images, making them more usable, but it cannot reconstruct the kind of crisp detail you'd get from a properly focused capture. For severe motion blur or deep defocus, the results will be improved but not transformed. Think of it as recovering what's hidden in the data, not inventing what was never recorded.

api reference

about

enhance and increase the size of images without losing quality, making your photos look sharper and more detailed.

1. calling the api

install the client

the client provides a convenient way to interact with the api.

bash
1pip install inferencesh

setup your api key

set INFERENCE_API_KEY as an environment variable. get your key from settings → api keys.

bash
1export INFERENCE_API_KEY="inf_your_key"

run and get result

submit a request and wait for the final result. best for batch processing or when you don't need progress updates.

python
1from inferencesh import inference23client = inference()456result = client.run({7        "app": "falai/topaz-image-upscaler",8        "input": {}9    })1011print(result["output"])

stream live updates

get real-time progress updates as the task runs. ideal for showing progress bars, partial results, or long-running tasks.

python
1from inferencesh import inference23client = inference()456# stream=True yields updates as they arrive7for update in client.run({8        "app": "falai/topaz-image-upscaler",9        "input": {}10    }, stream=True):11    if update.get("progress"):12        print(f"progress: {update['progress']}%")13    if update.get("output"):14        print(f"output: {update['output']}")

2. authentication

the api uses api keys for authentication. see the authentication docs for detailed setup instructions.

3. files

file inputs are automatically handled by the sdk. you can pass local paths, urls, or base64 data.

automatic upload

the python sdk automatically detects local file paths and uploads them. urls are passed through as-is.

python
1# local file paths are automatically uploaded2result = client.run({3    "app": "falai/topaz-image-upscaler",4    "input": {5        "image": "/path/to/local/image.png",  # detected & uploaded6        "audio": "https://example.com/audio.mp3",  # url passed through7    }8})

manual upload

you can also upload files manually and use the returned url.

python
1# upload and get a hosted URL2file = client.files.upload("/path/to/file.png")3print(file.uri)  # https://cloud.inference.sh/...

4. webhooks

get notified when a task completes by providing a webhook url. when the task reaches a terminal state (completed, failed, or cancelled), a POST request is sent to your url with the task result.

python
1result = client.run({2    "app": "falai/topaz-image-upscaler",3    "input": {},4    "webhook": "https://your-server.com/webhook"5}, wait=False)

webhook payload

your endpoint receives a JSON POST with the task result:

json
1{2  "id": "task_abc123",3  "status": 9,4  "output": { ... },5  "error": "",6  "session_id": null,7  "created_at": "2024-01-15T10:30:00Z",8  "updated_at": "2024-01-15T10:30:05Z"9}
idstringtask id
statusnumberterminal status (9=completed, 10=failed, 11=cancelled)
outputobjecttask output (when completed)
errorstringerror message (when failed)
session_idstringsession id (if using sessions)
created_atstringiso timestamp
updated_atstringiso timestamp

5. schema

input

crop_to_fillboolean

whether to crop the image to fill the output dimensions

default: false
face_enhancementboolean

whether to apply face enhancement to the image

default: true
face_enhancement_creativitynumber

creativity level for face enhancement. 0.0 means no creativity, 1.0 means maximum creativity. ignored if face enhancement is disabled.

default: 0min:0max:1
face_enhancement_strengthnumber

strength of the face enhancement. 0.0 means no enhancement, 1.0 means maximum enhancement. ignored if face enhancement is disabled.

default: 0.8min:0max:1
imagestring(file)*

image

modelstring

model to use for image enhancement

default: "Standard V2"
options:"Low Resolution V2""Standard V2""CGI""High Fidelity V2""Text Refine""Recovery""Redefine""Recovery V2"
output_formatstring

output format of the upscaled image

default: "jpeg"
options:"jpeg""png"
subject_detectionstring

subject detection mode for the image enhancement

default: "All"
options:"All""Foreground""Background"
upscale_factornumber

factor to upscale the image by (e.g. 2.0 doubles width and height)

default: 2min:1max:4

output

imagestring(file)*

image

output_metaobject

structured metadata about inputs/outputs for pricing calculation

ready to run topaz-image-upscaler?

we use cookies

we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.

by clicking "accept", you agree to our use of cookies.
learn more.