от Black Forest Labs: https://blackforestlabs.ai. Документацию по нашему API можно найти здесь: docs.bfl.ml.
Этот репозиторий содержит минимальный код вывода для преобразования текста в изображение и изображения в изображение с помощью наших скрытых выпрямленных преобразователей потока Flux.
Мы рады сотрудничать с Replication, FAL, Mystic и Together. Вы можете попробовать наши модели, воспользовавшись их услугами. Ниже мы перечисляем соответствующие ссылки.
Репликация:
ФАЛ:
Мистик:
Вместе:
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]
доступен только через APIFLUX.1 [pro]
доступен только через APIFLUX.1 [dev]
вариант, очищенный от рекомендацийFLUX.1 [schnell]
и упрощенный вариантИмя | Репозиторий HuggingFace | Лицензия | md5сумма |
---|---|---|---|
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 " "
Мы также предоставляем потоковую демонстрацию, которая выполняет как преобразование текста в изображение, так и изображение в изображение. Демо-версию можно запустить через
streamlit run demo_st.py
Мы также предлагаем демо-версию на основе Gradio для интерактивного опыта. Чтобы запустить демо-версию Gradio:
python demo_gr.py --name flux-schnell --device cuda
Параметры:
--name
: выберите модель для использования (варианты: «flux-schnell», «flux-dev»)--device
: укажите используемое устройство (по умолчанию: «cuda», если доступно, в противном случае — «процессор»)--offload
: выгрузить модель в процессор, когда она не используется.--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 на api.bfl.ml и создать новый ключ API.
Чтобы использовать ключ API, запустите export BFL_API_KEY=
или укажите его через параметр api_key=
. Также ожидается, что вы установили пакет, как указано выше.
Использование из 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
Использование из командной строки:
$ 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