Flux Fill Dev

Flux Fill Dev

Playground

Try it on WavespeedAI!

FLUX.1 Fill [dev] is a 12B-parameter rectified flow transformer for text-guided image inpainting that fills areas of existing images from text prompts. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

FLUX Fill Dev

FLUX Fill Dev is a powerful AI-powered inpainting model that fills in masked regions of images based on text prompts. Upload an image and mask, describe what should appear in the masked area, and the model seamlessly generates new content that blends naturally with the surrounding image.


Why It Stands Out

  • Precise inpainting: Generate new content only in masked regions while preserving the rest.
  • Prompt-guided generation: Describe exactly what should appear in the masked area.
  • Prompt Enhancer: Built-in AI-powered prompt optimization for better results.
  • LoRA support: Apply up to 3 custom LoRA models for specific styles.
  • Flexible resolution: Width and height adjustable from 256 to 1536 pixels.
  • Batch generation: Create multiple variations in a single request.
  • Reproducibility: Use the seed parameter to recreate exact results.

Parameters

ParameterRequiredDescription
imageYesSource image to edit (upload or public URL).
mask_imageYesMask image (white = generate, black = preserve).
promptYesText description of what to generate in the masked area.
widthNoOutput width: 256–1536 pixels (default: 1024).
heightNoOutput height: 256–1536 pixels (default: 1024).
num_inference_stepsNoQuality/speed trade-off (default: 28).
seedNoSet for reproducibility (default: 0).
guidance_scaleNoPrompt adherence strength (default: 30).
num_imagesNoNumber of images to generate (default: 1).
lorasNoLoRA models to apply. Up to 3 LoRAs.

How to Use

  1. Upload your source image — drag and drop a file or paste a public URL.
  2. Upload or create a mask image — white areas will be regenerated, black areas preserved.
  3. Write a prompt describing what should appear in the masked region. Use the Prompt Enhancer for AI-assisted optimization.
  4. Add LoRAs (optional) — apply up to 3 custom style LoRAs.
  5. Adjust parameters (optional) — set dimensions, guidance scale, and num_images.
  6. Click Run and download your edited image.

Best Use Cases

  • Object Replacement — Replace objects in images with new ones.
  • Background Editing — Change or extend backgrounds seamlessly.
  • Content Addition — Add new elements like clothing, accessories, or objects.
  • Photo Repair — Remove unwanted elements and fill with appropriate content.
  • Creative Compositing — Blend new elements into existing scenes naturally.

Pricing

OutputPrice
Per image$0.035

Pro Tips for Best Quality

  • Create clean, precise masks — white for areas to regenerate, black for areas to keep.
  • Be specific in your prompt about what should appear in the masked area.
  • Use higher guidance scale (25–35) for stronger prompt adherence.
  • Generate multiple images (num_images > 1) to explore variations.
  • Use LoRAs to apply consistent styles across multiple inpainting jobs.
  • Ensure mask edges are smooth for better blending results.

Notes

  • Maximum of 3 LoRAs per generation.
  • Width and height must be between 256 and 1536 pixels.
  • Ensure uploaded image URLs are publicly accessible.
  • Processing time varies based on resolution and current queue load.
  • Please ensure your content complies with usage guidelines.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/flux-fill-dev" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "size": "1024*1024",
    "num_inference_steps": 28,
    "seed": 0,
    "guidance_scale": 30,
    "num_images": 1,
    "loras": []
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-The URL of the image to generate an image from.
mask_imagestringYes-The URL of the mask image to generate an image from.
promptstringYes-The positive prompt for the generation.
sizestringNo1024*1024256 ~ 1536 per dimensionThe size of the generated media in pixels (width*height).
num_inference_stepsintegerNo281 ~ 50The number of inference steps to perform.
seedintegerNo--1 ~ 2147483647The random seed to use for the generation.
guidance_scalenumberNo3028 ~ 35The guidance scale to use for the generation.
num_imagesintegerNo11 ~ 4The number of images to generate.
lorasarrayNomax 3 itemsList of LoRAs to apply (max 3).
loras[].pathstringYes-Path to the LoRA model
loras[].scalefloatYes-0.0 ~ 4.0Scale of the LoRA model

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.