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

# Upscale or restore an image (async)

> Image upscaling (2x / 4x) and face restoration via Real-ESRGAN, Clarity, Topaz, Recraft and GFPGAN.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/upscale
openapi: 3.1.0
info:
  title: Rimp API
  version: 1.0.0
  description: >-
    AI generation API across 8 modalities — image, video, voice, music, avatar,
    chat, 3D and upscale. Multi-model side-by-side comparisons, unified billing,
    one API key.
servers:
  - url: https://api.rimp.io
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/upscale:
    post:
      summary: Upscale or restore an image (async)
      description: >-
        Image upscaling (2x / 4x) and face restoration via Real-ESRGAN, Clarity,
        Topaz, Recraft and GFPGAN.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - image_url
              properties:
                model:
                  type: string
                image_url:
                  type: string
                  format: uri
                scale_factor:
                  type: string
                  enum:
                    - '2'
                    - '4'
                face_enhance:
                  type: boolean
      responses:
        '202':
          description: Upscale queued. Poll /v1/generations/{id} or subscribe via webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Generation'
components:
  schemas:
    Generation:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
          enum:
            - generation
        status:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - canceled
        modality:
          type: string
          enum:
            - image
            - video
            - voice
            - music
            - avatar
            - chat
            - 3d
            - upscale
        prompt:
          type: string
        params:
          type: object
          additionalProperties: true
        reserved_credits:
          type: integer
        charged_credits:
          type: integer
        refunded_credits:
          type: integer
        cache_hit:
          type: boolean
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/GenerationOutput'
    GenerationOutput:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - image
            - video
            - audio
            - thumbnail
        mime:
          type: string
        width:
          type: integer
          nullable: true
        height:
          type: integer
          nullable: true
        duration_s:
          type: string
          nullable: true
        url:
          type: string
          format: uri
        moderation_status:
          type: string
          enum:
            - pending
            - approved
            - flagged
            - blocked
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key

````