Black Forest Labs 제공: https://blackforestlabs.ai. API에 대한 문서는 docs.bfl.ml에서 찾을 수 있습니다.
이 저장소에는 Flux 잠재 정류 흐름 변환기를 사용하여 텍스트-이미지 및 이미지-이미지를 실행하기 위한 최소한의 추론 코드가 포함되어 있습니다.
Replicate, FAL, Mystic 및 Together와 파트너십을 맺게 되어 기쁘게 생각합니다. 해당 서비스를 사용하여 모델을 샘플링할 수 있습니다. 아래에 관련 링크가 나열되어 있습니다.
뒤로 젖히다:
FAL:
미스틱:
함께:
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] "
우리는 세 가지 모델을 제공하고 있습니다:
FLUX1.1 [pro]
API를 통해서만 사용 가능FLUX.1 [pro]
API를 통해서만 사용 가능FLUX.1 [dev]
지침 증류 변형FLUX.1 [schnell]
지침 및 단계 증류 변형이름 | HuggingFace 레포 | 특허 | md5sum |
---|---|---|---|
FLUX.1 [schnell] | https://huggingface.co/black-forest-labs/FLUX.1-schnell | 아파치-2.0 | a9e1e277b9b16add186f38e3f5a34044 |
FLUX.1 [dev] | https://huggingface.co/black-forest-labs/FLUX.1-dev | FLUX.1-dev 비상업적 라이센스 | a6bd8c16dfc23db6aee2f63a2eba78c0 |
FLUX.1 [pro] | API에서만 사용할 수 있습니다. | ||
FLUX1.1 [pro] | API에서만 사용할 수 있습니다. |
자동 인코더의 가중치는 apache-2.0에서도 릴리스되며 위의 두 HuggingFace 저장소 중 하나에서 찾을 수 있습니다. 두 모델 모두 동일합니다.
데모 중 하나를 시작하면 HuggingFace에서 가중치가 자동으로 다운로드됩니다. FLUX.1 [dev]
다운로드하려면 로그인이 필요합니다. 여기를 참조하세요. 모델 가중치를 수동으로 다운로드한 경우 환경 변수를 통해 다운로드한 경로를 지정할 수 있습니다.
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 >
대화형 샘플링 실행의 경우
python -m flux --name < name > --loop
또는 단일 샘플 실행을 생성하려면
python -m flux --name < name >
--height < height > --width < width >
--prompt " <prompt> "
또한 텍스트를 이미지로, 이미지를 이미지로 변환하는 간단한 데모도 제공합니다. 데모는 다음을 통해 실행할 수 있습니다.
streamlit run demo_st.py
또한 대화형 경험을 위한 Gradio 기반 데모도 제공합니다. Gradio 데모를 실행하려면:
python demo_gr.py --name flux-schnell --device cuda
옵션:
--name
: 사용할 모델을 선택합니다(옵션: "flux-schnell", "flux-dev")--device
: 사용할 장치를 지정합니다(기본값: 사용 가능한 경우 "cuda", 그렇지 않으면 "cpu")--offload
: 사용하지 않을 때 모델을 CPU로 오프로드합니다.--share
: 데모에 대한 공개 링크를 생성합니다.개발 모델로 데모를 실행하고 공개 링크를 생성하려면:
python demo_gr.py --name flux-dev --share
FLUX.1 [schnell]
및 FLUX.1 [dev]
는 ? 디퓨저 라이브러리. 디퓨저와 함께 사용하려면 다음을 설치하십시오.
pip install git+https://github.com/huggingface/diffusers.git
그런 다음 FluxPipeline
사용하여 모델을 실행할 수 있습니다.
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" )
자세한 내용은 디퓨저 문서를 확인하세요.
우리의 API는 모델에 대한 액세스를 제공합니다. 여기에 문서화되어 있습니다: docs.bfl.ml.
이 저장소에서는 쉬운 Python 인터페이스도 제공합니다. 이를 사용하려면 먼저 api.bfl.ml에서 API에 등록하고 새 API 키를 생성해야 합니다.
API 키를 사용하려면 export BFL_API_KEY=<your_key_here>
실행하거나 api_key=<your_key_here>
매개변수를 통해 제공하세요. 또한 위와 같이 패키지를 설치했다고 예상됩니다.
파이썬에서의 사용법:
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
명령줄에서의 사용법:
$ 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