---
title: FLUX 3 Upscaler | Runware Docs
url: https://runware.ai/docs/models/bfl-flux-3-upscaler
description: FLUX-powered video upscaling with precise and creative enhancement modes
---
# FLUX 3 Upscaler

![FLUX 3 Upscaler](https://assets.runware.ai/covers/bfl-flux-video-upscale.jpg)

FLUX 3 Upscaler is a dedicated video enhancement model from Black Forest Labs for increasing source footage to 1080p, 2K, or 4K while preserving motion and the original audio track. It supports a source-faithful precise mode for faces, products, and brand-sensitive footage, plus a more creative enhancement mode that restores and invents finer detail for generated clips, scenery, textures, and crowd shots. The endpoint accepts clips up to 20 seconds long and can optionally use a prompt to steer the type of detail it enhances.

- **Status**: live
- **ID**: `bfl:flux@video-upscale`
- Try in Playground
- **Creator**: Black Forest Labs
- **Release Date**: August 20, 2026
- **Zero Data Retention**: Yes
- **Capabilities**: Video to Video, Upscale, Checkpoint

## Pricing

$0.15 from, per second · ~2m 30s per request

**Rates** (per second)

*Precise*

- 1080p: `$0.15`
- 2K: `$0.26`
- 4K: `$0.59`

*Creative*

- 1080p: `$0.21`
- 2K: `$0.37`
- 4K: `$0.83`

**4 example generations**

- [upscale](https://runware.ai/docs/models/bfl-flux-3-upscaler/examples#example-subsea-cable-docuseries-titles): `$2.23` (~1m 53s)
- [upscale](https://runware.ai/docs/models/bfl-flux-3-upscaler/examples#example-bunraku-puppeteer-editorial-portrait): `$2.23` (~1m 51s)
- [upscale](https://runware.ai/docs/models/bfl-flux-3-upscaler/examples#example-marquetry-workshop-archive-restoration): `$2.23` (~3m 13s)
- [upscale](https://runware.ai/docs/models/bfl-flux-3-upscaler/examples#example-mycelium-leather-lab-b-roll): `$2.23` (~3m 8s)

times vary, measured end to end · [How pricing works](https://runware.ai/docs/models-api/pricing)

## Request Parameters

**API Options**

Platform-level options for task execution and delivery.

### [taskType](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `upscale`

Identifier for the type of task being performed.

### [taskUUID](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [outputType](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-outputtype)

- **Type**: `string`
- **Default**: `URL`

Video output type.

**Allowed values**: `URL`

### [outputFormat](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-outputformat)

- **Type**: `string`
- **Default**: `MP4`

Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.

- \`MP4\`: Widely supported video container (H.264), recommended for general use.
- \`WEBM\`: Optimized for web delivery.
- \`MOV\`: QuickTime format, common in professional workflows (Apple ecosystem).

**Allowed values**: `MP4` `WEBM` `MOV`

### [outputQuality](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-outputquality)

- **Type**: `integer`
- **Min**: `20`
- **Max**: `99`
- **Default**: `95`

Compression quality of the output. Higher values preserve quality but increase file size.

### [webhookURL](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-webhookurl)

- **Type**: `string`
- **Format**: `uri`

Webhook URL that receives JSON responses via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.

**Learn more** (1 resource):

- [Webhooks](https://runware.ai/docs/models-api/webhooks) (platform)

### [deliveryMethod](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-deliverymethod)

- **Type**: `string`
- **Default**: `async`

Determines how the API delivers task results.

**Allowed values**:

- `async` Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse. Required for long-running tasks like video generation.

**Learn more** (1 resource):

- [Task Polling](https://runware.ai/docs/models-api/task-polling) (platform)

### [uploadEndpoint](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-uploadendpoint)

- **Type**: `string`
- **Format**: `uri`

Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.

**Common use cases:**

- **Cloud storage**: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- **CDN integration**: Upload to content delivery networks for immediate distribution.

```text
// S3 presigned URL for secure upload
https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600

// Google Cloud Storage presigned URL
https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789

// Custom storage endpoint
https://storage.example.com/uploads/generated-image.jpg
```

The content data will be sent as the request body to the specified URL when generation is complete.

### [ttl](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-ttl)

- **Type**: `integer`
- **Min**: `60`

Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.

### [includeCost](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-includecost)

- **Type**: `boolean`

Include task cost in the response.

### [routing](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing)

- **Path**: `routing.preferences`
- **Type**: `object (6 properties)`

Model router options. Only read when `model` is `auto`, and never sent to the model.

#### [preferences](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-preferences)

- **Path**: `routing.preferences`
- **Type**: `object (3 properties)`

Relative importance of each dimension when models are compared. Weights, not thresholds.

##### [quality](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-preferences-quality)

- **Path**: `routing.preferences.quality`
- **Type**: `integer`
- **Min**: `0`
- **Max**: `5`

Importance of one dimension. `0` leaves it out of the decision.

##### [speed](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-preferences-speed)

- **Path**: `routing.preferences.speed`
- **Type**: `integer`
- **Min**: `0`
- **Max**: `5`

Importance of one dimension. `0` leaves it out of the decision.

##### [cost](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-preferences-cost)

- **Path**: `routing.preferences.cost`
- **Type**: `integer`
- **Min**: `0`
- **Max**: `5`

Importance of one dimension. `0` leaves it out of the decision.

#### [maxPrice](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-maxprice)

- **Path**: `routing.maxPrice`
- **Type**: `float`
- **Min**: `0`

Upper bound on what this request may cost, in USD. A model whose cost cannot be bounded is not chosen.

#### [requirements](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-routing-requirements)

- **Path**: `routing.requirements`
- **Type**: `string`
- **Max**: `3000`

Conditions the result has to meet, in plain words. A model that cannot meet them is not chosen.

**Inputs**

Input resources for the task (images, audio, etc). These must be nested inside the \`inputs\` object.

### [video](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-inputs-video)

- **Path**: `inputs.video`
- **Type**: `string`
- **Required**: true
- **File size**: `up to 50 MB`
- **Duration**: `up to 20s`
- **Area**: `up to 3.69 MP`

Video input (UUID or URL).

**Core Parameters**

Primary parameters that define the task output.

### [model](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-model)

- **Type**: `string`
- **Required**: true
- **Value**: `bfl:flux@video-upscale`

Send `auto` instead of an AIR identifier to have the model router choose the model for this task. The rest of the request is unchanged, every value you send is kept, and only the parameters you leave out are filled in. See [Model Router](https://runware.ai/docs/models-api/model-router).

**Learn more** (3 resources):

- [Text To Image: Model Selection](https://runware.ai/docs/learn/text-to-image#model-selection) (learn)
- [Image Inpainting: Model Specialized Inpainting Models](https://runware.ai/docs/learn/image-inpainting#model-specialized-inpainting-models) (learn)
- [Image Outpainting: Other Critical Parameters](https://runware.ai/docs/learn/image-outpainting#other-critical-parameters) (learn)

### [positivePrompt](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-positiveprompt)

- **Type**: `string`
- **Min**: `2`
- **Max**: `12000`

Text prompt describing elements to include in the generated output. Steers which detail is enhanced.

**Learn more** (1 resource):

- [Prompts](https://runware.ai/docs/learn/prompts) (learn)

### [upscaleFactor](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-upscalefactor)

- **Type**: `float`
- **Min**: `1.5`
- **Max**: `3`
- **Step**: `0.1`
- **Default**: `2`

Factor by which to upscale the generated image. A value of 2 doubles width and height. Output frames are capped at about 14.4 megapixels, so a high-resolution source may be upscaled by less than the requested factor.

**Settings**

Technical parameters to fine-tune the inference process. These must be nested inside the \`settings\` object.

### [creativity](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-settings-creativity)

- **Path**: `settings.creativity`
- **Type**: `integer`
- **Default**: `1`

Level of fine detail the model restores or invents.

**Allowed values**:

- `0` Preserves the source and sharpens it.
- `1` Restores and invents detail more aggressively, without strictly preserving identity.

### [safetyTolerance](https://runware.ai/docs/models/bfl-flux-3-upscaler#request-settings-safetytolerance)

- **Path**: `settings.safetyTolerance`
- **Type**: `integer`
- **Min**: `0`
- **Max**: `4`
- **Default**: `2`

Tolerance level for content moderation. Lower values are stricter; higher values are more permissive.

## Response Parameters

### [taskType](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `upscale`

Identifier for the type of task this response belongs to.

### [taskUUID](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier echoed from the original request, used to match async responses to their tasks.

### [videoUUID](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-videouuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID of the output video.

### [videoURL](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-videourl)

- **Type**: `string`
- **Format**: `uri`

URL of the output video.

### [videoBase64Data](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-videobase64data)

- **Type**: `string`

Base64-encoded video data.

### [videoDataURI](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-videodatauri)

- **Type**: `string`
- **Format**: `uri`

Data URI of the output video.

### [cost](https://runware.ai/docs/models/bfl-flux-3-upscaler#response-cost)

- **Type**: `float`

Task cost in USD. Present when `includeCost` is set to `true` in the request.

## Examples

### upscale (upscale)

[Watch video](https://assets.runware.ai/examples/bfl-flux-video-upscale/edc2f3db-7fee-4944-ad2a-9ace716f8f32.mp4)

```json
{
  "taskType": "upscale",
  "taskUUID": "783b597a-202d-4106-a5df-f2f57d74f5f1",
  "model": "bfl:flux@video-upscale",
  "positivePrompt": "Create a source-faithful premium finishing pass for this cinematic documentary title sequence. Preserve the continuous camera movement, timing, composition, original audio, restrained film grain and exact typography, including the spelling and clean geometry of “FAULT LINE” and “BENEATH THE CONNECTED WORLD.” Enhance the physically grounded fine detail of the wet subsea cable: distinct galvanized armor-wire helices, tarred fiber strands, embedded salt crystals, small barnacle shells, orange corrosion, dark marine grease and sharply resolved droplets sliding across the surface. Clarify machining marks, scratches and moisture on the steel guide wheels; worn pigment and chipped edges in the yellow deck markings; fine rain, mist and specular reflections under the cold blue and sodium-orange work lights. Retain deep abyssal blacks, controlled metallic highlights, natural motion blur and the tense forensic industrial atmosphere. Avoid changing object shapes, inventing equipment, oversharpening edges, creating halos, smoothing textures, altering letterforms or adding new text and logos.",
  "upscaleFactor": 2,
  "settings": {
    "creativity": 1
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/feca2599-91be-4433-ae06-6f3bcb402895.mp4"
  }
}
```

---

### upscale (upscale)

[Watch video](https://assets.runware.ai/examples/bfl-flux-video-upscale/f3f6e7d8-d63e-44af-abef-e4eb7b6b2a42.mp4)

```json
{
  "taskType": "upscale",
  "taskUUID": "e3ef7026-ba6c-47dc-a9f7-490bc577dff2",
  "model": "bfl:flux@video-upscale",
  "positivePrompt": "Create a source-faithful upscale of this backstage editorial portrait. Preserve the puppeteer's exact facial identity, age, expression, skin tone, hand anatomy, pose, framing, camera movement, lighting, depth of field, and the puppet's established design. Enhance authentic fine detail in facial pores, silver eyebrow hairs, weathered hands, matte black cotton fibers, carved cypress wood grain, delicate painted eyelids and lips, individual wig hairs, woven silk brocade, metallic embroidery threads, braided cords, and subtle wear along the puppet's joints. Clarify the dark velvet curtain texture and softly blurred theater rigging without making the background distracting. Maintain the warm tungsten highlights, deep charcoal shadows, muted oxblood accents, natural cinematic contrast, and smooth coherent motion. Avoid beauty retouching, artificial sharpening halos, waxy skin, invented facial features, altered costume patterns, flicker, temporal crawling, or changing the puppet between frames.",
  "upscaleFactor": 2,
  "settings": {
    "creativity": 1
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/639bd4b2-7471-4cf4-a494-272fefa4a8cf.mp4"
  }
}
```

---

### upscale (upscale)

[Watch video](https://assets.runware.ai/examples/bfl-flux-video-upscale/447bc104-e42a-4215-8e77-46afe74325f0.mp4)

```json
{
  "taskType": "upscale",
  "taskUUID": "2016506c-bd0f-4f32-b62c-f3ecc0aac21b",
  "model": "bfl:flux@video-upscale",
  "positivePrompt": "Restore this compressed archival marquetry workshop footage with source-faithful detail suitable for a furniture museum master. Enhance the distinct grain and pores of walnut, maple, and dyed veneer; the crisp boundaries of the floral inlay pieces; fine saw teeth; tiny sawdust curls; scratched cutting-board fibers; tarnished brass fittings; paper pattern edges; knit cuff texture; and natural detail in the craftsperson’s hands. Improve edge definition and material separation while reducing block artifacts, ringing, chroma bleed, mosquito noise, and muddy shadow detail. Preserve the craftsperson’s identity, hand anatomy, tool geometry, original framing, coherent motion, warm tungsten illumination, restrained late-1980s analog color character, and original audio. Do not redesign the inlay, invent markings, alter the workshop, or add modern objects, text, graphics, excessive sharpening halos, plastic skin, or unstable frame-to-frame detail.",
  "upscaleFactor": 2,
  "settings": {
    "creativity": 1
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/d183482d-0803-4dd1-9b74-7124aeab91c8.mp4"
  }
}
```

---

### upscale (upscale)

[Watch video](https://assets.runware.ai/examples/bfl-flux-video-upscale/6e249980-e9cd-49bd-b601-c8a487fb428f.mp4)

```json
{
  "taskType": "upscale",
  "taskUUID": "568cf985-95a3-4b0a-94db-5c18e04ee67e",
  "model": "bfl:flux@video-upscale",
  "positivePrompt": "Enhance this sustainable biomaterials documentary footage while preserving the original composition, camera movement and physical action. Prioritize realistic fine detail in the mycelium leather: dense branching fibers, delicate suede-like surface grain, natural tonal variation, tiny pores and the feathered raw edge. Clarify the pale sage nitrile glove creases, brushed stainless-steel rack, individual cork granules and small moisture beads without making any surface look synthetic or oversharpened. Maintain soft overcast side light, neutral laboratory illumination, muted sand, cream, sage and silver colors, natural depth of field and stable temporal detail throughout the lift, bend and placement of the sheet. Preserve coherent hand motion, flexible material behavior and clean edges; avoid invented objects, lettering, logos, flicker, halos, excessive contrast or plastic-looking textures.",
  "upscaleFactor": 2,
  "settings": {
    "creativity": 1
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/66f99f9b-1169-4672-b3fe-1b90e7dc762c.mp4"
  }
}
```