> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goenhance.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Image Upscaler Pro

> Enhance a photo with one of four modes. `upscale` makes the image 4× wider and 4× taller; `denoise`, `sharpen` and `face` keep the original size. The result is always a PNG.

| `enhance_type` | What it does | Output | tokens / image | USD |
|---|---|---|---|---|
| `upscale` (default) | Enlarges the image and generates fine detail | 4× width and height | 4 | $0.08 |
| `face` | Restores blurry or low-quality faces | Same size | 3 | $0.06 |
| `denoise` | Removes noise and grain, keeps texture | Same size | 2 | $0.04 |
| `sharpen` | Recovers clarity in soft or slightly blurry photos | Same size | 2 | $0.04 |

**Pricing:** a flat price per image for each `enhance_type`, regardless of image size (USD at $0.02/token).

**Limits** — requests outside these are rejected before any tokens are deducted:

| | limit |
|---|---|
| `image_url` | `https://` only, publicly reachable, up to 32 MB |
| Resolution | `upscale`: up to 1 megapixel (for example 1000×1000, output up to 4000×4000); other modes: up to 4 megapixels |
| Format | Single-frame JPEG, PNG, WebP, TIFF or BMP; animated images are not supported |

**Notes:**
- `face` is meant for photos with a clearly visible face.
- Processing usually takes 10–20 seconds per image. Submit several images in parallel rather than one after another.

Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the result.



## OpenAPI

````yaml api-reference/image-api/openapi-image-upscaler-pro.json POST /api/v1/images/generations
openapi: 3.1.0
info:
  title: GoEnhance API - Image Upscaler Pro
  description: Image Upscaler Pro
  version: 1.0.0
servers:
  - url: https://api.goenhance.ai
security: []
paths:
  /api/v1/images/generations:
    post:
      tags:
        - ImageAPI
      summary: Image Upscaler Pro
      description: >-
        Enhance a photo with one of four modes. `upscale` makes the image 4×
        wider and 4× taller; `denoise`, `sharpen` and `face` keep the original
        size. The result is always a PNG.


        | `enhance_type` | What it does | Output | tokens / image | USD |

        |---|---|---|---|---|

        | `upscale` (default) | Enlarges the image and generates fine detail |
        4× width and height | 4 | $0.08 |

        | `face` | Restores blurry or low-quality faces | Same size | 3 | $0.06
        |

        | `denoise` | Removes noise and grain, keeps texture | Same size | 2 |
        $0.04 |

        | `sharpen` | Recovers clarity in soft or slightly blurry photos | Same
        size | 2 | $0.04 |


        **Pricing:** a flat price per image for each `enhance_type`, regardless
        of image size (USD at $0.02/token).


        **Limits** — requests outside these are rejected before any tokens are
        deducted:


        | | limit |

        |---|---|

        | `image_url` | `https://` only, publicly reachable, up to 32 MB |

        | Resolution | `upscale`: up to 1 megapixel (for example 1000×1000,
        output up to 4000×4000); other modes: up to 4 megapixels |

        | Format | Single-frame JPEG, PNG, WebP, TIFF or BMP; animated images
        are not supported |


        **Notes:**

        - `face` is meant for photos with a clearly visible face.

        - Processing usually takes 10–20 seconds per image. Submit several
        images in parallel rather than one after another.


        Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use
        `custom_callback_url`) to get the result.
      parameters:
        - name: Authorization
          in: header
          description: ''
          required: false
          example: '{{Authorization}}'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - image-upscaler-pro
                  description: Model name. Must be `image-upscaler-pro`.
                image_url:
                  type: string
                  format: uri
                  minLength: 1
                  description: >-
                    URL of the image to enhance. Must be an `https://` link that
                    is publicly reachable, at most 32 MB; at most 1 megapixel
                    for `upscale` and 4 megapixels for the other modes.
                enhance_type:
                  type: string
                  enum:
                    - upscale
                    - denoise
                    - sharpen
                    - face
                  default: upscale
                  description: >-
                    Enhancement mode. `upscale` (default) enlarges 4×;
                    `denoise`, `sharpen` and `face` keep the original size.
                custom_callback_url:
                  type: string
                  format: uri
                  description: >-
                    Optional. A publicly accessible HTTPS URL. When the task
                    status changes (processing / success / failed), GoEnhance
                    sends a POST request to this URL. The request body is
                    identical to the response of GET /api/v1/jobs/detail. If
                    your server does not respond with HTTP 200, the notification
                    is retried up to 3 times, with a 3-second timeout per
                    attempt.
                  example: https://your-server.com/goenhance/callback
              required:
                - model
                - image_url
            example:
              model: image-upscaler-pro
              image_url: https://your-cdn.com/photo.jpg
              enhance_type: upscale
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      img_uuid:
                        type: string
                      cost:
                        type: number
                        description: >-
                          Tokens deducted for this request. This is the amount
                          actually charged, so it already reflects any discount
                          active on your account and can be lower than the
                          listed price. Tokens are deducted when the task is
                          accepted, and refunded automatically if the generation
                          ends in failure.
                        example: 0.5
                    required:
                      - img_uuid
                      - cost
                required:
                  - code
                  - msg
                  - data
              examples:
                '1':
                  summary: Success
                  value:
                    code: 0
                    msg: Success
                    data:
                      img_uuid: c12b656c-747a-44fd-9c80-add79b0c52d5
                      cost: 4
                '2':
                  summary: Image too large for upscale
                  value:
                    code: -1
                    msg: >-
                      Image resolution 2000x1500 is too large. Max 1 megapixels
                      for this operation
                '3':
                  summary: Insufficient tokens
                  value:
                    code: 100
                    msg: tokens is not enough
                invalid_type:
                  summary: Unknown enhance_type
                  value:
                    code: -1
                    msg: >-
                      Invalid enhance_type. Supported: upscale, face, denoise,
                      sharpen
                quota:
                  summary: API key quota exceeded
                  value:
                    code: 101
                    msg: 'API key quota exceeded: 4990 of 5000 tokens used (monthly)'
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                required:
                  - code
                  - msg
          headers: {}
      deprecated: false
      security: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.