Black Forest Labs: FLUX.3 Image
FLUX 3 Image สร้างและแก้ภาพจากบรีฟเขียนกับอ้างอิงสูงสุดสิบภาพ เพิ่มกรอบ bounding box ในพรอมป์ต์สำหรับจัดองค์ประกอบและแก้เฉพาะที่ การอ้างข้อมูลเว็บและภาพ และระดับความละเอียดห้าระดับ
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
FLUX 3 Image เป็นโมเดลสร้างและแก้ภาพของ Black Forest Labs ที่ควบคุมองค์ประกอบอย่างชัดเจน คำบรรยายสร้างฉากใหม่ ส่วนภาพที่ส่งกำหนดตัวแบบ ฉากที่ปรับ หรือหลายองค์ประกอบที่จะรวม Bounding boxes ให้บรีฟบอกว่าแต่ละส่วนอยู่ไหนและบริเวณใดของภาพเดิมควรเปลี่ยน ผลคือภาพที่ต้องตรวจฉาก ข้อความ และเลย์เอาต์ตามขอ
สร้างฉากหรือสั่งแก้
ภาพใหม่ให้ตัวแบบ การกระทำหรือท่า สถานที่ แสง และกรอบ ใส่ถ้อยคำในภาพตรงในเครื่องหมายคำพูดพร้อมตำแหน่ง เช่น แก้วแคมป์สีแดงบนพื้นผิวหินสีอ่อน หัวเรื่องใหญ่ด้านบน แสงเช้านุ่มเผยหูแก้ว กำหนดความสัมพันธ์หัวเรื่อง สินค้า และพื้นหลัง แทนศัพท์สไตล์ไม่เกี่ยวกัน
งานแก้ระบุวัตถุเฉพาะและการเปลี่ยน เช่น เปลี่ยนสีแก้ว แทนฉลาก ย้ายบุคคล หรือปรับสไตล์ การแก้เดียวไม่ต้องวาดกล่องเอง โฟลว์ขยายคำสั่งก่อนสร้างและระบุตำแหน่งองค์ประกอบที่เรียกพร้อมเพิ่มกล่องอัตโนมัติได้ expanded prompt ที่คืนบันทึกการตีความ มีประโยชน์เมื่อเลือกวัตถุผิดหรือเพิ่มรายละเอียดไม่ต้องการ
รวมและเตรียมภาพอ้างอิง
โปรไฟล์ตรงรับหนึ่งถึงสิบภาพอ้างอิง ผ่าน URL ภาพหรือข้อมูลเข้ารหัส แต่ละภาพอย่างน้อย 256×256 พิกเซล และไม่เกิน 16 เมกะพิกเซล เรียกตามตำแหน่งหรือเนื้อหาที่เห็นแล้วบอกบทบาท เช่น คนจาก Image 1 เสื้อแจ็กเก็ตจาก Image 2 ห้องจาก Image 3 ภาพอ้างอิงให้ข้อมูลภาพ ไม่ใช่คำสั่งคัดลอกทุกส่วนที่ไม่เกี่ยว
ค่าอัตราส่วนเริ่มต้น auto ในข้อกำหนดคำขอ อัตราส่วนที่ขอในพรอมป์ต์มีลำดับก่อน มิฉะนั้นภาพอ้างอิงแรกกำหนดกรอบ และใช้ภาพสี่เหลี่ยมจัตุรัสหากไม่มีทั้งภาพอ้างอิงและรูปทรงที่ขอ งานคอมโพสิตให้ภาพฉากเป้าหมายก่อนหรือเลือกสัดส่วนชัด เก็บภาพต้นทางและลำดับร่วมผลเพื่อแก้ต่อจากจุดเริ่มเดียวกัน
วางองค์ประกอบด้วย bounding boxes
พรอมป์ต์เลย์เอาต์รวมคำบรรยายกับอาร์เรย์ 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 พิกเซลมักไม่ปรากฏ ให้พื้นที่เห็นเพียงพอและตรวจขอบแก้ พิกเซลนอกเป้าหมายมักนิ่ง แต่เงา แสงสะท้อน และแสงใกล้ยังเปลี่ยนได้
Grounding ระดับเอาต์พุต และบันทึกที่ใช้ได้
โปรไฟล์เปิด grounding โดยปริยาย ให้การค้นเว็บและภาพช่วยกำกับสร้าง ปิดได้เมื่อบรีฟควรใช้เฉพาะคำอธิบายและอ้างอิงที่ส่ง สำหรับสิ่งโลกจริง ระบุสถานที่ เหตุการณ์ หรือวัตถุชัด แล้วแยกข้อเท็จจริงจากแนวศิลป์ ภาพจากค้นยังต้องเทียบแหล่งน่าเชื่อเมื่อฉลาก วัตถุ หรือเหตุการณ์ต้องแม่น
ระดับความละเอียดห้าระดับคือ 768sq, 1k, 1.5k, 2k และ 4k ค่าเริ่มต้น 1k เป็นระดับพื้นที่พิกเซลเท่ากัน จึงได้ความกว้างสูงตามสัดส่วนที่เลือก มีอัตราส่วนคงที่สิบห้าแบบตั้งแต่ 21:9 ผ่านรูปแบบสี่เหลี่ยมจัตุรัสและแนวตั้งถึง 9:21 โปรไฟล์คุมขนาดผ่านอัตราส่วนกับความละเอียด ไม่เปิดฟิลด์ seed, width หรือ height แบบคำขอ FLUX.2 ตัวเลือกรุ่นปัจจุบันระบุรุ่นที่อัปเดตต่อเนื่อง ไม่ได้พิสูจน์น้ำหนักผู้ส่งมอบตรงวันที่ใด
โฟลว์คืนภาพหลังประมวลผลอะซิงโครนัสพร้อม expanded prompt ลิงก์ดาวน์โหลดลงนามใช้ได้หนึ่งชั่วโมง เก็บภาพจริง พรอมป์ต์สุดท้าย และสื่ออ้างอิง แทนพึ่งลิงก์ชั่วคราว งานตรวจแล้วให้เทียบข้อความ ตำแหน่งวัตถุ อัตลักษณ์อ้างอิง และบริเวณเปลี่ยนตามขนาดแสดง การสร้างเสร็จเป็นจุดเริ่มตรวจข้อกำหนดภาพเหล่านี้
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 สร้างและแก้ภาพจากบรีฟเขียนกับอ้างอิงสูงสุดสิบภาพ เพิ่มกรอบ bounding box ในพรอมป์ต์สำหรับจัดองค์ประกอบและแก้เฉพาะที่ การอ้างข้อมูลเว็บและภาพ และระดับความละเอียดห้าระดับ
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- รูปภาพ
ใช้งานได้ใน 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 ของงานจาก ID การดำเนินการ และห้ามส่งคำขอสร้างซ้ำเด็ดขาด
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์created | ประเภท |
ฟิลด์data[].url | ประเภท |
ฟิลด์data[].b64_json | ประเภท |
ฟิลด์usage | ประเภท |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra black-forest-labs/flux-3-image
ชื่อพาธเมธอดอื่น
/v1/images
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
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