Black Forest Labs: FLUX.2 Pro
FLUX.2 [pro] เป็นโมเดลภาพสำหรับงานผลิตของ Black Forest Labs สร้างจากข้อความและแก้ตามภาพอ้างอิง โปรไฟล์ที่ระบุรวมรายละเอียดเหมือนภาพถ่าย การควบคุมข้อความและสี พร้อมงบพิกเซลอ้างอิง/เอาต์พุต และภาพสูงสุด 4 เมกะพิกเซล
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
FLUX.2 [pro] เป็นโมเดลสร้างและแก้ภาพที่เน้นงานผลิตของ Black Forest Labs ผู้ผลิตเสนอเป็นตัวเลือกเริ่มต้นสำหรับงานภาพ FLUX.2 ส่วนใหญ่: สร้างภาพใหม่จากข้อความหรือปรับฉากด้วยภาพอ้างอิง ความสามารถตระกูลรวมวัสดุกับแสงเหมือนภาพถ่าย ข้อความอ่านได้ คำสั่งสีตรง และตัวแบบสม่ำเสมอระหว่างงานแก้ที่เกี่ยวข้อง ผลคือภาพสำหรับฉากสินค้า องค์ประกอบบรรณาธิการ แนวคิดออกแบบ หรือสื่อสารด้วยภาพ
เตรียมบรีฟผลิตงาน
เริ่มตัวแบบ สิ่งที่ทำหรือการจัดวาง สไตล์ และสถานที่หรือแสง คู่มือพรอมป์ต์ให้ความสำคัญกับคำต้นและแนะนำวางตัวแบบหลักกับการกระทำก่อนรายละเอียดตกแต่ง แนะนำ 10–30 คำสำหรับแนวคิดเร็ว และ 30–80 สำหรับงานปกติ โดยบรรยายยาวขึ้นสำหรับฉากซับซ้อน ช่วงนี้เป็นแนวเขียน ไม่ใช่ขีดจำกัดบริบทข้อความ
ตัวอย่างบรีฟแค็ตตาล็อกให้โคมไฟเหล็กผิวขัดลายบนโต๊ะสีเทาโทนอุ่น มุมสามในสี่ที่เห็นสวิตช์กับโป๊ะ ระบุพื้นผิว แสง และมุมที่ทำให้สินค้าจำได้ งานอินโฟกราฟิกหรือการตลาดให้กำหนดถ้อยคำกับลำดับชั้นก่อน ใส่ชื่อเรื่องตรงในเครื่องหมายคำพูด ระบุตำแหน่ง สไตล์ และขนาดอักษร ตรวจฉลาก ปริมาณ และรายละเอียดสินค้าตามขนาดแสดงสุดท้าย
คู่มือตระกูลมีพรอมป์ต์ภาษาธรรมชาติและโครงสร้าง JSON บรีฟฉากแบบมีโครงแยกตัวแบบ พื้นหลัง แสง และองค์ประกอบในฟิลด์ เพื่อแก้ข้อกำหนดหนึ่งให้ชัด รองรับสี hex โดยผูกรหัสกับวัตถุหรือข้อความเฉพาะ บรรยายรูปลักษณ์ที่ต้องการเชิงบวก เพราะโฟลว์พรอมป์ต์ FLUX.2 ที่ระบุไม่มี negative prompts
แก้ด้วยสื่ออ้างอิงและงบพิกเซลร่วม
โปรไฟล์คำขอ [pro] ตรงตัวมีตำแหน่งภาพอ้างอิงแปดตำแหน่ง ส่วนอินเทอร์เฟซโต้ตอบผู้ผลิตรองรับสิบภาพแยก กำหนดบทบาทแต่ละภาพ เช่น รูปลักษณ์ตัวแบบ เสื้อผ้า แบบสินค้า ห้อง หรือสไตล์ หากฉากเดิม ให้บอกองค์ประกอบที่จะเปลี่ยนและองค์ประกอบ สภาพรอบข้าง กับรายละเอียดที่จะรักษา ตัวอย่างเผยแพร่รวมประกอบเฟอร์นิเจอร์ เปลี่ยนพื้นหลังหรืออากาศ แทนวัตถุ และแก้ข้อความ
จำนวนอ้างอิงขึ้นกับขนาดเอาต์พุตด้วย คู่มือ [pro] ระบุอินพุตกับเอาต์พุตรวม 9 เมกะพิกเซล ตัวอย่างให้แปดภาพอ้างอิงเมื่อเอาต์พุต 1 เมกะพิกเซล และเจ็ดเมื่อเอาต์พุต 2 เมกะพิกเซล โดยลดจำนวนเมื่อผลใหญ่ขึ้น วางชุดต้นทางกับเอาต์พุตร่วมกัน แทนถือว่าจำนวนช่องสูงสุดใช้ได้ทุกขนาด ใช้แหล่งที่ให้ข้อมูลจำเป็นและระบุสิ่งที่จะนำมาใช้
งานคอมโพสิตสินค้าอาจใช้ภาพแรกให้สินค้า ภาพสองให้ห้อง และภาพสามให้ผิววัสดุ อธิบายการรวมเป็นฉากเดียว หากผลเปลี่ยนรูปทรง เครื่องหมาย หรืออัตลักษณ์ที่ต้องคง ให้แก้ปัญหานั้นต่อ แทนเปลี่ยนบรีฟทั้งหมด ผลใช้งานคือภาพแก้ที่เทียบความตรงอ้างอิงและการเปลี่ยนเฉพาะกับอินพุตแล้ว
ขยายพรอมป์ต์และโปรไฟล์คงที่กับ Preview
ข้อกำหนด [pro] เปิด prompt upsampling โดยปริยาย ตัวควบคุม disable_pup หยุดขยายเมื่อควรใช้คำสั่งละเอียดตามที่เขียน เก็บค่าที่เลือกเมื่อเทียบเวอร์ชัน เพราะแนวคิดสั้นกับคำอธิบายขยายเป็นอินพุตต่างกัน นี่เป็นตัวควบคุมโปรไฟล์ผู้ผลิต ไม่รับประกันทุกรายละเอียดถูกต้อง
เอกสารแยก endpoint [pro] ปกติเป็น snapshot คงที่ จาก [pro] Preview ที่นำการปรับปรุงโมเดลภายหลังเข้ามา โครงคำขอและคำตอบเหมือนกัน แต่น้ำหนักโมเดลต่าง เก็บโปรไฟล์ตรงที่เลือกกับภาพและแหล่งอ้างอิง ไม่ใช้ Preview แทน [pro] ปกติโดยไม่ระบุเมื่องานแก้ต้องอาศัยโมเดลเดิม
ขนาด รูปแบบ และไฟล์ที่เลือก
คู่มือตระกูลระบุเอาต์พุตสูงสุด 4 เมกะพิกเซล ขนาดกำหนดอย่างน้อย 64×64 และเป็นพหุคูณ 16 แนะนำไม่เกิน 2 เมกะพิกเซลสำหรับงานส่วนใหญ่ ความกว้างสูงกำหนดกรอบ ภาพสินค้าสี่เหลี่ยมจัตุรัส เลย์เอาต์แนวตั้ง และฉากบรรณาธิการกว้างจัดพื้นที่ต่างกัน คำขอตรงระบุ JPEG, PNG และ WebP โดยเริ่มต้น JPEG พร้อม seed เสริม
[max] มี grounding-search แยก [flex] เปิดขั้น sampling กับ guidance และ [klein] มีโปรไฟล์เล็กอ้างอิงสี่ภาพ เลือกรุ่นตามงาน ไม่ดึงตัวควบคุมเหล่านั้นมา [pro] เก็บภาพจริง พรอมป์ต์สุดท้าย ภาพอ้างอิง ขนาด และชื่อโมเดล ลิงก์ผล FLUX.2 ลงนามหมดอายุหลังสิบนาที จึงดึงภาพจริงแทนพึ่งตำแหน่งชั่วคราว ตรวจอัตลักษณ์ สี ข้อความ องค์ประกอบ และส่วนแก้ก่อนใส่สื่อที่ลูกค้าเห็น
Ailoot Ultra · รูปภาพ POST /v1/images/generations black-forest-labs/flux.2-pro
black-forest-labs/flux.2-proเริ่มต้น
FLUX.2 [pro] เป็นโมเดลภาพสำหรับงานผลิตของ Black Forest Labs สร้างจากข้อความและแก้ตามภาพอ้างอิง โปรไฟล์ที่ระบุรวมรายละเอียดเหมือนภาพถ่าย การควบคุมข้อความและสี พร้อมงบพิกเซลอ้างอิง/เอาต์พุต และภาพสูงสุด 4 เมกะพิกเซล
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- รูปภาพ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · รูปภาพ POST /v1/images/generations
- ขาเข้า
text,image- ขาออก
image
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด black-forest-labs/flux.2-pro | ค่าเริ่มต้น— |
ฟิลด์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 จำนวนรายการสูงสุด: 8 | ค่าเริ่มต้น— |
ฟิลด์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.06 ต่อเมกะพิกเซลของภาพเอาต์พุต |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | หน่วยคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.06 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
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-pro', '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-pro
ชื่อพาธเมธอดอื่น
/v1/images
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Black Forest Labs: FLUX.2 Pro
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-pro:text,image→image- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-pro:model,prompt,aspect_ratio,output_format,n,input_references,provider- มีข้อจำกัดใดบ้าง?
POST /v1/images/generations·black-forest-labs/flux.2-pro:n.minimum:1;n.maximum:1