von Black Forest Labs: https://blackforestlabs.ai. Die Dokumentation zu unserer API finden Sie hier: docs.bfl.ml.
Dieses Repo enthält minimalen Inferenzcode, um Text-zu-Bild und Bild-zu-Bild mit unseren Flux-Transformatoren für latente gleichgerichtete Strömungen auszuführen.
Wir freuen uns über die Partnerschaft mit Replicate, FAL, Mystic und Together. Sie können unsere Modelle mithilfe ihrer Dienste ausprobieren. Nachfolgend listen wir relevante Links auf.
Replizieren:
FAL:
Mystiker:
Zusammen:
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] "
Wir bieten drei Modelle an:
FLUX1.1 [pro]
nur über API verfügbarFLUX.1 [pro]
nur über API verfügbarFLUX.1 [dev]
Guidance-destillierte VarianteFLUX.1 [schnell]
Anleitung und stufendestillierte VarianteName | HuggingFace-Repo | Lizenz | md5sum |
---|---|---|---|
FLUX.1 [schnell] | https://huggingface.co/black-forest-labs/FLUX.1-schnell | Apache-2.0 | a9e1e277b9b16add186f38e3f5a34044 |
FLUX.1 [dev] | https://huggingface.co/black-forest-labs/FLUX.1-dev | FLUX.1-dev Nichtkommerzielle Lizenz | a6bd8c16dfc23db6aee2f63a2eba78c0 |
FLUX.1 [pro] | Nur in unserer API verfügbar. | ||
FLUX1.1 [pro] | Nur in unserer API verfügbar. |
Die Gewichte des Autoencoders werden auch unter Apache-2.0 veröffentlicht und sind in einem der beiden oben genannten HuggingFace-Repos zu finden. Sie sind bei beiden Modellen gleich.
Die Gewichte werden automatisch von HuggingFace heruntergeladen, sobald Sie eine der Demos starten. Um FLUX.1 [dev]
herunterzuladen, müssen Sie angemeldet sein, siehe hier. Wenn Sie die Modellgewichte manuell heruntergeladen haben, können Sie die heruntergeladenen Pfade über Umgebungsvariablen angeben:
export FLUX_SCHNELL= < path_to_flux_schnell_sft_file >
export FLUX_DEV= < path_to_flux_dev_sft_file >
export AE= < path_to_ae_sft_file >
Für interaktiven Probenlauf
python -m flux --name < name > --loop
Oder um einen einzelnen Probenlauf zu generieren
python -m flux --name < name >
--height < height > --width < width >
--prompt " "
Wir bieten auch eine Streamlit-Demo an, die sowohl Text-zu-Bild als auch Bild-zu-Bild unterstützt. Die Demo kann über ausgeführt werden
streamlit run demo_st.py
Für ein interaktives Erlebnis bieten wir auch eine Gradio-basierte Demo an. So führen Sie die Gradio-Demo aus:
python demo_gr.py --name flux-schnell --device cuda
Optionen:
--name
: Wählen Sie das zu verwendende Modell (Optionen: „flux-schnell“, „flux-dev“)--device
: Geben Sie das zu verwendende Gerät an (Standard: „cuda“, falls verfügbar, andernfalls „cpu“)--offload
: Modell auf die CPU laden, wenn es nicht verwendet wird--share
: Erstellen Sie einen öffentlichen Link zu Ihrer DemoSo führen Sie die Demo mit dem Entwicklungsmodell aus und erstellen einen öffentlichen Link:
python demo_gr.py --name flux-dev --share
FLUX.1 [schnell]
und FLUX.1 [dev]
sind mit dem ? integriert Diffusoren-Bibliothek. Um es mit Diffusoren zu verwenden, installieren Sie es wie folgt:
pip install git+https://github.com/huggingface/diffusers.git
Anschließend können Sie FluxPipeline
verwenden, um das Modell auszuführen
import torch
from diffusers import FluxPipeline
model_id = "black-forest-labs/FLUX.1-schnell" #you can also use `black-forest-labs/FLUX.1-dev`
pipe = FluxPipeline . from_pretrained ( "black-forest-labs/FLUX.1-schnell" , torch_dtype = torch . bfloat16 )
pipe . enable_model_cpu_offload () #save some VRAM by offloading the model to CPU. Remove this if you have enough GPU power
prompt = "A cat holding a sign that says hello world"
seed = 42
image = pipe (
prompt ,
output_type = "pil" ,
num_inference_steps = 4 , #use a larger number if you are using [dev]
generator = torch . Generator ( "cpu" ). manual_seed ( seed )
). images [ 0 ]
image . save ( "flux-schnell.png" )
Weitere Informationen finden Sie in der Dokumentation zu den Diffusoren
Unsere API bietet Zugriff auf unsere Modelle. Es ist hier dokumentiert: docs.bfl.ml.
In diesem Repository bieten wir auch eine einfache Python-Schnittstelle an. Um dies nutzen zu können, müssen Sie sich zunächst bei der API unter api.bfl.ml registrieren und einen neuen API-Schlüssel erstellen.
Um den API-Schlüssel zu verwenden, führen Sie entweder export BFL_API_KEY=
aus oder geben Sie ihn über den Parameter api_key=
an. Es wird außerdem erwartet, dass Sie das Paket wie oben installiert haben.
Verwendung von 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
Verwendung über die Befehlszeile:
$ 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