Black Forest Labs: FLUX.2 Klein 4B
FLUX.2 [klein] 4B เป็นโมเดลภาพขนาดกะทัดรัดแบบ step-distilled ของ Black Forest Labs สำหรับสร้างจากข้อความและแก้ด้วยอ้างอิงสูงสุดสี่ภาพ การออกแบบสี่ขั้นรองรับงานภาพแบบโต้ตอบ โดยแยกจากรุ่น Base 4B ที่ไม่ผ่านการกลั่น
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
FLUX.2 [klein] 4B เป็นโมเดลกะทัดรัดของ Black Forest Labs สำหรับสร้างภาพจากข้อความและแก้ด้วยภาพอ้างอิง rectified-flow transformer สี่พันล้านพารามิเตอร์รวมการสร้างและแก้ในสถาปัตยกรรมเดียว รุ่นชื่อ 4B ผ่าน step distillation และตัวอย่างอ้างอิงผู้ผลิตใช้ inference สี่ขั้น
บทบาทคือดราฟต์ภาพหรือการแก้แบบโต้ตอบ: สำรวจฉากสินค้า เปลี่ยนเสื้อผ้าตัวละคร รวมตัวแบบกับสถานที่ หรือปรับภาพประกอบ เริ่มเหตุการณ์หรือองค์ประกอบสำคัญ แล้วบอกตัวแบบ วัสดุ แสง และมุม เช่น ถ้วยเซรามิกสีน้ำเงินผิวด้านวางบนโต๊ะไม้โอ๊กสีอ่อน ภาพระยะใกล้ที่ใช้แสงด้านข้างและยังเห็นหูถ้วยกับผิวเคลือบ ผลคือภาพให้ตรวจเทียบการตัดสินใจเหล่านี้
แก้ด้วยชุดอ้างอิงเล็ก
โปรไฟล์ 4B รับภาพอินพุตสูงสุดสี่ภาพ กำหนดบทบาทชัด เช่น รูปลักษณ์สินค้า ตัวละคร สถานที่ หรือสไตล์ หากภาพหนึ่งคือฉากที่จะแก้ ให้ระบุทั้งการเปลี่ยนและรายละเอียดคงเดิม เช่น คงเงาร่างกับผิวถ้วยจากภาพแรก ใช้ห้องจากภาพสอง เปลี่ยนเฉพาะผ้าคลุมโต๊ะ ลำดับอ้างอิงกับคำสั่งเฉพาะให้เป้าชัดกว่าขอปรับปรุงทั่วไป
ผู้ผลิตแยกขีดจำกัดอ้างอิงนี้จาก FLUX.2 รุ่นใหญ่ และระบุว่า [klein] ไม่มี prompt upsampling ต้องให้ข้อมูลบรรยายสำคัญเอง รวมความสัมพันธ์วัตถุอ้างอิง แทนพึ่งขยายป้ายสั้นอัตโนมัติ สำหรับชุดภาพ คงตัวแบบอ้างอิงและข้อกำหนดภาพ แล้วเปลี่ยนการตัดสินใจฉากทีละอย่าง
ค่าเอาต์พุตและขอบเขตรุ่น
โปรไฟล์ 4B ตรงตัวระบุ JPEG, PNG และ WebP โดยเริ่มต้น JPEG ความกว้างสูงกำหนดเองมีขั้นต่ำด้านละ 64 พิกเซล ตัวอย่าง model card ใช้ภาพ 1024×1024 เป็นการตั้งค่า sampling ไม่ได้หมายความว่าทุกงานต้องเป็นภาพสี่เหลี่ยมจัตุรัสหรือ 1024 พิกเซลเป็นขนาดสูงสุด เลือกครอปกับรูปทรงแสดงก่อนบรีฟ แล้วตรวจตัวอักษรละเอียดกับส่วนเล็กตามขนาดนั้น
ตัวอย่างสี่ขั้นเผยแพร่ใช้ guidance_scale 1.0 แยกรุ่นกลั่นนี้จาก FLUX.2 [klein] Base 4B ที่สัญญาณฝึกไม่กลั่นมุ่งปรับโมเดล ฝึก LoRA และวิจัย Base 4B กับรุ่น 9B เป็นตัวเลือกต่างกัน มีการเตรียมและ sampling ต่างกัน ตัวควบคุมมาตรฐานรุ่นเล็กต่างจาก [flex] ที่ปรับขั้นกับ guidance และ [max] มี grounding-search ของตน
รายละเอียดที่ต้องตรวจในภาพ
model card ตรงตัวระบุว่าโมเดลนี้ไม่ใช่แหล่งข้อมูลข้อเท็จจริง ข้อความในภาพอาจผิดหรือบิด และฉากอาจไม่ตรงคำขอ สไตล์พรอมป์ต์มีผลมากต่อการทำตาม ตรวจสะกด ปริมาณ ฉลาก อัตลักษณ์ตัวแบบ และวัตถุเฉพาะที่ต้องคง ภาพสวยไม่พิสูจน์ว่าคุณสมบัติสินค้าหรือข้อเท็จจริงที่วาดถูก ผู้ผลิตยังระบุผลเชิงสถิติอาจสะท้อนอคติข้อมูลฝึก
สำหรับไฟล์ที่ตรวจแล้ว เก็บภาพต้นทาง ถ้อยคำสุดท้าย และอัตลักษณ์โมเดลร่วมภาพ เอกสารรุ่นแยกลายน้ำระดับพิกเซลในโค้ดตัวอย่างจาก metadata แหล่งกำเนิด C2PA ที่ใช้ในโฟลว์เอาต์พุตโฮสต์ผู้ผลิต การเก็บข้อมูลที่คืนช่วยอธิบายต้นกำเนิด แยกจากตรวจว่าการแก้ภาพที่ขอสำเร็จหรือไม่
Ailoot Ultra · รูปภาพ POST /v1/images/generations black-forest-labs/flux.2-klein-4b
black-forest-labs/flux.2-klein-4b
black-forest-labs/flux.2-klein-4bเริ่มต้น
FLUX.2 [klein] 4B เป็นโมเดลภาพขนาดกะทัดรัดแบบ step-distilled ของ Black Forest Labs สำหรับสร้างจากข้อความและแก้ด้วยอ้างอิงสูงสุดสี่ภาพ การออกแบบสี่ขั้นรองรับงานภาพแบบโต้ตอบ โดยแยกจากรุ่น Base 4B ที่ไม่ผ่านการกลั่น
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- รูปภาพ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · รูปภาพ POST /v1/images/generations
- ขาเข้า
text,image- ขาออก
image
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด black-forest-labs/flux.2-klein-4b | ค่าเริ่มต้น— |
ฟิลด์prompt | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์aspect_ratio | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | ค่าเริ่มต้น— |
ฟิลด์output_format | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด png, jpeg | ค่าเริ่มต้น— |
ฟิลด์n | ประเภทinteger | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด ขั้นต่ำ: 1 สูงสุด: 1 | ค่าเริ่มต้น— |
ฟิลด์input_references | ประเภทarray | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 0 จำนวนรายการสูงสุด: 4 | ค่าเริ่มต้น— |
ฟิลด์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.028 ต่อเมกะพิกเซลของภาพเอาต์พุต |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | หน่วยคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.028 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
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.2-klein-4b', '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.2-klein-4b
ชื่อพาธเมธอดอื่น
/v1/images
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Black Forest Labs: FLUX.2 Klein 4B
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-klein-4b:text,image→image- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-klein-4b:model,prompt,aspect_ratio,output_format,n,input_references,provider- มีข้อจำกัดใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-klein-4b:n.minimum:1;n.maximum:1