FLUX Video Upscale

FLUX Video Upscale 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.

Complete technical specification for integration
Ready-to-use code snippets for common workflows
Step-by-step tutorials for advanced use cases
API Options
Platform-level options for task execution and delivery.
taskType
stringrequiredvalue: upscaleIdentifier for the type of task being performed
taskUUID
stringrequiredUUID v4UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
outputType
stringdefault: URLVideo output type.
Allowed values1 value
outputFormat
stringdefault: MP4Specifies 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 values3 values
outputQuality
integermin: 20max: 99default: 95Compression quality of the output. Higher values preserve quality but increase file size.
webhookURL
stringuriSpecifies a webhook URL where JSON responses will be sent 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 more1 resource
- WebhooksPLATFORM
- Webhooks
deliveryMethod
stringdefault: asyncDetermines how the API delivers task results.
Allowed values1 value
- Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse. Required for long-running tasks like video generation.
Learn more1 resource
- Task PollingPLATFORM
uploadEndpoint
stringuriSpecifies 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.
// 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.jpgThe content data will be sent as the request body to the specified URL when generation is complete.
ttl
integermin: 60Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
includeCost
booleanInclude task cost in the response.
Inputs
Input resources for the task (images, audio, etc). These must be nested inside the inputs object.
inputs object.inputs»videovideo
stringrequired3 limitsVideo input (UUID or URL).
Core Parameters
Primary parameters that define the task output.
model
stringrequiredvalue: bfl:flux@video-upscaleIdentifier of the model to use for generation.
Learn more3 resources
positivePrompt
stringmin: 2max: 12000Text prompt describing elements to include in the generated output. Steers which detail is enhanced.
Learn more1 resource
- PromptsLEARN
- Prompts
upscaleFactor
floatmin: 1.5max: 3step: 0.1default: 2Factor 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.
settings object.settings»creativitycreativity
integerdefault: 1Level of fine detail the model restores or invents.
Allowed values2 values
- Preserves the source and sharpens it.
- Restores and invents detail more aggressively, without strictly preserving identity.
settings»safetyTolerancesafetyTolerance
integermin: 0max: 4default: 2Tolerance level for content moderation. Lower values are stricter; higher values are more permissive.