black-forest-labs / flux

Official inference repo for FLUX.1 models
Apache License 2.0
16.17k stars 1.17k forks source link

FLUX

by Black Forest Labs: https://blackforestlabs.ai. Documentation for our API can be found here: docs.bfl.ml.

grid

This repo contains minimal inference code to run image generation & editing with our Flux models.

Local installation

cd $HOME && git clone https://github.com/black-forest-labs/flux
cd $HOME/flux
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"

Models

We are offering an extensive suite of models. For more information about the invidual models, please refer to the link under Usage.

Name Usage HuggingFace repo License
FLUX.1 [schnell] Text to Image https://huggingface.co/black-forest-labs/FLUX.1-schnell apache-2.0
FLUX.1 [dev] Text to Image https://huggingface.co/black-forest-labs/FLUX.1-dev FLUX.1-dev Non-Commercial License
FLUX.1 Fill [dev] In/Out-painting https://huggingface.co/black-forest-labs/FLUX.1-Fill-dev FLUX.1-dev Non-Commercial License
FLUX.1 Canny [dev] Structural Conditioning https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev FLUX.1-dev Non-Commercial License
FLUX.1 Depth [dev] Structural Conditioning https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev FLUX.1-dev Non-Commercial License
FLUX.1 Canny [dev] LoRA Structural Conditioning https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev-lora FLUX.1-dev Non-Commercial License
FLUX.1 Depth [dev] LoRA Structural Conditioning https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev-lora FLUX.1-dev Non-Commercial License
FLUX.1 Redux [dev] Image variation https://huggingface.co/black-forest-labs/FLUX.1-Redux-dev FLUX.1-dev Non-Commercial License
FLUX.1 [pro] Text to Image Available in our API.
FLUX1.1 [pro] Text to Image Available in our API.
FLUX1.1 [pro] Ultra/raw Text to Image Available in our API.
FLUX.1 Fill [pro] In/Out-painting Available in our API.
FLUX.1 Canny [pro] Structural Conditioning Available in our API.
FLUX.1 Depth [pro] Structural Conditioning Available in our API.
FLUX1.1 Redux [pro] Image variation Available in our API.
FLUX1.1 Redux [pro] Ultra Image variation Available in our API.

The weights of the autoencoder are also released under apache-2.0 and can be found in the HuggingFace repos above.

API usage

Our API offers access to our models. It is documented here: docs.bfl.ml.

In this repository we also offer an easy python interface. To use this, you first need to register with the API on api.bfl.ml, and create a new API key.

To use the API key either run export BFL_API_KEY=<your_key_here> or provide it via the api_key=<your_key_here> parameter. It is also expected that you have installed the package as above.

Usage from python:

from flux.api import ImageRequest

# this will create an api request directly but not block until the generation is finished
request = ImageRequest("A beautiful beach", name="flux.1.1-pro")
# or: request = ImageRequest("A beautiful beach", name="flux.1.1-pro", api_key="your_key_here")

# any of the following will block until the generation is finished
request.url
# -> https:<...>/sample.jpg
request.bytes
# -> b"..." bytes for the generated image
request.save("outputs/api.jpg")
# saves the sample to local storage
request.image
# -> a PIL image

Usage from the command line:

$ python -m flux.api --prompt="A beautiful beach" url
https:<...>/sample.jpg

# generate and save the result
$ python -m flux.api --prompt="A beautiful beach" save outputs/api

# open the image directly
$ python -m flux.api --prompt="A beautiful beach" image show