Black Forest Labs: FLUX.3 Image
ينشئ FLUX 3 Image الصور ويحرّرها انطلاقًا من توجيه مكتوب وما يصل إلى عشرة مراجع. ويضيف مربعات إحاطة محدّدة بالتوجيه لضبط التكوين والتغييرات الموضعية، وإسنادًا بمعلومات الويب والصور، وخمس فئات للدقة.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
FLUX 3 Image هو نموذج Black Forest Labs لتوليد الصور وتحريرها، مع تحكم صريح في التكوين. يستطيع وصف نصي إنشاء مشهد جديد؛ ويمكن للصور المقدّمة تحديد موضوع أو مشهد للمراجعة أو عدة عناصر للجمع بينها. تتيح المربعات المحيطة للموجز تحديد موضع كل عنصر والأجزاء التي ينبغي أن تتغير في صورة موجودة. النتيجة صورة، مع المشهد والنص والتخطيط المطلوبين للفحص.
أنشئ مشهدًا أو قدّم تعليمة تحرير
لصورة جديدة، صِف الموضوع والفعل أو الوضعية والمكان والإضاءة والتأطير. ضع الكلمات الدقيقة داخل الصورة بين علامتي اقتباس، واذكر موضع ظهورها. وقد يعرض موجز منتج أصلي كوب تخييم أحمر على سطح حجري فاتح، مع عنوان كبير فوقه وضوء صباحي ناعم يُظهر المقبض. عرّف العلاقة بين العنوان والمنتج والخلفية، بدلًا من تقديم كلمات أسلوبية غير مترابطة.
للتحرير، حدّد الشيء المعني والتغيير: أعد تلوين الكوب أو استبدل ملصقًا أو حرّك شخصًا أو غيّر أسلوب المشهد. لا يتطلب تعديل واحد مربعًا مرسومًا يدويًا. يوسّع مسار العمل الموثّق التعليمة قبل التوليد، ويستطيع تحديد موضع العنصر المسمّى وإضافة مربع تلقائيًا. يسجّل الموجّه الموسّع المُرجع هذا التفسير، مما يفيد عندما تختار تعليمة الشيء الخطأ أو تضيف تفصيلًا غير مرغوب فيه.
اجمع الصور المرجعية وجهّزها
يقبل خيار المنتج المحدد من مرجع واحد إلى عشرة مراجع، تُقدَّم كروابط صور أو بيانات صور مرمّزة. يجب ألا يقل كل منها عن 256×256 بكسل وألا يتجاوز 16 ميغابكسل. سمِّ المرجع بحسب موضعه أو محتواه الظاهر، ثم اشرح دوره: الشخص من Image 1، والسترة من Image 2، والغرفة من Image 3. مرجع الصورة مصدر معلومات بصرية، وليس تعليمة لنسخ كل تفصيل غير مرتبط فيه.
القيمة الافتراضية لإعداد نسبة الأبعاد هي auto. وفي مواصفات الطلب، تأخذ النسبة المطلوبة في الموجّه الأولوية؛ وإلا يحدّد المرجع الأول التأطير، ويكون الإخراج المربع هو البديل عند غياب مرجع أو شكل مطلوب يحدّده. ولتركيب عناصر، ضع مرجع المشهد المقصود أولًا أو اختر النسبة صراحةً. احتفظ بالصور المصدرية وترتيبها مع النتيجة، حتى تستخدم مراجعة لاحقة نقطة البداية البصرية نفسها.
ضع العناصر باستخدام المربعات المحيطة
يجمع موجّه التخطيط وصفًا مع مصفوفة JSON من صفوف العناصر. يسمّي الوصف عنصرًا باستخدام علامة مثل <cup_1>؛ ويحتوي الصف id وbbox وdesc. الإحداثيات أعداد صحيحة من 0 إلى 1000 بالترتيب [top, left, bottom, right]، وتُقاس من الركن العلوي الأيسر. فمثلًا، يصف [0, 0, 500, 500] الربع العلوي الأيسر بغض النظر عن أبعاد الصورة بالبكسل. استخدم نسبة الأبعاد التي صُمّم لها التخطيط، لأن شبكة الإحداثيات تتمدد مع الإطار.
يستخدم صف التحرير بدلًا من ذلك from وsrc_bbox وtgt_bbox بجانب المعرّف والوصف. ويعني ref_image_0 أول صورة مقدّمة. يثبّت تطابق مربعي المصدر والهدف العنصر؛ وتنقله المربعات المختلفة أو تغيّر حجمه. ويولّد صف جديد بلا مصدر وصفه في الموضع المستهدف، مما يتيح الإضافة والاستبدال وإعادة التلوين. ويحذف صف مصدر بلا هدف العنصر. اذكر الإضافات والحذف في التعليمة المكتوبة والصفوف معًا، واحتفظ بصفوف تثبيت التفاصيل التي يجب أن تبقى في مواضعها.
امنح الكتابة مربعًا خاصًا واقتبس كلماتها الدقيقة في desc. توجّه المربعات الموضع والحجم؛ وليست أقنعة قص، لذلك قد يمتد عنصر خارج المستطيل. يذكر المنتج أن الأشياء الجديدة داخل مربعات بحجم يقارب 40×25 بكسل كثيرًا ما فشلت في الظهور في أمثلته. خصّص مساحة مرئية كافية، وافحص حدود التحرير. تبقى البكسلات خارج الهدف مستقرة عادةً، لكن قد تتغير الظلال والانعكاسات والإضاءة القريبة.
الاستناد إلى مصادر وفئات الإخراج والسجلات المفيدة
يفعّل الخيار الموثّق الاستناد إلى المصادر افتراضيًا، مما يتيح للبحث في الويب والصور توجيه التوليد. ويمكن تعطيله لموجز ينبغي أن يستخدم الوصف والمراجع المقدّمة فقط. ولموضوع من العالم الحقيقي، عرّف المكان أو الحدث أو الشيء بوضوح، وافصل المحتوى الواقعي عن المعالجة الفنية. وما زالت الصور المستنيرة بالبحث بحاجة إلى المقارنة بمادة مرجعية معتمدة عندما يجب أن يكون ملصق أو شيء أو حدث مصوّر دقيقًا.
فئات الدقة الخمس هي 768sq و1k و1.5k و2k و4k، مع 1k كقيمة افتراضية. وتحدّد كل فئة مساحة بالبكسلات ثابتة عبر نسب الأبعاد، لذا يعتمد العرض والارتفاع الدقيقان داخل الفئة نفسها على النسبة المختارة. وتتراوح خمس عشرة نسبة ثابتة من 21:9 عبر الأشكال المربعة والعمودية إلى 9:21. يتحكم خيار هذا النموذج في الحجم عبر النسبة والدقة؛ ولا يتيح حقول seed أو width أو height المستخدمة في خيارات طلب FLUX.2. ويسمّي محدّد الإصدار الموثّق حاليًا إصدارًا متغيرًا، بدلًا من إثبات مطابقة مؤرخة لأوزان المورد.
يعيد مسار المنتج صورة بعد معالجة غير متزامنة، مع الموجّه الموسّع. ورابط تنزيل الصورة الموقّع صالح لساعة واحدة. احتفظ بالصورة الفعلية والموجّه النهائي والمراجع، بدلًا من الاعتماد على رابط مؤقت. ولملف خضع للمراجعة، قارن النص المطلوب ومواضع الأشياء وهوية المراجع والمنطقة المتغيّرة بحجم العرض المقصود. التوليد المكتمل نقطة البداية لفحص هذه المتطلبات البصرية.
Ailoot Ultra · الصور POST /v1/images/generations black-forest-labs/flux-3-image
black-forest-labs/flux-3-image
black-forest-labs/flux-3-imageالبداية
ينشئ FLUX 3 Image الصور ويحرّرها انطلاقًا من توجيه مكتوب وما يصل إلى عشرة مراجع. ويضيف مربعات إحاطة محدّدة بالتوجيه لضبط التكوين والتغييرات الموضعية، وإسنادًا بمعلومات الويب والصور، وخمس فئات للدقة.
- المدخلات المقبولة
- النص · الصور
- النتائج
- الصور
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · الصور POST /v1/images/generations
- الإدخال
text,image- الإخراج
image
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود black-forest-labs/flux-3-image | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الحد الأدنى للطول: 1 | القيمة الافتراضية— |
الحقلresolution | النوعstring | المتطلباختياري | القيم والحدود 768, 1K, 1.5K, 2K, 4K | القيمة الافتراضية— |
الحقلaspect_ratio | النوعstring | المتطلباختياري | القيم والحدود 21:9, 2:1, 16:9, 3:2, 7:5, 4:3, 5:4, 1:1, 4:5, 3:4, 5:7, 2:3, 9:16, 1:2, 9:21, auto | القيمة الافتراضية— |
الحقلn | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 1 الحد الأقصى: 1 | القيمة الافتراضية— |
الحقلinput_references | النوعarray | المتطلباختياري | القيم والحدود الحد الأدنى للعناصر: 0 الحد الأقصى للعناصر: 10 | القيمة الافتراضية— |
الحقلprovider | النوعobject | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, prompt |
المعلمةmaterial_types | المواصفاتtext, image |
دورة الحياة: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.082 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · الصور
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'black-forest-labs/flux-3-image', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
استلام النتائج وحفظها
Ailoot Ultra · الصور
نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
عمليات أخرى لقراءة المحتوى
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
الاحتفاظ بكل النتائج المكتملة
احفظ كل صورة مكتملة؛ نزّلها من كل URL مُرجع، أو فك ترميز محتواها بصيغة Base64.
احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلcreated | النوع |
الحقلdata[].url | النوع |
الحقلdata[].b64_json | النوع |
الحقلusage | النوع |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra black-forest-labs/flux-3-image
الأسماء البديلة لمسارات الطرائق
/v1/images
معرّفات النماذج ذات الصلة IDs
FAQ · Black Forest Labs: FLUX.3 Image
- ما المدخلات والنتائج المتاحة؟
POST /v1/images/generations·black-forest-labs/flux-3-image:text,image→image- ما الحقول التي يستخدمها الطلب؟
POST /v1/images/generations·black-forest-labs/flux-3-image:model,prompt,resolution,aspect_ratio,n,input_references,provider- ما الحدود المطبقة؟
POST /v1/images/generations·black-forest-labs/flux-3-image:n.minimum:1;n.maximum:1