---
title: "Starlight 2.5"
method: POST
path: "/generate/enhance/topaz/starlight-precise-25"
tags: ["Video Enhance"]
---

# Starlight 2.5

`POST /generate/enhance/topaz/starlight-precise-25`

The latest diffusion-based AI upscaler from Topaz. Sharper results with fewer artifacts than the original Starlight. Max 4K.

## Headers

- `X-Webhook-URL` string, uri

## Request body

- object
  - `target_width` number — Output width in pixels. Defaults to the source video width.
  - `target_height` number — Output height in pixels. Defaults to the source video height.
  - `crop_to_fit` boolean — Crop the video to fill the target dimensions instead of preserving the source aspect ratio.
  - `video_url` string, uri, required — Can be an external URL, base64 data URI, or uploaded asset URL.
  - `frame_interpolation` boolean — Interpolate extra frames to raise the output frame rate.
  - `frame_interpolation_fps` integer — Target output frame rate (frame interpolation only).
  - `frame_interpolation_model` 'apo-8' | 'apf-2' | 'chr-2' | 'chf-3' — Frame interpolation model.
  - `frame_interpolation_slowmo` integer — Slow-motion factor, 1 keeps the original speed (frame interpolation only).
  - `frame_interpolation_fix_duplicate_frames` boolean — Detect and drop duplicate frames before interpolating.
  - `frame_interpolation_duplicate_sensitivity` number — Sensitivity of duplicate-frame detection (only when fix duplicate frames is on).
  - `video_output_preset` 'h264-high' | 'h265-main' | 'h265-main10' | 'prores-422-proxy' | 'prores-422-lt' | 'prores-422-std' | 'prores-422-hq' | 'av1-8-bit' | 'av1-10-bit' | 'vp9-good' | 'vp9-best' — Output encoder profile: codec, container, and bit depth.

## Response `200`

The resulting job data. This will be returned in a pending state until the job is completed. See [`/jobs/{id}`](#tag/default/get/jobs/{id}) for retrieving the results.

- object
  - `job_id` string, uuid, required
  - `status` 'backlogged' | 'queued' | 'scheduled' | 'processing' | 'sampling' | 'intermediate-complete' | 'completed' | 'failed' | 'cancelled', required
  - `created_at` string, date-time, required
  - `completed_at` unknown, required
  - `result` unknown, required
  - `error` object
    - `code` string, required
    - `message` string

## Other responses

- `400` — The request body is invalid.
- `401` — You are not authenticated.
- `402` — You have run out of credits.
- `429` — You have reached the maximum number of concurrent jobs.

---

[API](https://skmtc.net/krea/apis/krea-api.md) · [All operations](https://skmtc.net/krea/apis/krea-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/krea/krea-api/versions/8797ce75a9d3/schema)
