Skip to main content
POST
Upscale a video with FLUX 3.
1.5x-3x video super-resolution. Creative mode enhances detail; precise mode stays faithful to the source.

Authorizations

x-key
string
header
required

Body

application/json
input_video
string
required

The clip to upscale: base64-encoded mp4 (max 50MB) or an http(s) URL. The upscale covers the first 20 seconds; a clip slightly over that is upscaled up to the 20 second mark, and one well over is rejected. At most 2560x1440 (3.7 megapixels) per frame: this endpoint upscales toward 4K, so downscale a larger source before submitting it.

prompt
string
default:""

Optional description of the clip's content, steering the enhanced detail. Leave empty for a neutral upscale.

creativity
enum<integer>
default:1

Upscale behavior: 0 preserves the source precisely; 1 allows creative detail enhancement.

Available options:
0,
1
upscale_factor
number
default:2

Output scaling relative to the source resolution, between 1.5 and 3. The output preserves the source aspect ratio and is capped at a 13.75 MP frame: very large sources are upscaled by less than the requested factor.

Required range: 1.5 <= x <= 3
safety_tolerance
integer
default:2

Tolerance level for harm moderation, between 0 and 4 with 0 the strictest. It bounds every harm class on the prompt, which is screened before any generation, and on the delivered frames, which are withheld when their sexual-content level exceeds what the tolerance allows. Sexual is capped at level 3 and hate at level 2 regardless of the requested tolerance.

Required range: 0 <= x <= 4
webhook_url
string<uri> | null

URL to receive the result callback.

Required string length: 1 - 2083
webhook_secret
string<password> | null

Secret echoed in the webhook signature header.

Response

Successful Response

id
string
required
polling_url
string
required
cost
number | null

Cost in credits for this request

input_mp
number | null

Input megapixels (2 decimal places)

output_mp
number | null

Output megapixels (2 decimal places)