FLUX.1 [pro] Depth Fine-tuned | Image to Image | API Documentation | fal.ai (2025)

About

FLUX.1 Depth Control [pro] API, next generation text-to-image model.

All usages of this model must comply with FLUX.1 PRO Terms of Service.

1. Calling the API#

Install the client#

The client provides a convenient way to interact with the model API.

npm install --save @fal-ai/client
Migrate to @fal-ai/client

The @fal-ai/serverless-client package has been deprecated in favor of @fal-ai/client. Please check the migration guide for more information.

Setup your API Key#

Set FAL_KEY as an environment variable in your runtime.

export FAL_KEY="YOUR_API_KEY"

Submit a request#

The client API handles the API submit protocol. It will handle the request status updates and return the result when the request is completed.

import { fal } from "@fal-ai/client";const result = await fal.subscribe("fal-ai/flux-pro/v1/depth-finetuned", { input: { prompt: "A blackhole in space.", control_image_url: "https://fal.media/files/penguin/vt-SeIOweN7_oYBsvGO6t.png", finetune_id: "" }, logs: true, onQueueUpdate: (update) => { if (update.status === "IN_PROGRESS") { update.logs.map((log) => log.message).forEach(console.log); } },});console.log(result.data);console.log(result.requestId);

2. Authentication#

The API uses an API Key for authentication. It is recommended you set the FAL_KEY environment variable in your runtime when possible.

API Key#

In case your app is running in an environment where you cannot set environment variables, you can set the API Key manually as a client configuration.

import { fal } from "@fal-ai/client";fal.config({ credentials: "YOUR_FAL_KEY"});
Protect your API Key

When running code on the client-side (e.g. in a browser, mobile app or GUI applications), make sure to not expose your FAL_KEY. Instead, use a server-side proxy to make requests to the API. For more information, check out our server-side integration guide.

3. Queue#

Long-running requests

For long-running requests, such as training jobs or models with slower inference times, it is recommended to check the Queue status and rely on Webhooks instead of blocking while waiting for the result.

Submit a request#

The client API provides a convenient way to submit requests to the model.

import { fal } from "@fal-ai/client";const { request_id } = await fal.queue.submit("fal-ai/flux-pro/v1/depth-finetuned", { input: { prompt: "A blackhole in space.", control_image_url: "https://fal.media/files/penguin/vt-SeIOweN7_oYBsvGO6t.png", finetune_id: "" }, webhookUrl: "https://optional.webhook.url/for/results",});

Fetch request status#

You can fetch the status of a request to check if it is completed or still in progress.

import { fal } from "@fal-ai/client";const status = await fal.queue.status("fal-ai/flux-pro/v1/depth-finetuned", { requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b", logs: true,});

Get the result#

Once the request is completed, you can fetch the result. See the Output Schema for the expected result format.

import { fal } from "@fal-ai/client";const result = await fal.queue.result("fal-ai/flux-pro/v1/depth-finetuned", { requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b"});console.log(result.data);console.log(result.requestId);

4. Files#

Some attributes in the API accept file URLs as input. Whenever that's the case you can pass your own URL or a Base64 data URI.

Data URI (base64)#

You can pass a Base64 data URI as a file input. The API will handle the file decoding for you. Keep in mind that for large files, this alternative although convenient can impact the request performance.

Hosted files (URL)#

You can also pass your own URLs as long as they are publicly accessible. Be aware that some hosts might block cross-site requests, rate-limit, or consider the request as a bot.

Uploading files#

We provide a convenient file storage that allows you to upload files and use them in your requests. You can upload files using the client API and use the returned URL in your requests.

import { fal } from "@fal-ai/client";const file = new File(["Hello, World!"], "hello.txt", { type: "text/plain" });const url = await fal.storage.upload(file);
Auto uploads

The client will auto-upload the file for you if you pass a binary object (e.g. File, Data).

Read more about file handling in our file upload guide.

5. Schema#

Input#

promptstring* required

The prompt to generate an image from.

image_sizeImageSize | Enum

The size of the generated image. Default value: landscape_4_3

Possible enum values: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9

Note: For custom image sizes, you can pass the width and height as an object:

"image_size": { "width": 1280, "height": 720}

num_inference_stepsinteger

The number of inference steps to perform. Default value: 28

seedinteger

The same seed and the same prompt given to the same version of the modelwill output the same image every time.

guidance_scalefloat

The CFG (Classifier Free Guidance) scale is a measure of how close you wantthe model to stick to your prompt when looking for a related image to show you. Default value: 15

sync_modeboolean

If set to true, the function will wait for the image to be generated and uploadedbefore returning the response. This will increase the latency of the function butit allows you to get the image directly in the response without going through the CDN.

num_imagesinteger

The number of images to generate. Default value: 1

safety_toleranceSafetyToleranceEnum

API only

The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive. Default value: "2"

Possible enum values: 1, 2, 3, 4, 5, 6

Note: This property is only available through API calls.

output_formatOutputFormatEnum

The format of the generated image. Default value: "jpeg"

Possible enum values: jpeg, png

control_image_urlstring* required

The control image URL to generate the depth map from.

finetune_idstring* required

References your specific model

finetune_strengthfloat* required

Controls finetune influence.Increase this value if your target concept isn't showing up strongly enough.The optimal setting depends on your finetune and prompt

{ "prompt": "A blackhole in space.", "image_size": "landscape_4_3", "num_inference_steps": 28, "guidance_scale": 15, "num_images": 1, "safety_tolerance": "2", "output_format": "jpeg", "control_image_url": "https://fal.media/files/penguin/vt-SeIOweN7_oYBsvGO6t.png", "finetune_id": ""}

Output#

imageslist<Image>* required

The generated image files info.

timingsTimings* required

seedinteger* required

Seed of the generated Image. It will be the same value of the one passed in theinput or the randomly generated that was used in case none was passed.

has_nsfw_conceptslist<boolean>* required

Whether the generated images contain NSFW concepts.

promptstring* required

The prompt used for generating the image.

{ "images": [ { "url": "", "content_type": "image/jpeg" } ], "prompt": ""}

Other types#

FluxProRedux#

promptstring

The prompt to generate an image from. Default value: ""

image_sizeImageSize | Enum

The size of the generated image. Default value: landscape_4_3

Possible enum values: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9

Note: For custom image sizes, you can pass the width and height as an object:

"image_size": { "width": 1280, "height": 720}

num_inference_stepsinteger

The number of inference steps to perform. Default value: 28

seedinteger

The same seed and the same prompt given to the same version of the modelwill output the same image every time.

guidance_scalefloat

The CFG (Classifier Free Guidance) scale is a measure of how close you wantthe model to stick to your prompt when looking for a related image to show you. Default value: 3.5

sync_modeboolean

If set to true, the function will wait for the image to be generated and uploadedbefore returning the response. This will increase the latency of the function butit allows you to get the image directly in the response without going through the CDN.

num_imagesinteger

The number of images to generate. Default value: 1

safety_toleranceSafetyToleranceEnum

API only

The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive. Default value: "2"

Possible enum values: 1, 2, 3, 4, 5, 6

Note: This property is only available through API calls.

output_formatOutputFormatEnum

The format of the generated image. Default value: "jpeg"

Possible enum values: jpeg, png

image_urlstring* required

The image URL to generate an image from. Needs to match the dimensions of the mask.

Image#

urlstring* required

widthinteger* required

heightinteger* required

content_typestring

Default value: "image/jpeg"

FluxProUltraTextToImageInputRedux#

promptstring

The prompt to generate an image from. Default value: ""

seedinteger

The same seed and the same prompt given to the same version of the modelwill output the same image every time.

sync_modeboolean

If set to true, the function will wait for the image to be generated and uploadedbefore returning the response. This will increase the latency of the function butit allows you to get the image directly in the response without going through the CDN.

num_imagesinteger

The number of images to generate. Default value: 1

enable_safety_checkerboolean

If set to true, the safety checker will be enabled. Default value: true

safety_toleranceSafetyToleranceEnum

API only

The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive. Default value: "2"

Possible enum values: 1, 2, 3, 4, 5, 6

Note: This property is only available through API calls.

output_formatOutputFormatEnum

The format of the generated image. Default value: "jpeg"

Possible enum values: jpeg, png

aspect_ratioAspectRatioEnum

The aspect ratio of the generated image. Default value: "16:9"

Possible enum values: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21

rawboolean

Generate less processed, more natural-looking images.

image_urlstring* required

The image URL to generate an image from. Needs to match the dimensions of the mask.

image_prompt_strengthfloat

The strength of the image prompt, between 0 and 1. Default value: 0.1

ImageSize#

widthinteger

The width of the generated image. Default value: 512

heightinteger

The height of the generated image. Default value: 512

FLUX.1 [pro] Depth Fine-tuned | Image to Image | API Documentation | fal.ai (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Melvina Ondricka

Last Updated:

Views: 5717

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.