بواسطة مختبرات الغابة السوداء: https://blackforestlabs.ai. يمكن العثور على وثائق واجهة برمجة التطبيقات الخاصة بنا هنا: docs.bfl.ml.
يحتوي هذا الريبو على الحد الأدنى من كود الاستدلال لتشغيل تحويل النص إلى صورة ومن صورة إلى صورة باستخدام محولات التدفق المصححة الكامنة الخاصة بـ Flux.
يسعدنا أن نتشارك مع Replicate و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]
متاح عبر واجهة برمجة التطبيقات (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 " "
نحن نقدم أيضًا عرضًا توضيحيًا مبسطًا يقوم بتحويل النص إلى صورة وصورة إلى صورة. يمكن تشغيل العرض التوضيحي عبر
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
: إلغاء تحميل النموذج إلى وحدة المعالجة المركزية عندما لا يكون قيد الاستخدام--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.
في هذا المستودع نقدم أيضًا واجهة بايثون سهلة. لاستخدام هذا، تحتاج أولاً إلى التسجيل في واجهة برمجة التطبيقات (API) على api.bfl.ml، وإنشاء مفتاح واجهة برمجة التطبيقات (API) جديد.
لاستخدام مفتاح API، قم بتشغيل export BFL_API_KEY=
أو توفيره عبر المعلمة api_key=
. ومن المتوقع أيضًا أن تكون قد قمت بتثبيت الحزمة على النحو الوارد أعلاه.
الاستخدام من بايثون:
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