---
title: "Video Upscaler Topaz - Upscale video"
method: POST
path: "/v1/ai/video-upscaler-topaz"
tags: ["video-upscaler-topaz"]
---

# Video Upscaler Topaz - Upscale video

`POST /v1/ai/video-upscaler-topaz`

## Request

- Base URL: `https://api.magnific.com`
- URL: `https://api.magnific.com/v1/ai/video-upscaler-topaz`
- Auth: API key in header `x-magnific-api-key`

Upscales a video with Topaz Starlight generative enhancement.
Supports output resolutions of 720p, 1k, 2k, or 4k, an optional frame-rate change with AI frame interpolation, and noise control.

## Request body

- RequestContent6
  - `video` string, required: Source video to upscale. A publicly accessible HTTPS URL pointing to the video, or an uploaded file reference (`upl_...`).
  - `enhancement_model` 'starlight_precise_2_5' | 'starlight_fast_2', required: Topaz Starlight enhancement model: - `starlight_precise_2_5`: highest-quality generative upscaler (default) - `starlight_fast_2`: faster generative upscaler with a slight trade-off in quality
  - `resolution` '720p' | '1k' | '2k' | '4k': Output resolution for the video upscaling. The aspect ratio of the source video is preserved: - `720p`: HD output - `1k`: Standard definition output - `2k`: High definition output (default) - `4k`: Ultra high definition output
  - `target_fps` integer: Target output frame rate. When it differs from the source frame rate, AI frame interpolation is applied (see `frame_interpolation`). Omit to keep the source frame rate. Note: frame interpolation requires a target of at least 15 fps.
  - `frame_interpolation` 'apollo' | 'chronos': Frame interpolation model used when `target_fps` differs from the source frame rate: - `apollo`: recommended for most videos (default) - `chronos`: optimized for slow-motion and large frame-rate changes
  - `noise` number: Noise reduction / addition intensity applied by the enhancement model. Valid values range from 0 to 1. Default is 0.
  - `webhook_url` string, uri: Optional callback URL that will receive asynchronous notifications when the upscaling task completes. The webhook will be called with the task status and the upscaled video URL.

## Response `200`

OK - Task created.

- GetStyleTransferTaskStatus200Response
  - `data` TaskDetail, required
    - `task_id` string, uuid, required: Task identifier
    - `status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: Task status
    - `generated` string[], required

## Other responses

- `400`: Bad Request - The server could not understand the request due to invalid syntax.
- `401`: Unauthorized - The client must authenticate itself to get the requested response.
- `500`: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
- `503`: Service Unavailable

---

[API](https://skmtc.dev/magnific/apis/magnific-api.md) · [All operations](https://skmtc.dev/magnific/apis/magnific-api/llms.txt) · [OpenAPI document](https://skmtc.dev/magnific/apis/magnific-api/revisions/60711fb082c7?raw)
