Create an upscale job

Submit a file for upscaling. Accepts either:

  • JSON body with image_url (publicly accessible URL)
  • multipart/form-data with an image file field

One credit is deducted from your monthly quota.

post/jobs

Request body

image_urlstring uri

Publicly accessible URL of the image to upscale.

mime_typestring

Content type of the linked file. Only read on the image_url path.

model'flare' | 'prism' | 'lumen' | 'mirage' | 'motion' | 'motion-x'

What to upscale with.

  • flare: everyday photos, fastest and cheapest, up to 4x.
  • prism: text, logos and product shots. Adds no detail that was not in the original. Up to 4x.
  • lumen: maximum real detail recovery, for print. Up to 8x.
  • mirage: invents plausible new detail. Most dramatic, least faithful. Up to 8x.
  • motion: standard video upscale, up to 4x.
  • motion-x: cinema-grade video, slower and dearer, up to 4x.
scaleinteger

Upscaling factor. Rejected when it exceeds the chosen model's ceiling.

Example request

{
  "image_url": "https://example.com/photo.jpg",
  "model": "flare"
}

Response

Job created successfully.

idstring uuid required
status'pending' | 'uploading' | 'processing' | 'downloading' | 'completed' | 'failed' | 'canceled' required
model'flare' | 'prism' | 'lumen' | 'mirage' | 'motion' | 'motion-x' required

What to upscale with.

  • flare: everyday photos, fastest and cheapest, up to 4x.
  • prism: text, logos and product shots. Adds no detail that was not in the original. Up to 4x.
  • lumen: maximum real detail recovery, for print. Up to 8x.
  • mirage: invents plausible new detail. Most dramatic, least faithful. Up to 8x.
  • motion: standard video upscale, up to 4x.
  • motion-x: cinema-grade video, slower and dearer, up to 4x.
scaleinteger required
original_filenamestring nullable required
result_urlstring uri nullable required

Presigned URL to the upscaled file. Valid for 1 hour.

errorstring nullable required

Why the job failed. Null unless status is 'failed'.

frames_totalinteger nullable required

Video only. Frames the job has to process.

frames_doneinteger nullable required

Video only. Frames processed so far.

created_atstring date-time required
updated_atstring date-time required

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "model": "flare",
  "scale": 4,
  "original_filename": "photo.jpg",
  "result_url": "https://cdn.upres.ai/results/abc123.png"
}

Changes

Changed in 1 of the 2 revisions of this API.51322

  • a1a5f505549c51322See the full diff
    • added Model to the model request property allOf list (media type: application/json)

      request-property-all-of-added

    • added Model to the model request property allOf list (media type: multipart/form-data)

      request-property-all-of-added

    • removed the enum value wavespeed-ai/image-upscaler of the request property model (media type: application/json)

      request-property-enum-value-removed

    • removed the enum value wavespeed-ai/real-esrgan of the request property model (media type: application/json)

      request-property-enum-value-removed

    • the model request property type/format changed from string/ to / (media type: application/json)

      request-property-type-changed

    • added the new canceled enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new completed enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new downloading enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new failed enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new flare enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new lumen enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new mirage enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new motion enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new motion-x enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new pending enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new prism enum value to the model response property for the response status 201

      response-property-enum-value-added

    • added the new processing enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new uploading enum value to the status response property for the response status 201

      response-property-enum-value-added

    • added the new optional request property mime_type (media type: application/json)

      new-optional-request-property

    • the model request property default value changed from wavespeed-ai/real-esrgan to flare (media type: application/json)

      request-property-default-value-changed

    • the model request property default value changed from wavespeed-ai/real-esrgan to flare (media type: multipart/form-data)

      request-property-default-value-changed

    • the scale request property default value changed from 4 to 2 (media type: application/json)

      request-property-default-value-changed

    • the scale request property default value changed from 4 to 2 (media type: multipart/form-data)

      request-property-default-value-changed

    • the model request property type/format was generalized from string/ to / (media type: multipart/form-data)

      request-property-type-generalized

    • added ApiError to the response body allOf list for the response status 402

      response-body-all-of-added

    • removed Error from the response body allOf list for the response status 402

      response-body-all-of-removed

    • added the optional property issues to the response with the 400 status

      response-optional-property-added

    • added the optional property issues to the response with the 401 status

      response-optional-property-added

    • added the optional property issues to the response with the 429 status

      response-optional-property-added

    • the response property created_at became required for the status 201

      response-property-became-required

    • the response property id became required for the status 201

      response-property-became-required

    • the response property model became required for the status 201

      response-property-became-required

    • the response property scale became required for the status 201

      response-property-became-required

    • the response property status became required for the status 201

      response-property-became-required

    • added the required property error to the response with the 201 status

      response-required-property-added

    • added the required property frames_done to the response with the 201 status

      response-required-property-added

    • added the required property frames_total to the response with the 201 status

      response-required-property-added

    • added the required property original_filename to the response with the 201 status

      response-required-property-added

    • added the required property result_url to the response with the 201 status

      response-required-property-added

    • added the required property updated_at to the response with the 201 status

      response-required-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog