Black Forest Labs: FLUX.3 Image
FLUX 3 Image יוצר ועורך תמונות מבריף כתוב ומעד עשרה ייחוסים. הוא מוסיף תיבות תוחמות המבוססות על ההנחיה לצורך קומפוזיציה ושינויים מקומיים, עיגון במידע מהרשת ומתמונות, וחמש דרגות רזולוציה.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
FLUX 3 Image הוא מודל ליצירת תמונות ולעריכתן של Black Forest Labs, עם שליטה מפורשת בקומפוזיציה. תיאור טקסטואלי יכול ליצור סצנה חדשה; תמונות שסופקו יכולות להגדיר נושא, סצנה לתיקון או כמה רכיבים לשילוב. תיבות תוחמות מאפשרות לבריף להגדיר היכן כל רכיב שייך ואילו חלקים בתמונה קיימת צריכים להשתנות. התוצאה היא תמונה, שבה יש לבדוק את הסצנה, הטקסט והפריסה שהתבקשו.
צרו סצנה או תנו הוראת עריכה
לתמונה חדשה, תארו את הנושא, הפעולה או התנוחה, הסביבה, התאורה והמסגור. שימו ניסוח מדויק שיופיע בתמונה במירכאות וציינו היכן הוא מופיע. בריף מוצר מקורי יכול להציג ספל קמפינג אדום על משטח אבן בהיר, עם כותרת גדולה מעליו ואור בוקר רך שחושף את הידית. הגדירו את הקשר בין הכותרת, המוצר והרקע במקום להציע מילות סגנון שאינן קשורות.
לעריכה, זהו את העצם המסוים ואת השינוי: צבעו מחדש את הספל, החליפו תווית, הזיזו דמות או שנו את סגנון הסצנה. עריכה בודדת אינה מחייבת תיבה שצוירה ידנית. תהליך העבודה המתועד מרחיב את ההוראה לפני היצירה ויכול לאתר את הרכיב ששמו צוין ולהוסיף תיבה אוטומטית. ההנחיה המורחבת שמוחזרת מתעדת את הפרשנות הזו, דבר שמועיל כאשר הוראה בוחרת בעצם הלא נכון או מוסיפה פרט לא רצוי.
שלבו והכינו תמונות ייחוס
פרופיל היצרן המדויק מקבל אחד עד עשרה ייחוסים, המסופקים ככתובות URL של תמונות או כנתוני תמונה מקודדים. כל אחד חייב להיות בגודל של לפחות 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
- לא צוין כאשר נבחר מצב 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