MiniMax H3の使い方|API・無料枠・ComfyUIと動画制作のコツ

MiniMax H3の使い方|API・無料枠・ComfyUIと動画制作のコツ ソフトウエア

メディアを購読する

H3はMiniMaxが開発した、文章や画像から映像と音声を一緒に作るAIモデルです。短い動画の制作に向いており、入力した指示に沿って様々な表現の映像を出力できます。

実際に利用するにはどのような環境が必要なのでしょうか。ブラウザから試せる無料画面、プログラムから生成を依頼する窓口であるAPI、手元の機材の選択によって、発生する費用や準備が違います。

MiniMax H3とは?映像と音声を一緒に作るモデル

MiniMaxのH3が参照できる素材には、文章や画像に加えて動画と音声があります。文章から新規に映像を作るだけでなく、手持ちの画像を元にして動かすこともできます。どの素材を渡せるかは、利用するモデルと生成方式によって異なります。

例えば机の上のコップの画像を入力し、文章でカメラが近づく動きと氷が鳴る音を指示する、という使い方が考えられます。映像と効果音を別々に用意せず、ひとつの指示で短い動画素材を作るための入力案です。このコップの例は未実測であり、狙った動きや音が出るかは生成後に確認します。

MiniMaxのH3公式モデルカードにある入力、映像、音声の仕様欄
MiniMax公式モデルカードの仕様欄(2026年9月4日撮影)。最大2Kは高解像度化工程を含むH3全体の仕様です。

H3はAIモデル自体の名前であり、利用画面の名前ではありません。ブラウザから手軽に試す場合は、このモデルを組み込んでWeb利用画面を提供しているHailuo AIなどのサービスを経由して操作します。

またfalというサービスでは、H3に追加学習を施したH3 Maxという派生モデルとその利用画面を提供しています。

falのMiniMax H3 Max紹介ページと動画の指示入力欄
falのH3 Max紹介ページ(2026年9月4日撮影)。画面内の順位・生成速度は掲載元の説明であり、本記事の実測値ではありません。

H3とH3 Maxは何が違うのか

H3とH3 MaxのクラウドAPI、公開モデルH3-Baseの違い

H3とMaxの選択では、作りたい動画の解像度と、何を入力素材にするかが分かれ目です。

標準モデルであるMiniMax-H3に対し、MiniMax-H3-Maxは指示に従う精度や美観を狙ってfalが追加学習をおこなったモデルです。このMaxモデルはfal独自の提供にとどまらず、MiniMax公式のAPIでも提供されています。

解像度と入力条件の比較

解像度の扱いには違いがあります。公式APIのMiniMax-H3は768Pと2Kに対応しています。falのAPIを経由する場合は2Kや4Kも指定できますが、これらは768Pで生成した映像をアップスケール(拡大処理)したものです。

一方で、MiniMax-H3-Maxで指定できる解像度は480Pと768Pです。H3では人物や動きの特徴を引き継ぐ参照素材も使えますが、Maxはテキストからの生成と、開始画像や終了画像を用いた生成に機能が絞られています。両モデルとも生成できる映像は最長15秒です。

モデル 生成元 対応する主な解像度
MiniMax-H3 テキスト、画像、参照素材 768P、2K(fal経由は4K拡大も可)
MiniMax-H3-Max テキスト、開始・終了画像 480P、768P

ローカルで動かせる公開データの内容

自分の環境にダウンロードして利用できるデータは、モデルを構成する一部に限られています。Hugging Faceで公開されているのは、基礎となるH3-Baseモデルなどのファイルです。重みは学習で得た計算用データです。これを対応ソフトへ読み込み、入力から動画を作る処理を自分の計算機で実行します。

ただし、公式の2K生成で使う高解像度化工程と、入力を処理するContext-IRは未公開です。公式のフル2K生成には未公開部分を担うAPIが必要です。この記事のローカル手順は、公開されたBaseによる生成までを扱います。

無料で試す方法とAPI料金

falの無料Web試用と従量課金APIの区別

APIを利用して料金を支払う前に、無料で映像生成の操作を試せる画面があります。falが用意する専用の案内ページのボタンから、Sandboxと呼ばれる実行画面へ入ります。案内では、ログインするとMiniMax-H3-Maxを直近24時間あたり5回まで無料で試せます。

この無料枠は最大15秒で解像度768Pの映像出力に対応しており、定期購入の登録なしで利用できます。実行前に対象モデルと無料残数の表示を確認します。この記事ではログイン後の付与状況を確認していません。この無料画面での操作は、使った分だけ支払うAPIの仕組みとは別のものです。

プログラムから指示を送るAPIでは、生成動画の秒数などに応じて課金されます。MiniMax公式、fal、Replicate、Atlas CloudのH3向けAPI無料枠は、今回の資料では確認できませんでした。AtlasのAPIでは、見積もり用の送信先URLへ生成条件を送ると、課金されずに実際の請求予定額を確認できます。

動画の長さと解像度による料金の違い

映像を作る費用は、秒ごとの米ドル単価で計算されます。2026年9月4日時点で確認できた4社の提供元で、長さ5秒で解像度768Pの映像を生成する料金を比較します。falのAPIでMaxモデルを利用する際は、9月7日まで限定の割引価格が適用されています。

提供元 MiniMax-H3 (5秒・768P) MiniMax-H3-Max (5秒・768P)
MiniMax公式 0.40 USD 0.40 USD
fal 0.30 USD 0.10 USD(割引期間中、通常0.40 USD)
Replicate 0.40 USD 未確認
Atlas 0.40 USD (※内訳なし) 未確認

MiniMax公式APIのH3モデルは、768Pの単価が1秒あたり0.08米ドル、2Kが0.13米ドルです。そのためH3で5秒の2K映像を作ると0.65米ドルになります。falのMaxモデルは割引期間が終わると、480Pが1秒あたり0.05米ドル、768Pが0.08米ドルの通常単価に戻ります。

ReplicateのH3モデルも単価は公式と同じですが、Maxモデルの提供は確認されていません。Atlasではテキストから動画を作るT2Vモデルの表示単価が1秒あたり0.08米ドルとなっており、解像度別の内訳がありません。そのため、2Kでの高解像度出力を同じ単価で保証するものではありません。

入力する素材の費用

画像などを入力する場合、素材の種類や枚数、モデルによって入力費用も発生します。MiniMax公式APIのH3モデルに画像を入力する場合、最初の5枚まで無料で、6枚目以降は1枚あたり0.04米ドルがかかります。一方で、Maxモデルへの画像入力には現時点で課金が設定されていません。

MiniMax公式APIでは、音声を入力素材として使う場合も無料でおこなえます。すでに存在する動画を読み込ませる場合は、映像の出力と同じ単価が適用され、768Pが1秒あたり0.08米ドル、2Kが0.13米ドルの費用として計算されます。

4社のAPIで送信からMP4保存まで

生成リクエストを一度送信し、ID保存・状態確認・MP4保存へ進む流れ

木の机の上にある白いカップにカメラがゆっくり近づく、長さ5秒で解像度768Pの映像を作る指示を例にします。有料の生成は未実施であり、公開された仕様文書に基づいた実行手順を示します。あらかじめ映像の保存先を作成しておきます。

set -euo pipefail
mkdir -p output
curl --version
jq --version

生成の送信と状態確認の仕組み

APIキーは各社の請求先に属するアカウント画面から取得し、利用環境の環境変数に設定します。通信にはcurl、JSONから値を取り出す処理にはjqを使います。両方を使えるBash環境で、同じ端末から選んだ1社のコードを順に実行します。

生成の指示を送信したら、応答に含まれる受理IDを保存します。作成には時間がかかるため、送信は一度にとどめ、IDを使った状態確認を繰り返します。

状態を確認して失敗が示された場合は処理を停止し、ダッシュボードから原因を調べます。待機中なら状態確認ブロックだけを再実行し、失敗なら応答内容を調べます。生成を依頼するPOSTは繰り返しません。生成の成功を確認した時だけファイルの保存へ進みます。成功したURLから動画をダウンロードする際は、APIの認証情報を付けないように注意します。

各社のコードは有料の生成を送信します。キャンセルや想定外の応答でも処理を止めます。端末を閉じた場合は、保存したJSONからIDやURLを取り出し直します。

curlの--fail-with-bodyはエラー応答も保存し、失敗を終了コード22に反映します。curl 7.76.0以降を使い、コマンドが失敗したら後続へ進まず保存したJSONを開きます。

キーはコマンド履歴へ直接書かず、端末の非表示入力から設定します。falなら次の例です。他社は変数名をMINIMAX_API_KEYREPLICATE_API_TOKENATLASCLOUD_API_KEYへ置き換えます。

read -rsp 'fal API key: ' FAL_KEY
printf '\n'
export FAL_KEY

MiniMax公式APIの実行手順

MiniMax公式APIでは指定のエンドポイントへ映像生成の条件を送信します。管理画面でPay-as-you-go APIを選び、環境変数に設定したキーで認証します。応答をJSONファイルに保存し、そこから受理IDを抽出します。

curl --fail-with-body -sS -X POST "https://api.minimax.io/v2/video_generation" \
  -H "Authorization: Bearer $MINIMAX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"MiniMax-H3","content":[{"type":"text","text":"A plain white cup on a wooden table. The camera slowly moves closer. Quiet room tone, no music."}],"resolution":"768P","duration":5,"ratio":"16:9"}' > minimax_create.json

TASK_ID=$(jq -er '.task_id' minimax_create.json)

状態は受理IDで照会でき、成功時に動画URLが返ります。取得した状態がsucceededになった場合のみ、映像のURLを取り出してMP4ファイルを保存します。通信が途切れた場合はIDを使って再確認します。

curl --fail-with-body -sS -X GET "https://api.minimax.io/v2/query/video_generation/${TASK_ID}" \
  -H "Authorization: Bearer $MINIMAX_API_KEY" > minimax_status.json

case "$(jq -r '.task.status' minimax_status.json)" in
  succeeded)
    VIDEO_URL=$(jq -er '.task.content.url | select(type == "string" and length > 0)' minimax_status.json)
    curl -fLSs --output output/minimax.mp4 "$VIDEO_URL"
    ;;
  queued|running) printf '%s\n' '生成中です。10秒後にこの状態確認ブロックだけを再実行します。' ;;
  failed|cancelled) jq '.task' minimax_status.json; printf '%s\n' '生成が終了しました。エラーを確認し、POSTは自動再送しません。' ;;
  *) jq '.' minimax_status.json; printf '%s\n' '想定外の応答です。後続の保存処理を停止します。' ;;
esac

送信時のHTTP 400は入力不備、401は認証、402は残高不足、422は内容の拒否、429は利用頻度の上限です。minimax_create.jsonerror.messagerequest_idを確認し、入力やキーを直してから再開します。

fal APIの実行手順

falのAPIでは生成指示に対する応答として、状態確認用と結果取得用の2つのURLが返されます。認証には専用のキーを使用します。状態確認用のURLへリクエストを送り、進行状況を調べます。

curl --fail-with-body -sS -X POST "https://queue.fal.run/minimax/h3-max/text-to-video" \
  -H "Authorization: Key $FAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"A plain white cup on a wooden table. The camera slowly moves closer. Quiet room tone, no music.","prompt_expansion_mode":"balanced","resolution":"768P","duration":5,"aspect_ratio":"16:9"}' > fal_create.json

REQUEST_ID=$(jq -er '.request_id' fal_create.json)
STATUS_URL=$(jq -er '.status_url' fal_create.json)
RESPONSE_URL=$(jq -er '.response_url' fal_create.json)

確認結果がCOMPLETEDになってもそれだけで成功と判断せず、結果取得用のURLへ再度リクエストを送ります。入力値の不足や方針違反によるエラーは原因を直すまで再送を控えます。HTTP 422なら応答のdetailで不正な入力項目を確認します。取得できたURLを確かめてから映像を保存します。

curl --fail-with-body -sS -X GET "$STATUS_URL" \
  -H "Authorization: Key $FAL_KEY" > fal_status.json

case "$(jq -r '.status' fal_status.json)" in
  COMPLETED)
    curl --fail-with-body -sS "$RESPONSE_URL" \
      -H "Authorization: Key $FAL_KEY" > fal_result.json
    VIDEO_URL=$(jq -er '.video.url | select(type == "string" and length > 0)' fal_result.json)
    curl -fLSs --output output/fal.mp4 "$VIDEO_URL"
    ;;
  IN_QUEUE|IN_PROGRESS) printf '%s\n' '生成中です。数秒後にこの状態確認ブロックだけを再実行します。' ;;
  *) jq '.' fal_status.json; printf '%s\n' '状態を確認できません。POSTは自動再送しません。' ;;
esac

Replicate APIの実行手順

ReplicateのAPIでは、H3モデル固有の入力形式に合わせて映像の長さや解像度を指定します。環境変数のキーを用いてBearer認証をおこないます。応答に含まれる値から確認用のURLを抽出し、このURLを使って状態を確認します。

curl --fail-with-body -sS -X POST "https://api.replicate.com/v1/models/minimax/h3/predictions" \
  -H "Authorization: Bearer $REPLICATE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"input":{"prompt":"A plain white cup on a wooden table. The camera slowly moves closer. Quiet room tone, no music.","resolution":"768P","duration":5,"ratio":"16:9"}}' > replicate_create.json

PREDICTION_ID=$(jq -er '.id' replicate_create.json)
GET_URL=$(jq -er '.urls.get' replicate_create.json)

状態がsucceededになった場合のみ、出力された単一のURL文字列から映像を保存します。生成された映像ファイルのURLは通常1時間で失効するため、永久に利用せず手元のディレクトリへ保存します

curl --fail-with-body -sS -X GET "$GET_URL" \
  -H "Authorization: Bearer $REPLICATE_API_TOKEN" > replicate_status.json

case "$(jq -r '.status' replicate_status.json)" in
  succeeded)
    VIDEO_URL=$(jq -er '.output | select(type == "string" and length > 0)' replicate_status.json)
    curl -fLSs --output output/replicate.mp4 "$VIDEO_URL"
    ;;
  starting|processing) printf '%s\n' '生成中です。2秒後にこの状態確認ブロックだけを再実行します。' ;;
  failed|canceled) jq '{status,error}' replicate_status.json ;;
  *) jq '.' replicate_status.json; printf '%s\n' '想定外の応答です。POSTは自動再送しません。' ;;
esac

Replicateで生成がfailedになった時は、応答のerrorに理由が返ります。キーの不備による認証失敗と、受理後の生成失敗を分けて調べ、同じ有料リクエストを自動で送り直しません。

Atlas Cloud APIの実行手順

Atlas CloudのAPIでは、送信の応答に含まれるIDを使って状態確認のエンドポイントへリクエストを送ります。環境変数のキーを用いて認証します。2Kの料金は、生成する前に次の見積もりAPIで確認できます。応答のdata.priceが見積額です。

curl --fail-with-body -sS -X POST "https://api.atlascloud.ai/api/v1/model/calculate" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax/h3/text-to-video","prompt":"A plain white cup on a wooden table.","resolution":"2K","duration":5,"ratio":"16:9"}' > atlas_price.json
jq -e '.data.price' atlas_price.json

生成の送信先は別のURLです。以下は料金表と同じ5秒・768Pの例で、2Kの見積もり例とは解像度が異なります。

curl --fail-with-body -sS -X POST "https://api.atlascloud.ai/api/v1/model/generateVideo" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax/h3/text-to-video","prompt":"A plain white cup on a wooden table. The camera slowly moves closer. Quiet room tone, no music.","resolution":"768P","duration":5,"ratio":"16:9"}' > atlas_create.json

DATA_ID=$(jq -er '.data.id' atlas_create.json)

状態がcompletedまたはsucceededになれば、配列の最初の要素からURLを取得して保存します。HTTP 401ならキーと送信先URL、402なら残高、400なら応答のmsgで入力不備を確認します

curl --fail-with-body -sS -X GET "https://api.atlascloud.ai/api/v1/model/prediction/${DATA_ID}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" > atlas_status.json

case "$(jq -r '.data.status' atlas_status.json)" in
  completed|succeeded)
    VIDEO_URL=$(jq -er '.data.outputs[0] | select(type == "string" and length > 0)' atlas_status.json)
    curl -fLSs --output output/atlas.mp4 "$VIDEO_URL"
    ;;
  created|processing) printf '%s\n' '生成中です。数秒後にこの状態確認ブロックだけを再実行します。' ;;
  failed) jq '.data | {status,error_code,error}' atlas_status.json ;;
  *) jq '.' atlas_status.json; printf '%s\n' '想定外の応答です。POSTは自動再送しません。' ;;
esac

画像とBlenderでショットを設計する

Blenderの開始画像をfalへアップロードしてH3 Maxで動画化する流れ

構図や動作を指示するために、テキストに開始画像を組み合わせます。制作者が狙ったカットを採用できるか確かめる例として、白いカップの配置を画像で決め、AIにその先の動きと音を生成させます。

開始画像を固定すれば、配置の変化を比べやすくなるという仮説で試します。動きと音まで自動生成する部分がH3の役割であり、静止画を用意するだけでは得られません。

画像入力の役割とプロンプトの書き方

MiniMax公式の記述によると、開始画像はそこに映っている構図から続く動きを作り、終了画像と組み合わせることで連続した場面の遷移を作成します参照画像を使う場合は、人物や物体、スタイルのどれを引き継ぐ画像か、プロンプトで指定します。複数画像を渡すだけで役割まで自動的に決まるとは考えず、対応を明記します。

作成済みの動画から動線を参照する場合は標準H3を選びます。Maxには動画を入力できません。プロンプトには被写体の動作を記述します。カメラが寄る・横に動くといった動かし方に、移動幅と速さを添えます。環境音とBGMの有無も指定します。

前節の例に移動幅を足すなら、「木の机の上にある白い無地のカップ。カメラはカップ全体が収まる位置から、縁が大きく見える位置までゆっくり近づく。静かな室内音、音楽なし」と指示します。被写体を固定したままカメラを動かす映像表現を目指す例です。

Blenderを用いた開始画像の準備

構図を厳密に決める開始画像を作るため、無償の3DソフトウェアであるBlenderを用います。この例はBlenderでシーンを作成できる人向けです。画面内に木の机、白い無地のカップ、照明、カメラを配置し、shot01.blendという名前で保存しておきます。この操作自体にAPIキーは必要ありません。

保存したファイルをコマンドラインから開き、開始となる1フレーム目のみをPNG画像として書き出します。実行の際には読み込むファイルを先に指定し、出力するフレームを最後に指定します。

blender -b shot01.blend -o //renders/shot01_##### -F PNG -f 1

このコマンドを実行すると、指定したフォルダにshot01_00001.pngという画像ファイルが生成されます。この画像を生成の起点として使用します。

fal APIによる映像生成の実行例

作成したPNG画像を使って、falのAPIへImage-to-Video(画像からの映像生成)の指示を送ります。Web上の無料枠とは別に、生成動画の秒数と解像度に応じたAPI従量課金が発生します。あらかじめローカルのPython環境にfal-clientをインストールし、環境変数にキーを設定しておきます。

pip install fal-client
# FAL_KEYは前節の非表示入力で設定します。

プログラム内では、まず画像をアップロードしてURLを取得し、それをMaxモデルの入力条件として渡します。終了画像を指定しない場合でも、開始画像の縦横比に従って長さ5秒、解像度768Pの映像が生成されます。

生成に成功すると応答から結果のURLを取り出せるため、標準ライブラリを使って手元のディレクトリへMP4ファイルとして保存します。以下をgenerate_shot.pyに保存し、shot01.blendと同じフォルダでpython generate_shot.pyを実行します。仕様に基づく未実測の例で、完了待ちはSDKに任せます。

from pathlib import Path
import urllib.request
import fal_client

Path("output").mkdir(exist_ok=True)
image_url = fal_client.upload_file("renders/shot01_00001.png")

arguments = {
    "image_url": image_url,
    "prompt": "A plain white cup on a wooden table. The camera slowly moves closer. Quiet room tone, no music.",
    "prompt_expansion_mode": "balanced",
    "duration": 5,
    "resolution": "768P"
}

result = fal_client.subscribe("minimax/h3-max/image-to-video", arguments=arguments)
video_url = result["video"]["url"]

urllib.request.urlretrieve(video_url, "output/shot01.mp4")

この短いSDK例には途中再開用のID保存を含めていません。通信が途切れたら再実行する前にfalの履歴を確認し、重複生成を避けます。

出力結果の確認と次の修正

映像が保存できたら、未加工の出力内容を再生して確認します。カップの輪郭が保たれているか、机との接触面が自然か、カメラの寄る方向が正しいか、静かな室内音があり、不要な音楽がないかをチェックします。

被写体が途中で変形したり、突然別のカットに切り替わったり、不要なBGMが鳴っていたりする場合は不採用の条件となります。画像を入力しても生成結果が毎回同じになるとは限らず、常に成功が保証されるわけではありません。

思い通りの動作にならない時は、次回はカメラの動きだけを弱めるなど、一度に一つの変数だけを変更して再度送信します。

Blenderを用いて構図を作成しても、3Dの形状が映像内で厳密に拘束されるわけではありません。シーンごとの開始画像で人物、衣装、照明をそろえ、それぞれ短い映像にしてから編集ソフトでつなぎます。接続しただけで人物が統一されるわけではないので、隣り合うカットの顔や服も見比べます。

ComfyUIでローカル実行する手順

ComfyUIのローカルGPU実行とクラウドAPIノードの違い

APIを利用したクラウド課金を避けたい場合は、自分のコンピューターのグラフィックボードへ処理を渡す選択肢があります。処理を箱状のノードでつなぐ生成画面のComfyUIでは、モデルファイルを自分のGPUへ読み込んで動画を作れます。

ネイティブ実行とAPIノードの違い

ComfyUI上には、MiniMaxを実行するための複数のノードが存在します。追加機能として提供されるPartner APIノードは、ComfyUIのアカウントを通じたクレジットによる別課金が発生するクラウド呼び出しの仕組みです。操作画面が手元にあっても、実際の処理は手元のハードウェアでおこなわれません。

これに対して、自分のGPUで直接処理する場合は、APIの従量課金は発生しません。計算にかかる時間と電気代は自身の負担となります。ネイティブ実行で利用するのは、公開されているH3-Baseモデルです。MaxのAPIノードとは分けて選びます。

必要なハードウェアの動作条件

映像と音声を同時に生成するモデルは規模が大きく、すべてのパソコンで動く最低保証はありません。別の実行ソフトSGLangの公式例には、RTX 4090の24GB構成や、12GBのVRAMと32GBのRAMを使う構成があります。VRAMはGPU側、RAMは本体側のメモリです。

ただし、このRAM容量の試験は、2TBのメモリを持つ機械でデータがメモリに残る条件を使っています。実際の32GB機ではディスク読み込みが増え得るため、ComfyUIも同じ容量と速度で動くという保証には使えません。MacのApple Silicon環境における動作も未確認であるため、自身のGPUと空きRAM、ディスク容量を確認してから試みます。

モデルファイルの取得と配置場所

実行の準備として、ComfyUIのバージョン0.30.0以降を開き、Template LibraryからVideoの項目にあるH3テンプレートを選択します。表示された案内に従ってHugging Faceからモデルをダウンロードし、下表のフォルダへ配置してから生成を始めます。

ファイルの種類 選択と注意点 配置するフォルダ
映像モデル minimax_h3_fl2va_pruned_int8_convrot.safetensors models/diffusion_models/
テキストエンコーダー(文章をモデルの入力へ変換) qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors models/text_encoders/
VAE(内部表現を映像・音声へ変換) minimax_h3_video_vae_fp16.safetensors と minimax_h3_audio_vae_fp32.safetensors models/vae/
LoRA(追加学習した差分。高速モードで使用) minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors models/loras/

表は開始画像を使うテンプレートの組み合わせです。参照素材用では映像モデルとLoRAも変わるため、テンプレートのダウンロードリンクで確認します。まずテンプレートが指定する組み合わせを使い、対応しない重み形式を別の形式と混在させないようにします。大容量なので、ダウンロード欄の容量とディスクの空きも照合します。

入力条件の制限と生成の確認

配置したH3-BaseのFL2VAモデルは、テキストからの生成と画像からの生成に対応します。参照素材を使って生成する場合はRef2VAモデルを選びます。画像から映像を作る場合は、Load Imageノードで手元のPNG画像を読み込み、first_frameへつなぎます。終了画像となるlast_frameの入力は任意です。

途中にも画像を置く場合は、追加の接続操作が必要です。I2Vテンプレートの「Image to Video (MiniMax H3)」の入力欄ではない空白部分をダブルクリックし、内部のノードを編集する画面を開きます。

ComfyUIを更新し、ノード検索からMiniMaxH3AddGuideを追加します。このノードが追加された更新版が必要です。H3ノードから生成条件のpositiveと内部表現のlatentをつなぎ、imageへ画像、vaeへ映像用VAEを接続します。

AddGuideを挟んだ後は、そのpositive出力をBasicGuiderのconditioningへ、latent出力をSamplerCustomAdvancedのlatent_imageへつなぎます。公式I2VテンプレートのH3から先の2本の接続を、AddGuideの出力に置き換える形です。

例えば124フレームの動画の途中へ画像を置くなら、frame_idxを60にします。複数のAddGuideをつなげば、別の位置にも画像を指定できます。これはネイティブH3の機能であり、Max APIへ同じパラメーターを渡す方法ではありません。

出力サイズは次の値から始めます。Resolution Selector(出力サイズ選択)で16:9、Megapixelsを0.98、Multipleを32に設定します。Megapixelsは画素数の目安、Multipleは辺の寸法を指定の倍数へそろえる項目です。

0.98は目標値であり、出力の正確な画素数ではありません。縦横比と32の倍数への丸めを経て、この設定では1344×768になります。画素数の上限は768×1344=1,032,192です。Megapixelsを1.0にすると1376×768になり、上限を超えるため避けます。

I2Vテンプレートの「Image to Video (MiniMax H3)」へ戻り、prompt欄に前節の白いカップの英語指示を入れ、durationを5にします。公式テンプレートは秒数を24fpsのフレーム数へ変換して補正するため、この指定では124フレーム、約5.17秒になります。

ローカル生成も本記事では未実測です。準備が整ったらRunボタンを押して生成を開始します。処理が終わると、ComfyUIのoutputフォルダにMP4ファイルが保存されます。保存された映像を再生し、指定した最初のフレームと最後のフレームが含まれているか、音声が鳴っているか、意図した長さに達しているかを確認します。

商用利用と公開前に確認する条件

利用経路・ライセンス、地域・売上、素材の権利と表示を公開前に確認

動画を作成できたとしても、公開や商用利用には事前の確認が必要です。利用した経路や自身の売上規模によって、従うべき条件が異なります。

ローカルモデルの利用と適用地域

ComfyUIなどで公開された重みデータを利用する場合は、MiniMaxのCommunity Licenseに従い、第II条が定める条件付きの利用許諾を受けます。この条項による許諾と、後述する個別の書面許諾は別です。適用地域は日本を含みますが、米国、EU、英国、韓国は除外されています。

日本国内であっても、出力結果を対象外の地域へ配信する行為などは第V条4項の制限対象になり得ます。一方、公式回答には全世界への配信を認める説明と、除外地域の顧客への納品には申請を求める説明があります。条文の改定は確認できないため、利用者の所在と配信先を明示してMiniMaxへ書面確認するのが安全です。

売上規模と商用利用の扱い

第IV条1項では、年間売上が2千万米ドルを超える製品やサービスで商用利用する場合に事前の書面許諾を求めています。一方でComfyの案内ページには、すべての商用利用に月額5千米ドル以上の契約が必要という異なる説明が存在します

MiniMaxの公式組織アカウントは、日本の個人による、年間売上2千万米ドル未満の収益化YouTubeという質問に、追加許諾は不要と回答しました。情報に不一致があるため、Comfyの案内する金額をすべての個人の動画制作に必須とは断定しませんが、判断に迷う場合は、年間売上と動画公開・納品・サービス提供のどれを行うかを添えてMiniMaxへ照会します。

制作物の公開と明記のルール

公開重みのライセンスが適用される場合は、AIによる生成物であることを公開時に明示します。ライセンス付属の利用方針(AUP)第12項では、人間が作ったと誤認させないための表示が求められます。出力した動画への権利をMiniMaxが主張することはありませんが、利用はユーザー自身の責任となります。

第IV条2項には、製品やサービスのユーザーインターフェースへH3の表示を義務付ける条項があります。しかし、完成した動画へのモデル名記載は推奨にとどまり、自作サービスのUI要件と完成動画への要件は明確に区別されています。

選択したAPIによる条件の違い

falのAPIには独自の商用利用可能な表示がありますが、これにはfalのサービス利用条件や入力素材の権利も別途適用されます。この表示を、他社APIやローカル環境における公開重みの利用条件へと一般化して適用することはできません。

どの提供元のAPIや公開重みを用いたかを整理し、出力の変形や権利条件を確認して公開の可否を判断します。条件が食い違う場合は、確認が取れるまで公開を見送ります。

よくある質問

Q1. 生成を指示した直後に通信が切れた場合はどうすればよいですか

自動で同じ指示を再送しないでください。すでに受け付けられていた場合、重複して課金される恐れがあります。保存済みの受理IDや提供元の利用履歴を確認し、IDがある場合は状態確認だけを実行します。IDが不明な時はサポートへ照会します。

Q2. 取得した映像のURLを開いてもエラーになるのはなぜですか

ReplicateのAPI出力URLは、通常1時間程度で期限切れになります。失効したリンクを再度取得しても映像が復活するとは限りません。まずは手元のコンピューターにMP4ファイルがすでに保存されていないか確認してください。

Q3. 用意したPNG画像をAPIへ渡しても読み込めない時の確認点は何ですか

本文のfal例では、手元のファイルパスをAPIへ直接送信していないか調べます。画像をアップロードして、得られたURLを渡します。URLが期限切れでないか、ログインなしでも画像を取得できるかも確認します。

調査手法について

こちらの記事はグラフAIリサーチプラットフォームのSnorbeを使って作られています。Snorbeは研究開発・新規事業向けの調査テーマに応じた幅広い項目のオートリサーチや、ナレッジグラフの構築、構造化レポートの生成ができるAIリサーチツールです。

Screenshot

調査したいテーマを入力するだけで、AIが深堀りすべき観点や広げるべき調査項目をレコメンドしながら、自動でリサーチを進めます。収集した情報はナレッジグラフとして蓄積され、未調査領域(ホワイトスペース)を可視化しながら調査の網羅性を高めていけます。

また、観点マトリクスを30秒・構造化レポートを10分で自動生成する機能があり、出典付きのレポートをMarkdown/PDF形式でエクスポートできます。調査の元データも保存されるため、ファクトチェックや社内共有も容易です。

ご利用をご希望の方は、こちらよりお申し込みください。

また、グラフAIを活用した社内ナレッジ管理や、研究開発・新規事業のリサーチ支援、セルフホスト導入のご相談も受け付けています。お困りの方はお気軽にご連絡ください。

メディアを購読する

ソフトウエア広告・出版・マスコミ
冨田到をフォローする

コメント

タイトルとURLをコピーしました