---
title: "Video Resolution Upscale"
method: POST
path: "/upscale"
tags: ["Video enhancement"]
---

# Video Resolution Upscale

`POST /upscale`

## Request

- Base URL: `https://video-api.picsart.io/v1`
- URL: `https://video-api.picsart.io/v1/upscale`
- Auth: API key in header `X-Picsart-API-Key`

Upscale your video's resolution using Generative AI technology.
Pick a model to match your footage — the Topaz families trade off speed against fidelity, and the default may change over time.

## Request body

- object
  - `video_url` string, uri: Source video URL.
  - `upscale_factor` 2 | 3 | 4: Upscale the video with a given upscale factor. Options are as follows * 2 * 3 * 4 The `flux-video-upscale` model supports factors 2 and 3 only; requests with 4 are rejected.
  - `model` 'urn:air:topaz:model:topaz:proteus@1' | 'urn:air:topaz:model:topaz:artemis-hq@1' | 'urn:air:topaz:model:topaz:artemis-mq@1' | 'urn:air:topaz:model:topaz:artemis-lq@1' | 'urn:air:topaz:model:topaz:nyx@1' | 'urn:air:topaz:model:topaz:nyx-fast@1' | 'urn:air:topaz:model:topaz:nyx-xl@1' | 'urn:air:topaz:model:topaz:nyx-hf@1' | 'urn:air:topaz:model:topaz:gaia-hq@1' | 'urn:air:topaz:model:topaz:gaia-cg@1' | 'urn:air:topaz:model:topaz:gaia-2@1' | 'urn:air:topaz:model:topaz:starlight-precise-1@1' | 'urn:air:topaz:model:topaz:starlight-precise-2@1' | 'urn:air:topaz:model:topaz:starlight-precise-2.5@1' | 'urn:air:topaz:model:topaz:starlight-hq@1' | 'urn:air:topaz:model:topaz:starlight-mini@1' | 'urn:air:topaz:model:topaz:starlight-sharp@1' | 'urn:air:topaz:model:topaz:starlight-fast-1@1' | 'urn:air:topaz:model:topaz:starlight-fast-2@1' | 'urn:air:bytedance:model:bytedance:bytedance-upscaler@1' | 'urn:air:fluxai:model:fluxai:flux-video-upscale@1', nullable: Optionally choose a specific AI model to use for this request. If not specified, a default model will be applied. Please note that the default model may change over time as Picsart continues to improve performance and accuracy. Any change to the default will be made only after thorough testing and validation to ensure it delivers better results. If you require consistent behavior or wish to evaluate different models on your own, we recommend explicitly setting this parameter.
  - `export` object
    - `format` 'MOV' | 'MP4' | 'WEBM' | 'GIF': Optionally select one of the output video formats (MP4 is chosen if left blank). Container options are as follows * MOV * MP4 * WEBM * GIF
    - `frame_rate` integer: The output video frame rate.
    - `bitrate` integer: The output video bitrate in kb/s. Leave empty to set automatically and optimize accordingly.

## Response `202`

Request successfully accepted for an asynchronous transformation.

- object
  - `transaction_id` string, nullable
  - `status` 'success' | 'error' | 'processing' | 'queued'

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `405`: Method Not Allowed
- `413`: Request Entity Too Large
- `415`: Unsupported Media Type
- `429`: Too Many Requests
- `431`: Request Header Fields Too Large
- `500`: Internal Server Error
- `503`: Service Unavailable
- `529`: Overloaded. The model provider is overloaded and could not complete this request. Please retry shortly, or switch to a different model.

---

[API](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis.md) - [All operations](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis/revisions/e3f1d0bea43b?raw)
