|
--- |
|
language: |
|
- en |
|
library_name: flux |
|
license: apache-2.0 |
|
tags: |
|
- text-to-image |
|
- image-generation |
|
--- |
|
|
|
![FLUX.1 [schnell] Grid](./schnell_grid.jpeg) |
|
|
|
`FLUX.1 [schnell]` is a 12 billion parameter rectified flow transformer capable of generating images from text descriptions. |
|
For more information, please read our [blog post](https://blackforestlabs.ai/announcing-black-forest-labs/). |
|
|
|
# Key Features |
|
1. Cutting-edge output quality and competitive prompt following, matching the performance of closed source alternatives. |
|
2. Trained using latent adversarial diffusion distillation, `FLUX.1 [schnell]` can generate high-quality images in only 1 to 4 steps. |
|
3. Released under the `apache-2.0` licence, the model can be used for personal, scientific, and commercial purposes. |
|
|
|
# Usage |
|
```python |
|
from diffusers import FluxPipeline |
|
import torch |
|
|
|
ckpt_id = "black-forest-labs/FLUX.1-schnell" |
|
prompt = 'black forest gateau cake spelling out the words "FLUX SCHNELL", tasty, food photography, dynamic shot' |
|
height, width = 1024, 1024 |
|
|
|
pipe = FluxPipeline.from_pretrained( |
|
ckpt_id, |
|
revision="refs/pr/1", |
|
torch_dtype=torch.bfloat16, |
|
) |
|
pipe.enable_model_cpu_offload() # uses ~24 GB vram |
|
# if you don't have >24GB vram, comment the line above and uncomment the lines below; see https://huggingface.co/docs/diffusers/v0.29.2/en/optimization/memory |
|
#pipe.enable_sequential_cpu_offload() |
|
#pipe.vae.enable_tiling() |
|
#pipe.vae.enable_slicing() |
|
|
|
images = pipe( |
|
prompt, |
|
num_inference_steps=1, |
|
guidance_scale=0.0, |
|
height=height, |
|
width=width, |
|
).images |
|
|
|
import matplotlib.pyplot as plt |
|
for image in images: |
|
plt.imshow(image) |
|
plt.show() |
|
``` |
|
|
|
We also provide a reference implementation of `FLUX.1 [schnell]`, as well as sampling code, in a dedicated [github repository](https://github.com/black-forest-labs/flux). |
|
Developers and creatives looking to build on top of `FLUX.1 [schnell]` are encouraged to use this as a starting point. |
|
|
|
## API Endpoints |
|
The FLUX.1 models are also available via API from the following sources |
|
1. [bfl.ml](https://docs.bfl.ml/) (currently `FLUX.1 [pro]`) |
|
2. [replicate.com](https://replicate.com/collections/flux) |
|
3. [fal.ai](https://fal.ai/models/fal-ai/flux) |
|
|
|
## ComfyUI |
|
`FLUX.1 [schnell]` is also available in [Comfy UI](https://github.com/comfyanonymous/ComfyUI) for local inference with a node-based workflow. |
|
|
|
--- |
|
# Limitations |
|
- This model is not intended or able to provide factual information. |
|
- As a statistical model this checkpoint might amplify existing societal biases. |
|
- The model may fail to generate output that matches the prompts. |
|
- Prompt following is heavily influenced by the prompting-style. |
|
|
|
# Out-of-Scope Use |
|
The model and its derivatives may not be used |
|
|
|
- In any way that violates any applicable national, federal, state, local or international law or regulation. |
|
- For the purpose of exploiting, harming or attempting to exploit or harm minors in any way; including but not limited to the solicitation, creation, acquisition, or dissemination of child exploitative content. |
|
- To generate or disseminate verifiably false information and/or content with the purpose of harming others. |
|
- To generate or disseminate personal identifiable information that can be used to harm an individual. |
|
- To harass, abuse, threaten, stalk, or bully individuals or groups of individuals. |
|
- To create non-consensual nudity or illegal pornographic content. |
|
- For fully automated decision making that adversely impacts an individual's legal rights or otherwise creates or modifies a binding, enforceable obligation. |
|
- Generating or facilitating large-scale disinformation campaigns. |