Upscaling an image adds pixels to a keeper; it does not invent a scene
upscale_image raises resolution on a still you are keeping. A new generate at 4K is a different job, and upscaling a miss wastes credits.
Same image, more resolution. That is the job. Upscale an image is one named agent capability. upscale_image takes a model and an image_url and returns a higher-resolution version of that still. It is not a new composition, not a restyle, and not a way to "see if 4K looks better" on a file you already rejected. Upscaling a miss wastes an upscale bill on pixels you will not ship. Generating a brand-new 4K scene because the first still was soft wastes a generate on a problem the upscaler was built to solve.
Upscaling invents texture under a contract to keep the picture. A generate invents the picture.
What the upscale job actually does
Give the agent the image. It picks an upscaling model, or uses the one you name. You get back a larger, sharper version of the same still. Cost is priced per upscaling model, shown before you confirm.
The finishing door is upscale image resolution. This page is the agent verb. Both of them want a keeper. Softness on a still you like is the reason this row exists. Wrong hands, wrong label, wrong product — those are edit or generate problems. Upscale will faithfully enlarge a six-fingered hand.
Required fields are the model and the image URL. There is no prompt field for "make it cinematic." If you needed a prompt, you wanted edit a photo with AI or generate an image from text.
What this job is not
A video upscale. Upscale a video is upscale_video. Frame-to-frame agreement is a different model family. Running image upscale on extracted frames and restitching is a science project that sparkles. Use the video job on a video.
An edit. Restyle, object change, background swap — generate_image_from_image. Upscale after the edit, not instead of it. "Sharpen it and also change the jacket" is two jobs. The upscaler will not hear the jacket.
A generate at max resolution because the first pass looked small. Generating huge to avoid an upscale is how models duplicate subjects and melt type. Generate at a size the model can hold. Pick the still. Then upscale. Duplicate subjects when you generate too large is the failure mode this job exists to route around.
Print recovery of a crop you have not locked. If you are still going to recrop, wait. Upscaling the uncropped still and then throwing away half of it is paying for pixels you delete.
Upscale last, on the file you would print
The cheap-looking habit is upscaling every variation "so we can judge properly." You cannot judge identity on an upscale of a miss any better than on the miss. You can only spend more. Judge on the native still. Upscale the one you would actually send.
Order of operations:
- Generate or edit until the still is the still.
- Crop if the delivery crop is known.
upscale_imageonce.
Do not insert an upscale between edit rounds. Each edit should see the logical picture, not a twice-enlarged intermediate that the next edit will reinterpret.
This is one named job. Using it as a sampler, a restyle, or a video pipeline is how upscale credits disappear while the scene stays wrong.
FAQ
Will upscale fix a wrong object or a garbled label?
No. It adds resolution to what is already there. Fix the object with edit a photo with AI, or regenerate. Then upscale the corrected keeper.
Should I generate at 4K instead of upscaling?
Generate at a size the model holds identity. Then upscale if delivery needs more pixels. A native 4K generate that duplicates a product is not cheaper than a clean still plus upscale_image; it is a different, usually worse, picture.
Can I upscale a video with this capability?
No. That is upscale a video. Pointing upscale_image at a frame grab is an image job on one frame, not a video upscale.
Is upscale billed like an edit model?
It is billed per upscaling model, shown before you confirm. Treat it as a finishing generate, not as a free zoom. The waste is running it on files you will not keep, not the fact that it costs credits at all.