GET
/v1/schemas/fal/image/fal-ai/flux-general
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace454bf4ad4b43ec36d421b5afbfec499dcf9b91ee156f0a527cd3fc887818d0e4{
"fetchedAt": 1788930053,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
33 properties · 1 required · 9 $defs| property | type | description | constraints |
|---|---|---|---|
| prompt* | string | The prompt to generate an image from. | |
| loras | LoraWeight[] | The LoRAs to use for the image generation. You can use any number of LoRAs and they will be merged together to generate the final image. | default: [] |
| enable_safety_checker | boolean | If set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked, and images flagged as unsafe are returned as black images. | default: true |
| nag_tau | number | The tau for NAG. Controls the normalization of the hidden state. Higher values will result in a less aggressive normalization, but may also lead to unexpected changes with respect to the original image. Not recommended to change this value. | n > 0 · default: 2.5 |
| reference_end | number | The percentage of the total timesteps when the reference guidance is to be ended. | 0 ≤ n ≤ 1 · default: 1 |
| max_shift | number | Max shift for the scheduled timesteps | 0.01 ≤ n ≤ 5 · default: 1.15 |
| nag_end | number | The proportion of steps to apply NAG. After the specified proportion of steps has been iterated, the remaining steps will use original attention processors in FLUX. | 0 < n ≤ 1 · default: 0.25 |
| controlnet_unions | ControlNetUnion[] | The controlnet unions to use for the image generation. Only one controlnet is supported at the moment. | default: [] |
| use_real_cfg | boolean | Uses classical CFG as in SD1.5, SDXL, etc. Increases generation times and price when set to be true. If using XLabs IP-Adapter v1, this will be turned on!. | default: false |
| nag_alpha | number | The alpha value for NAG. This value is used as a final weighting factor for steering the normalized guidance (positive and negative prompts) in the direction of the positive prompt. Higher values will result in less steering on the normalized guidance where lo… | 0 < n ≤ 1 · default: 0.25 |
| ip_adapters | IPAdapter[] | IP-Adapter to use for image generation. | default: [] |
| image_size | ImageSize | enum | The size of the generated image. | |
| negative_prompt | string | Negative prompt to steer the image generation away from unwanted features. By default, we will be using NAG for processing the negative prompt. | default: "" |
| num_images | integer | The number of images to generate. This is always set to 1 for streaming output. | 1 ≤ n ≤ 10 · default: 1 |
| control_loras | ControlLoraWeight[] | The LoRAs to use for the image generation which use a control image. You can use any number of LoRAs and they will be merged together to generate the final image. | default: [] |
| use_beta_schedule | boolean | Specifies whether beta sigmas ought to be used. | default: false |
| sigma_schedule | const | Sigmas schedule for the denoising process. | "sgm_uniform" · nullable |
| output_format | enum | The format of the generated image. | jpeg | png · default: "png" |
| use_cfg_zero | boolean | Uses CFG-zero init sampling as in https://arxiv.org/abs/2503.18886. | default: false |
| real_cfg_scale | number | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you. | 0 ≤ n ≤ 5 · default: 3.5 |
| sync_mode | boolean | If `True`, the media will be returned as a data URI and the output data won't be available in the request history. | default: false |
| fill_image | ImageFillInput | Use an image input to influence the generation. Can be used to fill images in masked areas. | nullable |
| controlnets | ControlNet[] | The controlnets to use for the image generation. Only one controlnet is supported at the moment. | default: [] |
| num_inference_steps | integer | The number of inference steps to perform. | 1 ≤ n ≤ 50 · default: 28 |
| reference_strength | number | Strength of reference_only generation. Only used if a reference image is provided. | -3 ≤ n ≤ 3 · default: 0.65 |
| base_shift | number | Base shift for the scheduled timesteps | 0.01 ≤ n ≤ 5 · default: 0.5 |
| nag_scale | number | The scale for NAG. Higher values will result in a image that is more distant to the negative prompt. | 1 < n ≤ 10 · default: 3 |
| seed | integer | The same seed and the same prompt given to the same version of the model will output the same image every time. | nullable |
| guidance_scale | number | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you. | 0 ≤ n ≤ 20 · default: 3.5 |
| scheduler | enum | Scheduler for the denoising process. | euler | dpmpp_2m · default: "euler" |
| easycontrols | EasyControlWeight[] | EasyControl Inputs to use for image generation. | default: [] |
| reference_start | number | The percentage of the total timesteps when the reference guidance is to bestarted. | 0 ≤ n ≤ 1 · default: 0 |
| reference_image_url | string | URL of Image for Reference-Only |
Types
9 $defsControlLoraWeightobject
| scale | Per-layer LoRA scales | number | The scale of the LoRA weight. This is used to scale the LoRA weight before merging it with the base model. Providing a dictionary as {"layer_name":layer_scale} allows per-layer lora scale settings. Layers with no scale provided will have scale 1.0. | default: 1 |
| control_image_url* | string | URL of the image to be used as the control image. | |
| path* | string | URL or the path to the LoRA weights. | |
| preprocess | enum | Type of preprocessing to apply to the input image. | canny | depth | None · default: "None" |
ControlNetobject
| variant | string | The optional variant if a Hugging Face repo key is used. | nullable |
| end_percentage | number | The percentage of the image to end applying the controlnet in terms of the total timesteps. | 0 ≤ n ≤ 1 · default: 1 |
| control_image_url* | string | URL of the image to be used as the control image. | |
| config_url | string | optional URL to the controlnet config.json file. | nullable |
| path* | string | URL or the path to the control net weights. | |
| conditioning_scale | number | The scale of the control net weight. This is used to scale the control net weight before merging it with the base model. | 0 ≤ n ≤ 2 · default: 1 |
| start_percentage | number | The percentage of the image to start applying the controlnet in terms of the total timesteps. | 0 ≤ n ≤ 1 · default: 0 |
| mask_image_url | string | URL of the mask for the control image. | |
| mask_threshold | number | Threshold for mask. | 0.01 ≤ n ≤ 0.99 · default: 0.5 |
ControlNetUnionobject
| controls* | ControlNetUnionInput[] | The control images and modes to use for the control net. | |
| path* | string | URL or the path to the control net weights. | |
| config_url | string | optional URL to the controlnet config.json file. | nullable |
| variant | string | The optional variant if a Hugging Face repo key is used. | nullable |
ControlNetUnionInputobject
| mask_image_url | string | URL of the mask for the control image. | |
| end_percentage | number | The percentage of the image to end applying the controlnet in terms of the total timesteps. | 0 ≤ n ≤ 1 · default: 1 |
| control_image_url* | string | URL of the image to be used as the control image. | |
| conditioning_scale | number | The scale of the control net weight. This is used to scale the control net weight before merging it with the base model. | 0 ≤ n ≤ 2 · default: 1 |
| control_mode* | enum | Control Mode for Flux Controlnet Union. Supported values are: - canny: Uses the edges for guided generation. - tile: Uses the tiles for guided generation. - depth: Utilizes a grayscale depth map for guided generation. - blur: Adds a blur to the image. - pose: … | canny | tile | depth | blur | pose | gray · +1 more |
| start_percentage | number | The percentage of the image to start applying the controlnet in terms of the total timesteps. | 0 ≤ n ≤ 1 · default: 0 |
| mask_threshold | number | Threshold for mask. | 0.01 ≤ n ≤ 0.99 · default: 0.5 |
EasyControlWeightobject
| image_control_type* | enum | Control type of the image. Must be one of `spatial` or `subject`. | subject | spatial |
| scale | number | Scale for the control method. | 0 ≤ n ≤ 2 · default: 1 |
| control_method_url* | string | URL to safetensor weights of control method to be applied. Can also be one of `canny`, `depth`, `hedsketch`, `inpainting`, `pose`, `seg`, `subject`, `ghibli` | |
| image_url* | string | URL of an image to use as a control |
ImageFillInputobject
| fill_image_url | string | string[] | URLs of images to be filled for redux prompting | default: [] |
ImageSizeobject
| width | integer | The width of the generated image. | 0 < n ≤ 14142 · default: 512 |
| height | integer | The height of the generated image. | 0 < n ≤ 14142 · default: 512 |
IPAdapterobject
| subfolder | string | Subfolder in which the ip_adapter weights exist | nullable |
| scale* | number | Scale for ip adapter. | |
| path* | string | Hugging Face path to the IP-Adapter | |
| image_encoder_path* | string | Path to the Image Encoder for the IP-Adapter, for example 'openai/clip-vit-large-patch14' | |
| image_encoder_subfolder | string | Subfolder in which the image encoder weights exist. | nullable |
| image_encoder_weight_name | string | Name of the image encoder. | nullable |
| image_url* | string | URL of Image for IP-Adapter conditioning. | |
| mask_image_url | string | URL of the mask for the control image. | nullable |
| weight_name | string | Name of the safetensors file containing the ip-adapter weights | nullable |
| mask_threshold | number | Threshold for mask. | 0.01 ≤ n ≤ 0.99 · default: 0.5 |
LoraWeightobject
| scale | Per-layer LoRA scales | number | The scale of the LoRA weight. This is used to scale the LoRA weight before merging it with the base model. Providing a dictionary as {"layer_name":layer_scale} allows per-layer lora scale settings. Layers with no scale provided will have scale 1.0. | default: 1 |
| path* | string | URL or the path to the LoRA weights. |
Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"fal","endpointId":"fal-ai/flux-general","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}