模型

Black Forest Labs: FLUX.3 Video

Markdown · JSON

Black Forest Labs: FLUX.3 Video

FLUX 3 Video 從文字、固定圖片或待延續片段,製作具有同步對話、音效及環境音的影片。關鍵影格、多鏡頭構成及 Draft 增強,可協助發展受控制的序列並保留選定錄製結果。

關於模型

此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。

FLUX 3 Video 是 Black Forest Labs 用於生成同步音訊影片的多模態模型。它可依文字需求創作場景、圍繞固定圖片建立動作,或延續既有片段。語音、音效及環境音可與畫面一併生成,支援將鏡頭運動、動作與聲音設計為單一序列的短場景。

文字轉影片應描述主體、場景、可見動作、攝影機行為與聲音。實用產品場景可從全景開始,移向材質細節,再以產品使用中畫面結束。多鏡頭需求可指出每個鏡頭,以及鏡頭角度間的轉換,並在序列中保持主體及視覺風格一致。場景可出現文字,因此招牌或標題重要時,應提供確切詞句與位置。模型涵蓋實拍、動畫、動態圖像及風格化外觀。

圖片轉影片使用一至十張關鍵影格圖片。單張圖片建立開場畫面;一對圖片固定起點與終點;依序附有時間戳記的圖片則引導片段中的特定時刻。這些圖片會成為影片畫面,而非僅作一般風格參考。若三張以上圖片沒有時間戳記,製作者要求明確指定時長:首尾圖片固定兩端,其餘平均放在中間。有時間戳記的畫面必須按時間排序;自動時長延續至最後時間戳記向上取整,在最長二十秒範圍內。請準備主體、取景及視覺細節相容的關鍵影格,再描述其間動作。產品揭曉可在首幀展示關閉物體,尾幀展示打開配置,中間動作則由提示定義。

影片延續從輸入片段的最後畫面接續。發布時的工作流程使用既有影片及音訊最多四秒,作為下一個動作的上下文,將攝影機行為、動作與聲音帶過接縫。請選擇能清楚建立主體與攝影機去向的來源結尾,並描述後續事件。延續與重寫既有鏡頭不同:FLUX Video Edit 是另一個編輯模型,不會因兩者都接受影片,就成為生成模型的一部分。

文字及圖片條件生成支援 5 至 20 秒片段。模式專屬概要則將影片延續輸出範圍列為 5 至 15 秒。時長及長寬比可自動選擇,也可在需求中指定支援的橫向、正方形或直向形狀,包括 21:9、2:1、16:9、4:3、1:1、3:4、9:16 及 9:21。輸出為每秒 24 幀。請依少數可見動作選擇時長,而非將整個故事塞進一次短生成。

HD 輸出直接來自生成;FHD、QHD 及 UHD 則透過影片升採樣器完成同一場景。16:9 的交付尺寸依序為 1280×704、1920×1088、2560×1440 及 3840×2176。尺寸對齊 32 的倍數,因此命名解析度等級可能不同於慣常交付尺寸。若需要精確標準畫布,請裁切完成畫面,同時保留邊緣重要內容。較高解析度是後製完成步驟,而非對鏡頭的不同詮釋。

原生音訊預設開啟,也可關閉以產生無聲片段。對話應引述台詞、識別說話者並描述表達方式;多語言語音、口音及唇形同步,都是模型視聽能力的一部分。請將對話與聲音提示連結至可見事件,例如蓋子關閉或腳步遠去。請將聲音、時序及口述措辭與畫面一併檢查,而非視為生成後才加上的無關圖層。

Draft 模式產生 HD 預覽與 Draft bundle。請對選定 bundle 執行 Enhance,將該次生成渲染為完整品質;以相同提示重新送出全品質渲染請求,會是新的詮釋,可能產生不同拍次。Draft 只使用 HD,而 Enhance 可選四個解析度等級,預設為 FHD。這形成實用序列:先探索動作與構圖,再依預定交付尺寸完成選定拍次。

製作者工作流程在 MP4 準備好之前傳回任務識別碼,處理結束後再提供完成片段。簽署結果位置約兩小時後失效,因此選定鏡頭後應保留實際素材。請將關鍵影格轉換、剪接、文字、主體細節及音訊接縫與需求比對。較長序列應保留成功鏡頭的參考與結尾上下文,作為下一片段輸入,而非假設一次短請求包含整個製作。

Ailoot Ultra · 影片 POST /v1/videos black-forest-labs/flux-3-video

black-forest-labs/flux-3-video

Black Forest Labs /black-forest-labs/flux-3-video

入門

FLUX 3 Video 從文字、固定圖片或待延續片段,製作具有同步對話、音效及環境音的影片。關鍵影格、多鏡頭構成及 Draft 增強,可協助發展受控制的序列並保留選定錄製結果。

接受的輸入
文字 · 圖片
結果
影片

Ailoot 可用 · 輸入與方法

Ailoot Ultra · 影片 POST /v1/videos
輸入
text, image
輸出
video
輸出格式
原始 MP4 位元組;不進行正規化或轉碼
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
black-forest-labs/flux-3-video
預設值—
欄位prompt類型string要求必填值與限制預設值—
欄位duration類型integer要求必填值與限制
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
最小值: 1
最大值: 600
預設值—
欄位resolution類型string要求選填值與限制
720p, 1080p
預設值—
欄位aspect_ratio類型string要求選填值與限制
21:9, 16:9, 4:3, 1:1, 3:4, 9:16
預設值—
欄位generate_audio類型boolean要求選填值與限制
false, true
預設值—
欄位frame_images類型array要求選填值與限制
項目數下限: 1
項目數上限: 2
輸入內容: 影格物件陣列。每個物件包含 type=image_url、內含 url 的 image_url,以及 frame_type。請使用 HTTPS 圖片 URL,並將 frame_type 設為 first_frame 或 last_frame。每種影格角色最多只能出現一次。
確切鍵名: type, image_url, frame_type
條件: 這些鍵描述每個影格物件;image_url 僅包含 url。僅含文字的請求請省略 frame_images。
預設值—
欄位input_references類型array要求選填值與限制預設值—
欄位previous_job_id類型string要求選填值與限制
模式: ^video_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
預設值—
欄位callback_url類型string要求選填值與限制
模式: ^https://
預設值—
欄位session_id類型string要求選填值與限制預設值—
欄位trace類型object要求選填值與限制預設值—
欄位user類型string要求選填值與限制預設值—
輸入素材組合

文字生成影片 · 文字提示詞。 · 必填: model, prompt, duration

請以文字提供 prompt,並以整數秒提供 duration。請選擇支援的解析度;如有需要,也請指定長寬比。

model: 類型: string · black-forest-labs/flux-3-video

prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是

圖片生成影片 · 文字提示詞與首格圖片。 · 必填: model, prompt, duration, frame_images

frame_images 是陣列。每個影格物件包含 type、image_url 與 frame_type;image_url 內含 url。請將 type 設為 image_url,並使用 first_frame;last_frame 為選填。每種影格角色最多只能出現一次。請為每個影格提供公開的 HTTPS 圖片 URL,並選擇支援的解析度;如有需要,也請指定長寬比。

確切鍵名: type, image_url, frame_type

model: 類型: string · black-forest-labs/flux-3-video

prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是

Continue a video · 文字提示詞與已完成的原始影片。 · 必填: model, prompt, duration, previous_job_id

請將 previous_job_id 設為已完成原始影片的公開影片 ID,並使用相同的模型、帳號與 API 金鑰。請保留其現有工作身分;此請求會建立獨立的延續工作。請選擇支援的解析度;如有需要,也請指定長寬比。

model: 類型: string · black-forest-labs/flux-3-video

prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是

方法參數與生命週期
參數規格
參數content_type規格application/json
參數required規格model, prompt, duration
參數material_types規格text, image
參數additional_properties規格false
參數optional_controls規格resolution, aspect_ratio, generate_audio, frame_images, input_references, previous_job_id, callback_url, session_id, trace, user

生命週期: submit_once_poll_original

GET /v1/videos/{public_id}

GET /v1/videos/{public_id}/content

方案

最終費用的計算方式

顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。

費率資訊不會增加請求選項。支援的參數列於所選方法中。

快速模式
未指定 選取快速模式時
flex 模式
未指定 選取 flex 模式時
最高推理強度
未指定 最高推理強度採用 default 調整值時

供比較的預估費率

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定費率表預估數量費用項目參考模式計費單位計費條件費用
設定基礎 token 費率費率表基本費率預估數量—費用項目—參考模式—計費單位—計費條件—費用
輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token
輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token
輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token
輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token
輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token
設定文字生成影片 · 圖片生成影片(影格圖片)· 參考費率費率表—預估數量—費用項目reference_output_rate參考模式文字生成影片 · 以圖生影片(影格圖片)計費單位每秒輸出計費條件—費用
輸出 · 輸出影片每秒參考費率 · 僅供比較的估算 $0.34 每秒輸出
設定影片價格費率表—預估數量—費用項目—參考模式—計費單位每秒影片計費條件resolution: 1080p費用
輸出 · 影片價格 · 僅供比較的估算 $0.58 每秒影片
設定影片價格費率表—預估數量—費用項目—參考模式—計費單位每秒影片計費條件resolution: 720p費用
輸出 · 影片價格 · 僅供比較的估算 $0.34 每秒影片
設定影片價格費率表—預估數量—費用項目—參考模式—計費單位每秒影片計費條件輸入:video_continuation;解析度:1080p費用
輸出 · 影片價格 · 僅供比較的估算 $1.06 每秒影片
設定影片價格費率表—預估數量—費用項目—參考模式—計費單位每秒影片計費條件輸入:video_continuation;解析度:720p費用
輸出 · 影片價格 · 僅供比較的估算 $0.82 每秒影片
設定預估生成費用費率表—預估數量單次生成估算值費用項目—參考模式—計費單位—計費條件—費用
輸出 · 預估生成費用 · 僅供比較的估算 $1.7 生成前估算

此估算並非額外費用,也不是本次生成完成後的固定費率。

Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →

參考費率詳情

模型層級的參考費率表不會變更方法選擇、報價或費用。實際計費採用所選 Ailoot 方法的費率。

影片設定的價格參考

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定計費條件費用
設定影片價格計費條件此定價鍵未宣告額外條件。費用
輸出 · 影片價格 $0.34 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件resolution: 720p費用
輸出 · 影片價格 $0.34 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件resolution: 1080p費用
輸出 · 影片價格 $0.58 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件輸入:video_continuation;解析度:720p費用
輸出 · 影片價格 $0.82 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件輸入:video_continuation;解析度:1080p費用
輸出 · 影片價格 $1.06 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

請求範例

Ailoot Ultra · 影片

curl · 建立影片
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"black-forest-labs/flux-3-video","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', 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 result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT

接收並儲存結果

Ailoot Ultra · 影片

自有內容的簽署 URL

  • GET /v1/videos/{public_id}
  • GET /v1/videos/{public_id}/content
查看工作狀態
GET · 取得原始作業狀態
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
其他內容讀取方式
儲存所有已完成且屬於自己的輸出
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
保留所有已完成的結果

請儲存每部已完成的影片或傳回的檔案,並從實際傳回的每個素材 URL 取得素材。

請保留每個實際的自有輸出,以及回傳的實測中繼資料。

需要檢查原始回應時

503 result_pending_check + 原始 id + X-Should-Retry:false;切勿重送原始請求

回應欄位
欄位類型含義
欄位index類型integer含義此影片在輸出清單中的位置,索引從零開始。
欄位content_url類型string含義此已完成影片的簽署 HTTPS 下載 URL。
欄位sha256類型string | null含義原始影片位元組的 SHA-256 摘要;無法取得時為 null。
欄位size_bytes類型integer | null含義原始影片檔案大小,以位元組為單位;無法取得時為 null。
欄位duration_ms類型integer | null含義實測的影片長度,以毫秒為單位;無法取得時為 null。
欄位width類型integer | null含義影片寬度,以像素為單位;無法取得時為 null。
欄位height類型integer | null含義影片高度,以像素為單位;無法取得時為 null。
欄位video_codec類型string | null含義影片編碼識別碼;未記錄時為 null。
欄位has_audio類型boolean | null含義影片是否包含音軌;未測量時為 null。
欄位audio_codec類型string | null含義音訊編碼識別碼;未記錄識別碼時為 null。
錯誤與後續步驟
回應條件下一步
回應404 · not_found_error條件無法存取影片,或找不到此影片 ID。下一步請確認影片存取權限。若影片已存在,請使用其原始公開 ID 與相同的 API 金鑰。
回應401 · authentication_error條件API 金鑰與已驗證的帳號不符。下一步提交前,請先確認 API 金鑰與帳號存取權限。
回應400 · invalid_request_error條件無法讀取請求,或下載索引無效。下一步請修正請求本文。若要下載,請選擇原始工作回傳的輸出索引。
回應422 · price_unavailable條件所選影片設定無法定價。下一步請選擇支援的影片設定,填妥其必要選項,再提交修正後的請求。
回應422 · invalid_request_error條件影片輸入或原始延續工作無效。下一步請使用有效的 HTTPS 輸入。若要延續影片,請使用已完成原始影片的公開影片 ID,以及相同的 API 金鑰。
回應402 · billing_error條件可用餘額或限制不允許預留額度。下一步傳送新的請求前,請先確認可用餘額與限制。
回應503 · server_error條件影片驗證、儲存系統或服務存取暫時無法使用。下一步請等待服務恢復可用。若已有影片 ID,請查詢該原始工作,切勿另行建立生成工作。
回應503 · result_pending_check條件原始影片結果與費用需要查核。下一步請保留回傳的影片 ID,並查詢該工作。查詢期間切勿傳送替代的生成請求。
回應503 · owned_result_unavailable條件現有影片暫時無法下載。下一步請稍後查詢同一影片工作,並下載其現有輸出。新的生成請求會建立獨立操作。
回應409 · video_not_ready條件影片內容尚未發布。下一步請查詢原始工作狀態。回報 completed 後再下載;若回報 failed,請依其費用查核通知處理。

別名

模型別名

Ailoot Ultra black-forest-labs/flux-3-video

方法路徑別名

請使用上方列出的 API 方法路徑。

相關呼叫用 ID

black-forest-labs/flux-3-video

FAQ · Black Forest Labs: FLUX.3 Video
可以使用哪些輸入與結果?

POST /v1/videos · black-forest-labs/flux-3-video: text, image → video

請求使用哪些欄位?

POST /v1/videos · black-forest-labs/flux-3-video: model, prompt, duration, resolution, aspect_ratio, generate_audio, frame_images, input_references, previous_job_id, callback_url, session_id, trace, user

適用哪些限制?

POST /v1/videos · black-forest-labs/flux-3-video: duration.minimum: 1; duration.maximum: 600; frame_images.max_items: 2; frame_images.min_items: 1

更多詳情

將 Ailoot 串接 Claude Code、OpenCode、Hermes 或自己的應用程式。

公司及其專案組合

公司及其專案組合:數百萬客戶,每月銷售額達數十億。

優惠購買 token。

訂閱優惠適合持續工作,折扣碼購買 token 最高可折 50%。

訂閱
為定期請求選擇優惠方案。
最高 50% 折扣碼
購買時輸入代碼,價格依活動重算。
歷史中的費用
每次請求保存模型、token 與金額。

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

依 Ailoot 正式服務條款與授權合約串接 SaaS、應用程式與機器人;轉售請申請經銷授權。

商用應用程式
在付費功能加入文字、圖片、影片與聲音生成。
經銷授權
提供專案說明與存取方式,要求書面使用和轉售條件。
網站文件
串接前可閱讀正式服務條款、授權合約與資料處理政策。

申請經銷授權 · 正式服務條款與授權合約