Black Forest Labs: FLUX Video Upscale
FLUX Video Upscale 透過忠於來源或創意式的細節增強,放大既有片段。文件規格提供 1.5 至 3 倍放大,保留來源音訊與取景,並限制來源片長、輸入解析度及輸出畫面面積。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
FLUX Video Upscale 是 Black Forest Labs 採用 FLUX 3 的影片超解析度工作流程。它接收既有片段並傳回放大的 MP4,將來源取景與音訊帶入結果。選用的簡短描述可引導增強的視覺細節。兩種模式提供有意義的選擇:貼近輸入外觀,或更積極生成細節,而非將每個放大畫面都視為同樣忠實的重建。
選擇精確或創意增強
creativity 設定選擇模式。值 0 是精確、忠於來源的規格;製造商建議在臉部、產品或品牌素材必須維持身分時使用。值 1 啟用創意細節增強,也是預設值。它可更積極復原或創作紋理,適合生成影片、風景、人群,或可創意發展細節的表面。
製造商明確提醒,創意增強不會同樣嚴格地保留臉部與產品。請檢查必須維持可辨識的特徵:臉部外觀、產品輪廓、文字、材質圖案或標誌。看起來更銳利的影像,仍可能包含變更或新創造的細節。產品示範應以預定產品外觀為檢查標準,而非只因紋理更精細就選某個版本。
選用提示描述片段內容以引導增強;空白描述則要求中性放大。原本的生成場景需求可指出覆苔石牆、柔和日光及細緻葉片紋理。措辭應圍繞要精修的素材。替換物體、重建場景或改變對話屬於編輯決策,而此規格保留來源音軌。
倍率與輸出畫面面積
文件記載的 upscale_factor 範圍為 1.5 至 3,預設為 2。它維持長寬比並放大來源解析度。所選倍率及輸入尺寸決定預定輸出,因此橫向片段與直向構圖都應從實際畫面規劃。選擇有用的放大量之前,請先準備目標顯示尺寸。
確切規格將每個輸出畫面限制為製造商定義的 13.75 個 megapixel 單位。文件定義每個單位是 1,048,576 像素,因此上限為 14,417,920 像素,約 1,440 萬。這解釋了指南四捨五入後的 14.4 megapixel 說法。因此較大來源可能得到低於要求倍率的放大。請檢查實際交付尺寸,而非假設 3 倍請求總會讓來源每邊都變成三倍。
公布的來源解析度上限是 2560×1440。此工作流程將符合條件的來源放大至 4K 或更高;不會僅因希望較高輸出,就接受已經更大的來源。使用文件所述規格前,請先縮小或準備適當工作副本。原始錄影應另行保留,讓最終比較不只限於調整過尺寸的中間素材。
準備短而清晰的來源
製造商一般準備指南將來源限制為二十秒及五十 MB。片段透過影片 URL 或編碼後 MP4 提供。確切參考文件指出,處理涵蓋最初二十秒:稍微超長的片段可能只處理至該處,明顯更長的片段則遭拒絕。未公布數值容許誤差。請裁切為預定的二十秒以內區段,而非依賴未指定的邊界行為。
選擇可取得的最低壓縮版本。壓縮瑕疵限制放大器能復原的真實細節量;創意增強可產生合理紋理,卻無法確立原場景實際包含什麼。放大所選片段前,請先完成預定編輯與裁切。原工作流程可先完成產品鏡頭,選出有用動作區間,再放大最後選定內容,並保留未修改來源供比較。
結果保留來源音軌。請檢查其與畫面的時序,尤其是選定區段開頭與結尾。文件規格不提供獨立幀率選擇、新對話生成或圖片參考編輯控制。用途是較大影片及選定的細節處理,同時在處理區段內保留來源的時間與聲音素材。
保留並檢查交付片段
製作者工作流程為非同步:提交任務後會提供識別碼與狀態查詢位置,完成結果包含簽署的 MP4 交付連結。該連結約一小時後失效。請保留實際片段、來源、所選倍率、creativity 模式及內容描述,而非依賴暫時位置。失敗或遭內容審查限制的狀態,應與完成影片區分。
請逐格檢查臉部、標記及表面變化,再觀看整個序列的連貫性、動作及音訊對齊。精確與創意輸出回應不同視覺需求;實用成果是在預定顯示尺寸符合所選保真目標的放大片段。解析度變大本身,不能證明原有身分、文字或細節仍正確。
Ailoot Ultra · 影片 POST /v1/videos black-forest-labs/flux-video-upscale
black-forest-labs/flux-video-upscale
black-forest-labs/flux-video-upscale入門
FLUX Video Upscale 透過忠於來源或創意式的細節增強,放大既有片段。文件規格提供 1.5 至 3 倍放大,保留來源音訊與取景,並限制來源片長、輸入解析度及輸出畫面面積。
- 接受的輸入
- 文字 · 圖片 · 音訊 · 影片
- 結果
- 影片
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 影片 POST /v1/videos
- 輸入
text,image,audio,video- 輸出
video
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 black-forest-labs/flux-video-upscale | 預設值— |
欄位input_references | 類型array | 要求必填 | 值與限制 項目數下限: 1 項目數上限: 1 | 預設值— |
欄位upscale_factor | 類型number | 要求必填 | 值與限制 最小值: 1.5 最大值: 3 | 預設值— |
欄位creativity | 類型integer | 要求必填 | 值與限制 0, 1 | 預設值— |
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, input_references, upscale_factor, creativity |
參數material_types | 規格text, image, audio, video |
參數material_conditions | 規格請僅使用一個實際已完成的自有影片資產內容 URL,並保留其回傳的簽章。資產擁有者、型別與已儲存的位元組佐證必須與請求一致。 |
生命週期: asynchronous_job_then_owned_outputs
GET /v1/videos/{request_id} · 實際回傳的 id 或 polling_url
GET /v1/videos/{request_id}/content
方案
最終費用的計算方式
顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
供比較的預估費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 預估數量 | 計費單位 | 計費條件 | 每百萬像素的像素數 | 費用 |
|---|---|---|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 計費單位— | 計費條件— | 每百萬像素的像素數— | 費用 輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token |
| 設定影片價格 | 費率表— | 預估數量— | 計費單位每百萬像素秒 | 計費條件品質:creative | 每百萬像素的像素數1,048,576 | 費用 輸出 · 影片價格 · 僅供比較的估算 $0.21 每百萬像素秒 |
| 設定影片價格 | 費率表— | 預估數量— | 計費單位每百萬像素秒 | 計費條件quality: precise | 每百萬像素的像素數1,048,576 | 費用 輸出 · 影片價格 · 僅供比較的估算 $0.15 每百萬像素秒 |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 計費單位— | 計費條件— | 每百萬像素的像素數— | 費用 輸出 · 預估生成費用 · 僅供比較的估算 $0.15 生成前估算 此估算並非額外費用,也不是本次生成完成後的固定費率。 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 影片
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}"
export AILOOT_INPUT_REFERENCES_JSON
: "${AILOOT_UPSCALE_FACTOR:?Set the actual documented input value}"
export AILOOT_UPSCALE_FACTOR
: "${AILOOT_CREATIVITY:?Set the actual documented input value}"
export AILOOT_CREATIVITY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
request={'model': 'black-forest-labs/flux-video-upscale', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'upscale_factor': '${ACTUAL_UPSCALE_FACTOR}', 'creativity': '${ACTUAL_CREATIVITY}'}
request['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])
request['upscale_factor']=float(os.environ['AILOOT_UPSCALE_FACTOR'])
request['creativity']=int(os.environ['AILOOT_CREATIVITY'])
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
接收並儲存結果
Ailoot Ultra · 影片
GET /v1/videos/{request_id}GET /v1/videos/{request_id}/content
儲存所有已完成的素材
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
保留所有已完成的結果
請儲存每部已完成的影片或傳回的檔案,並從實際傳回的每個素材 URL 取得素材。
保留完整回應與標頭、所有實際輸出、原始回傳的識別碼,以及所有用量欄位。恢復原始作業時,請勿再次提交建立請求。
需要檢查原始回應時
請保留 X-Client-Request-ID、X-Ailoot-Task-Id,以及實際回傳的 id/polling_url。請接續原始作業,切勿再次提交建立請求。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位id | 類型 |
欄位status | 類型 |
欄位data[] | 類型 |
欄位outputs[] | 類型 |
別名
模型別名
Ailoot Ultra black-forest-labs/flux-video-upscale
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Black Forest Labs: FLUX Video Upscale
- 可以使用哪些輸入與結果?
POST /v1/videos·black-forest-labs/flux-video-upscale:text,image,audio,video→video- 請求使用哪些欄位?
POST /v1/videos·black-forest-labs/flux-video-upscale:model,input_references,upscale_factor,creativity- 適用哪些限制?
POST /v1/videos·black-forest-labs/flux-video-upscale:upscale_factor.minimum:1.5;upscale_factor.maximum:3