Skip to content
English

Recraft Crisp Upscale API

POST Base URL: https://api.hiapi.ai /v1/tasks

Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).

Model summary

Model name recraft/crisp-upscale
Type Image editing (upscaling)
Endpoint POST /v1/tasks
Pricing See HiAPI Pricing

Recraft Crisp Upscale: one image URL in, a sharper image at 2× the width and height out with the content unchanged — for product photos, text banners, screenshots and design assets.

Production guidance

Production guidance
  • For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
  • GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
  • Result URLs expire — copy the output to your own storage once the task succeeds.
  • Validate the input format and size (up to 10MB) before submitting; requests beyond the limits fail.

Best suited for

Product photos

Double low-resolution product shots for listings and hero images.

image_url
Banners & screenshots with text

Letter shapes stay the same while edges sharpen — no new text is invented.

image_url
Assets & textures

Materials, textures and design assets keep continuous detail at 2×.

image_url

Request parameters

model string required

Fixed value recraft/crisp-upscale.

example recraft/crisp-upscale
input object required

Business parameters. recraft/crisp-upscale takes a single input field.

image_url string required

Publicly accessible http(s) URL of the image to upscale. JPEG/PNG/WEBP; up to 10MB.

callback object optional

Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.

url string required

Required when callback is set; HTTPS URL that receives terminal task notifications.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

Product photo at 2×

A 640×640 ceramic dripper photo came back at 1280×1280 with cleaner glaze ribs and fabric texture.

Request body
{
  "model": "recraft/crisp-upscale",
  "input": {
    "image_url": "https://dev-static.hiapi.ai/model-onboarding/recraft-crisp-upscale/2026/10/16/1792139966228-25c647f84f4600ac-c1-ceramic-640.jpg"
  }
}

Getting the result

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the upscaled JPEG image from output[].url.
  4. When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.

FAQ

How much does it upscale?

Width and height are both doubled — for example 640×640 becomes 1280×1280.

What is the output format?

One JPEG image.

What are the input requirements?

JPEG/PNG/WEBP up to 10MB, as a publicly accessible http(s) URL.

Do I need a prompt?

No. The model takes a single image URL and no other parameters.

Next steps