FLUX 3 Image 已透過 Black Forest Labs 自有的 Replicate 模型與合作夥伴端點提供服務,支援 4K 輸出,以及最多 10 張參考圖的編輯。不過,BFL 目前的原生文件仍以 FLUX 3 Video 為主,各家影像服務商在 API schema、輸入限制和計費方式上都有差異。
FLUX 3 Image API 真的已經可以用了嗎?
可以,但「官方」這個說法必須先定義清楚。目前最有力的證據,是 Replicate 上由 Black Forest Labs 擁有的 black-forest-labs/flux-3-image 線上模型頁面。它接受生成請求,提供圖片時會切換到編輯模式,解析度欄位也明確包含 4k。
| 截至 October 2, 2026 查核的服務 | 目前可用內容 | 能證明什麼 |
|---|---|---|
| Replicate 上的 BFL | black-forest-labs/flux-3-image | BFL 擁有的模型;支援文字生成、編輯、4K,以及最多 10 張參考圖 |
| fal 合作夥伴端點 | blackforestlabs/flux-3/edit-image | 商用編輯端點,支援 1–10 張參考圖、佇列式 API,以及按解析度計費 |
| Layer API 文件 | bfl-flux-3-image | 透過非同步工作區 API 提供 1K、2K、4K 生成與編輯 |
| BFL 原生 API 文件 | 文件列出 FLUX 3 Video | 查核當下未列出對應的原生 FLUX 3 Image 路由 |
flux3api.com 與社群 wrapper | 獨立的第三方服務 | 名稱相似不代表由 BFL 擁有,也不能證明目前提供 FLUX 3 Image 存取權 |
BFL 的 FLUX 3 說明文章只介紹影片模型;至於圖片編輯,則是由另一個 BFL 擁有的 Replicate 模型頁面與合作夥伴端點提供佐證。
在這個端點正式出現之前,Reddit 使用者 u/rerri 曾預測它會採取 API 優先的發布方式:
「如果 API-only 的 Flux 3 Image 先推出,我一點也不會意外。」——u/rerri on r/StableDiffusion
目前的發布方式確實符合這個預測,但能使用 API,不代表開放權重也已經提供。
4K 與多參考圖編輯,實際上代表什麼?
FLUX 3 Image 提供 4k 輸出選項,也接受最多 10 張參考圖片。不過,這兩項能力都不代表結果一定能保留每個人物身分、產品細節或細小文字;服務商頁面目前提供的是控制項與範例,並沒有獨立的品質評分。
由 BFL 擁有的 Replicate README 列出 768sq、1k、1.5k、2k 與 4k。參考檔案可使用 JPEG、PNG、GIF 或 WebP,至少必須是 256 x 256 像素,且不得超過 16 megapixels。當 aspect_ratio: auto 時,第一張參考圖會決定編輯結果的長寬比。
fal 的編輯 schema大致相近,但並不完全相同。它接受 1–10 個 URL 或 data URI,每張輸入圖片上限為 4 megapixels,支援從 512sq 到 4k 的解析度,並提醒 4K 可能需要數分鐘。參考圖的順序具有語意:image_urls 中的第一個項目就是「image 1」。
| 控制項 | Replicate | fal | 對正式環境的影響 |
|---|---|---|---|
| 最多參考圖數 | 10 | 10 | 在提示詞中明確標示各輸入的編號 |
| 最大輸入尺寸 | 16 MP | 每張圖片 4 MP | 送往服務商前先完成驗證 |
| 輸出選項 | 768sq、1K、1.5K、2K、4K | 512sq、768sq、1K、2K、4K | 不要在未驗證的情況下共用同一組 enum |
| 自動長寬比 | 由第一張參考圖引導 | 由第一張參考圖引導 | 將負責構圖的參考圖放在第一位 |
| 輸出格式 | WebP、JPG、PNG | JPEG、PNG | 下游檔案處理需要統一格式 |
| 4K 延遲揭露 | 未公布實測延遲 | 可能需要數分鐘 | 不要把 4K 放進互動式預覽流程 |
處理多參考圖編輯時,最好為每個輸入指定單一角色,例如基礎構圖、主體身分、產品或風格。fal 自己的建議是每次請求只做一項編輯。像「以 image 1 為基礎,只把其中的瓶子替換成 image 2 的產品;保留攝影角度、手部、光線和背景」這類提示,比起同時要求更換服裝、字體和場景,更容易檢查結果。
一套實用的佇列式 API 工作流程
正式環境中的 FLUX 3 Image API 工作流程,應該把生成視為非同步工作。應用程式先上傳穩定的輸入 URL,送出範圍明確的請求,保存服務商回傳的 request ID,以退避策略輪詢狀態,最後再把完成的輸出複製到自己的儲存空間。
以下範例使用 fal 文件中的端點識別碼與請求欄位。這是一份整合範本,不代表本次檢視期間真的執行過下方請求。
import os
import time
import requests
ENDPOINT = "https://queue.fal.run/blackforestlabs/flux-3/edit-image"
headers = {
"Authorization": f"Key {os.environ['FAL_KEY']}",
"Content-Type": "application/json",
}
payload = {
"prompt": (
"Use image 1 as the base. Replace only its package with the product "
"from image 2. Preserve the hands, camera angle, shadows, and background."
),
"image_urls": [
"https://cdn.example.com/base.jpg",
"https://cdn.example.com/product.png",
],
"resolution": "1k",
"aspect_ratio": "auto",
"output_format": "png",
"safety_tolerance": 2,
}
submitted = requests.post(ENDPOINT, headers=headers, json=payload, timeout=30)
submitted.raise_for_status()
job = submitted.json()
status_url = job["status_url"]
response_url = job["response_url"]
while True:
status = requests.get(status_url, headers=headers, timeout=30)
status.raise_for_status()
state = status.json().get("status")
if state == "COMPLETED":
break
if state in {"FAILED", "CANCELLED"}:
raise RuntimeError(status.text)
time.sleep(2)
result = requests.get(response_url, headers=headers, timeout=30)
result.raise_for_status()
print(result.json())
模型頁面連結的 fal 佇列文件也提供 sync_mode,但對 4K 來說,佇列執行是更安全的預設值,因為渲染時間可能超過一般 HTTP 請求的逾時期限。Layer 則把這套非同步契約寫得更明確:提交後會回傳 HTTP 202、一組 inference_id,以及建議的輪詢間隔。Layer 也支援可在 24 小時內重播的 idempotency key,網路重試時能降低重複計費的風險。
正式開放流量前,至少要完成以下準備:
- 拒絕任一邊低於 256 像素的圖片,並套用所選服務商的 megapixel 上限。
- 保留陣列順序,並在提示詞中使用
image 1、image 2等編號。 - 服務商支援時使用唯一的 idempotency key;否則,重試前先保存請求。
- 設定輪詢上限,讓應用程式回傳處理中狀態,不要一直佔住前端請求。
- 將完成的檔案複製到受控儲存空間,因為託管結果 URL 的保存期限可能不符合應用程式的政策。
- 每個工作都記錄模型 ID、服務商、解析度、參考圖數量、報價、耗時與審核結果。
成本與品質:別把 4K 當成免費升級
目前能做出的成本比較仍有限,因為查核頁面上的服務商並未公布完整的逐解析度價格表。fal 宣布的促銷價是每張 1K 圖片 $0.024,促銷結束後升至 $0.048;同時也表示參考圖數量不會改變收費。該模型頁面沒有列出確切的 2K 和 4K 價格,因此不能從 1K 價格推算 4K 預算。
與其預設 4K 永遠是最佳選擇,不如採用兩階段策略:
| 階段 | 解析度 | 用途 | 升級規則 |
|---|---|---|---|
| 提示詞與參考圖驗證 | 1K | 檢查構圖、身分、產品形狀與文字 | 在進入高成本輸出前拒絕或修改 |
| 最終素材 | 2K 或 4K | 產出核准後的交付檔案 | 只有在目標渠道確實需要這些像素時才升級 |
更高解析度帶來的是更多像素,不是更高的編輯忠實度:品質不佳的 1K 編輯,到了 4K 只會變成更大的失敗。4K 應保留給已核准、準備用於印刷、看板版面或大幅裁切的編輯結果。
應用程式啟動時,可以送出一個最小且有效的測試工作,或查詢服務商的價格介面,記錄回傳報價;如果沒有報價,或超出該工作的預算,就停用 4K。Layer 的初始回應可能包含 estimated_price_creative_units,但其公開模型頁面沒有提供 Creative Units 對應美元的換算方式。Replicate 的模型頁面記載了輸入欄位,卻沒有固定價格。這些都是上線前要在帳戶後台確認的採購缺口,不是應該寫進程式裡自行猜測的數字。
根據實際營運需求選擇端點
服務商的選擇,應該取決於應用程式真正需要的契約。模型由誰擁有,並不代表不同服務商的 schema 可以直接互換。
- Replicate:如果最重視來源可信度,而且現有技術堆疊已經採用 Replicate 的 prediction 工作流程,可以選擇 BFL 擁有的模型頁面。它在這裡提供最高的輸入上限,達到 16 MP,也包含可選的網頁/圖片 grounding。
- fal:如果你更需要清楚的圖片編輯控制項、佇列式工作流程,以及可查到的 1K 價格,可以選擇合作夥伴編輯端點。但它每張圖片 4 MP 的輸入上限,代表你需要更早進行縮圖。
- Layer:如果你需要工作區管理、正式的 HTTP
202契約、輪詢提示與 24 小時 idempotency,可以選擇 Layer。不過,在設定預算前,務必先確認 Creative Units 如何換算成美元。
不要只因為服務的網域或 repository 名稱中出現「FLUX3」,就認定它是哪一家服務商。請核對模型 ID、擁有者或合作夥伴標示、目前有效的 enum 值、商用條款,以及一次低成本且成功的請求。查核時,排名靠前的 Anil-matcha/Flux-3-Dev-API wrapper 仍將圖片路由標示為「coming soon」;相較之下,BFL 擁有的 Replicate 路由與 fal 合作夥伴路由已經上線。
正式上線前的驗收門檻
FLUX 3 Image 已適合用於受控的 API 測試,包括 4K 和最多 10 張參考圖。不過,正式上線前,仍應讓選定的端點以 1K 和最終解析度跑過同一組具代表性的編輯案例。
| 檢查項目 | 通過條件 |
|---|---|
| 來源可信度 | 確認是 BFL 擁有,或已驗證的合作夥伴模型 ID |
| 可用性 | 真實的低成本請求能完成,而不只是文件中存在路由 |
| 參考圖行為 | 在代表性的 2、5、10 張圖片案例中,輸入順序與角色標籤都能正確保留 |
| 品質 | 身分、產品幾何、文字與未要求修改的區域,都達到既定審查門檻 |
| 成本 | 服務商針對每個啟用的解析度,都能回傳或顯示可接受的價格 |
| 延遲 | 實測佇列與渲染時間符合預覽和批次服務目標 |
| 可靠性 | 重試不會產生未追蹤的重複工作或重複計費 |
| 儲存 | 在服務商 URL 過期或政策變更前,先複製輸出檔案 |
實務上,建議先從 1K 編輯開始,記錄報價與延遲資料,再只為已核准的最終素材開啟 2K 或 4K。如此一來,既能使用這個新模型目前已明確展示的能力,也不必對高解析度品質或成本做未經驗證的假設。