モデル

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 のマルチモーダルモデルです。文字の制作指示からシーンを作り、固定した画像の間に動きを作り、既存クリップを継続できます。発話、効果音、環境音をフレームと同時に生成し、カメラ移動、行動、音を 1 つのシーケンスとして設計した短いシーンに対応します。

文字から動画では、被写体、設定、見える行動、カメラの挙動、音を説明してください。実用的な製品シーンなら全景から始め、素材の細部に寄り、使用中の製品で終えられます。複数ショットの指示では各ショットとアングル間の移行を名付け、シーケンス全体で被写体と視覚スタイルを統一できます。場面内に文字を出せるため、看板やタイトルが重要なら正確な文言と位置を指定します。モデルは実写、アニメーション、モーショングラフィックス、様式化した表現を扱います。

画像から動画では 1~10 枚のキーフレーム画像を使います。1 枚は開始フレームを設定し、2 枚は最初と最後を固定します。タイムスタンプ付きの順序画像は、クリップ内の特定の瞬間を誘導します。画像は一般的なスタイル参照だけでなく、動画のフレームになります。タイムスタンプなしで 3 枚以上使う場合、メーカーは時間の明示を要求します。最初と最後が両端を固定し、残りは等間隔に配置されます。時刻付きフレームは時間順である必要があり、自動時間設定は最後のタイムスタンプを切り上げた長さまで、最大 20 秒の範囲で動作します。被写体、フレーミング、視覚的な細部に互換性のあるキーフレームを準備し、その間の動きを説明してください。製品の公開なら、最初に閉じた物体、最後に開いた配置を見せ、途中の行動をプロンプトで定義できます。

動画の継続は入力クリップの最後のフレームから始まります。発表時のワークフローは、既存動画と音声の最大 4 秒を次の行動の文脈に使い、カメラの挙動、動き、音をつなぎ目の先へ引き継ぎます。被写体とカメラの向かう先が明確な元映像の終点を選び、次に起こることを説明してください。継続は既存ショットの書き換えとは異なります。FLUX Video Edit は別の編集モデルで、両方が動画を受け取るというだけで生成モデルの一部になるわけではありません。

文字・画像を条件とする生成は 5~20 秒のクリップに対応します。モード別の概要では、動画継続の出力範囲は 5~15 秒です。時間とアスペクト比は自動選択でき、指示で対応する横長・正方形・縦長を指定することもできます。比率には 21:9、2:1、16:9、4:3、1:1、3:4、9:16、9:21 があります。出力は毎秒 24 フレームです。短い 1 回の生成に物語全体を詰め込まず、少数の目に見える行動に合わせて時間を選んでください。

HD 出力は生成から直接得られ、FHD、QHD、UHD は同じシーンを動画アップサンプラーで仕上げます。16:9 の配信寸法は、それぞれ 1280×704、1920×1088、2560×1440、3840×2176 です。寸法は 32 の倍数に揃うため、名称の解像度クラスが一般的な納品サイズと異なる場合があります。厳密な標準キャンバスが必要なら、端の重要な内容を保って完成フレームを切り抜いてください。高解像度化は仕上げ工程であり、ショットを別に解釈するものではありません。

ネイティブ音声は既定で有効で、無音クリップ用に無効化できます。対話では台詞を引用し、話者と話し方を指定してください。多言語発話、アクセント、リップシンクはモデルの音声・映像機能の一部です。蓋が閉じる、足音が遠ざかるなど、見える出来事に台詞と音の指示を結び付けます。音を生成後に加える無関係な層として扱わず、声、タイミング、発話文言を映像と一緒に確認してください。

Draft モードは HD プレビューと Draft bundle を生成します。選択した bundle を Enhance して、その生成をフル品質でレンダリングします。同じプロンプトを新しいフルレンダー要求として送ると、新たな解釈となり、別のテイクになる場合があります。Draft は HD のみで、Enhance は 4 つの解像度クラスから選べ、既定は FHD です。まず行動と構図を探り、その後、選んだテイクを目的の配信サイズで仕上げる実用的な流れです。

メーカーのワークフローは MP4 の準備前にタスク識別子を返し、処理完了後に完成クリップを提供します。署名付き結果の場所は約 2 時間後に失効するため、ショットを選んだら実アセットを保管してください。キーフレーム間の移行、カット、文字、被写体の細部、音声のつなぎを制作指示と照合します。長いシーケンスでは、短い 1 回の要求に制作全体が入ると考えず、成功したショットの参照と終点の文脈を次のクリップの入力として保ってください。

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)を使用する場合

比較用の推定料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表予測数量料金項目参照モード課金単位課金条件料金
設定基本トークン料金料金表基本料金予測数量—料金項目—参照モード—課金単位—課金条件—料金
入力 · 入力トークン · 比較専用の見積もり — / 1K トークン
出力 · 出力トークン · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ読み取り · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり — / 1K トークン
設定テキストから動画 · 画像から動画(フレーム画像) · 参考単価料金表—予測数量—料金項目reference_output_rate参照モードテキストから動画へ · 画像から動画へ(フレーム画像)課金単位出力1秒あたり課金条件—料金
出力 · 出力動画の秒単位参考料金 · 比較専用の見積もり $0.34 出力1秒あたり
設定動画料金料金表—予測数量—料金項目—参照モード—課金単位動画1秒あたり課金条件resolution: 1080p料金
出力 · 動画料金 · 比較専用の見積もり $0.58 動画1秒あたり
設定動画料金料金表—予測数量—料金項目—参照モード—課金単位動画1秒あたり課金条件resolution: 720p料金
出力 · 動画料金 · 比較専用の見積もり $0.34 動画1秒あたり
設定動画料金料金表—予測数量—料金項目—参照モード—課金単位動画1秒あたり課金条件入力:video_continuation;解像度:1080p料金
出力 · 動画料金 · 比較専用の見積もり $1.06 動画1秒あたり
設定動画料金料金表—予測数量—料金項目—参照モード—課金単位動画1秒あたり課金条件入力:video_continuation;解像度:720p料金
出力 · 動画料金 · 比較専用の見積もり $0.82 動画1秒あたり
設定生成費用の見積もり料金表—予測数量生成1回分の概算料金項目—参照モード—課金単位—課金条件—料金
出力 · 推定生成コスト · 比較専用の見積もり $1.7 生成前の見積もり

この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

参考料金の詳細

モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。

動画設定の料金参照情報

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定課金条件料金
設定動画料金課金条件この価格キーには追加条件が定義されていません。料金
出力 · 動画料金 $0.34 動画1秒あたり

表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。

設定動画料金課金条件resolution: 720p料金
出力 · 動画料金 $0.34 動画1秒あたり

表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。

設定動画料金課金条件resolution: 1080p料金
出力 · 動画料金 $0.58 動画1秒あたり

表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。

設定動画料金課金条件入力:video_continuation;解像度:720p料金
出力 · 動画料金 $0.82 動画1秒あたり

表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。

設定動画料金課金条件入力:video_continuation;解像度:1080p料金
出力 · 動画料金 $1.06 動画1秒あたり

表示されている設定の公開料金の参照値です。最終請求額には、実際に課金された設定が適用されます。

リクエスト例

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

メソッドパスのエイリアス

上記に表示されたメソッドパスを使用してください。

関連する呼び出し用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、自分のアプリに接続しましょう。

企業とそのプロジェクト群

企業とそのプロジェクト群:数百万の顧客、毎月数十億規模の売上。

トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション
定期的なリクエストに合う割引プランを選びましょう。
最大50%のプロモコード
購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。
支出を履歴で確認
各リクエストのモデル、トークン、金額が保存されます。

サブスクリプションを選ぶ · モデルの価格を見る

販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ
サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。
リセラーライセンス
プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。
サイトで契約文書を確認
接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

リセラーライセンスを申請 · サービス提供条件とライセンス契約