image.upscale increases an image’s resolution on a hosted one-step diffusion model. Ask for a factor or a target height and the other side follows the source aspect ratio. The result is a png returned as a signed URL, the same async job shape as everything else on Rendobar.
This model reconstructs detail rather than only sharpening what is already there. A compressed or soft source comes back rebuilt, not just enlarged. That is a different job from a faithful resize, and it is worth knowing which one you asked for.
This is one product in Rendobar’s Generation API.
Upscale an image
Sizing
sizing is a union, because “twice as big” and “2160 pixels tall” are different questions and only one can be answered per request.
factor: 2. See Size limits for what happens when it does not.
Parameters
Every parameter is optional. Send none of them and you get the defaults above,
which are the settings this job was tuned on.
Choosing a factor
2x is where this model does its best work. It reconstructs about one doubling, so a larger factor adds pixels faster than it adds detail. Ask for 4x and the job runs two 2x steps automatically, which looks close to a native 2x and costs two renders. A single large step is available withpasses: 1, and looks worse.
Choosing inputScale
Leave it at1 for photographs. Lowering it hands the model less to work from and more to invent, which suits a clean uncompressed source and hurts a compressed one, where the reconstruction follows the compression artifacts instead of the subject.
Transparency
A transparent png stays transparent. Alpha is upscaled alongside the colour channels rather than flattened, so a logo keeps its edge.The output
A completed job carries a single png file inoutput.file. output.data is null, because upscaling writes a file rather than computing an answer.
png rather than webp on purpose. Re-compressing lossily is the one thing that would undo the point of an upscale.
Size limits
There is no product cap on how large an output you can ask for. The bound is what the GPU can physically hold. Ask for more than that and the job still runs. The output is capped to the largest size that fits, keeping your source’s aspect ratio, and the job log says what happened:output.file.meta rather than assuming they match what you asked for. Everything under the ceiling is untouched and lands exactly on the requested size.
The limit is on output pixels, not on the factor, so how far you can go depends on the source. A 1365x2048 photo is already 2.8 megapixels, and 2x of it is 11.2, which is why the example above caps at under 2x. A small source can go to 4x and beyond.
The ceiling also depends on the model. seedvr2-7b holds about twice the weights of seedvr2-3b and keeps less room for the image, so it caps roughly 40% sooner. If you are working near the limit, seedvr2-3b is the one that goes further, and it is also the default.