本文へスキップ

MiniMax H3 LoRA API ガイド:モードを選んで重みを確認する

自分の LoRA を MiniMax H3 動画に読み込む:テキスト、フレーム、参照のどれかを選び、重みをリンクし、強度を決めて料金を見積もる。実行できる例つき。

執筆
Lydia
公開
読了時間
約 18 分
更新
駅に立つ女性と、異なるビジュアル処理を施した3枚のポートレート、そして写真家

自作の LoRA を読み込む価値があるのは、必要なカットでも通用する場合だけです。人物、動き、音が同時にそろっていなければなりません。SpicyAPI(spicyapi.ai)の MiniMax H3 LoRA は、オープンウェイトの H3 動画モデルに loras フィールドを加えたもので、1回のリクエストにつき自分の .safetensors ファイルを最大3つまで、それぞれ 0 から 4 の強度で読み込めます。

手元にある素材でタスクを選び、H3 向けに学習された直リンクのファイルを指定してください。スタイル LoRA は強度 1、コンセプト LoRA は 0.6 から 0.8 で始め、3秒・480p のドラフト($0.15)を、loras を空にした同じリクエストと見比べて判断します。 2026年9月の私たちのテストでは、3つのタスクすべてがアダルト向けのリクエストを処理し、SpicyAPI は読み込む重みに追加のコンテンツフィルターを設けていません。

手元にある素材でタスクを選ぶ

手元にあるものタスクそこでの LoRA の役割
文章で書いたシーンText-to-video見た目を主導するため、どのファイルでも最初のテストに最適です。アスペクト比は7種類。
承認済みのフレームImage-to-videoクリップはそのフレームから始まり、形を保ちます(アスペクト比フィールドはなし)。任意の last_image_url で最後のフレームを指定できます。強い LoRA はクリップをフレームから引き離すことがあり、スタイル LoRA は写真的なフレームでは効きが薄れます。
画像、クリップ、音声Reference-to-video画像は最大9枚、クリップは3本、音声は3本まで。それぞれにプロンプトで1つの役割を与えます。キャラクター LoRA と同じ人物の静止画を組み合わせると、同一性がいちばん保たれます。

3つとも、同じ処理でステレオ音声つきの3〜15秒の MP4 を返します。解像度は 480p、540p、768p、1080p から選べ、LoRA の読み込みに追加料金はかかりません。読み込む LoRA がないなら、ベースの H3 のほうが安く済みます。動画の秒数に課金される前にキャラクターや見た目を固めたいなら、先に H3 Image LoRA で静止画を作ってください。同じ loras 配列がそのまま使えます(静止画と動画の比較)。

H3 LoRA の3つのタスクの図:文章のシーンは text-to-video へ、冒頭フレームは image-to-video へ、参照素材の集まりは reference-to-video へ進み、それぞれ最初に確認する点が示されている
各タスクで最初に確認すること。

H3 に合う LoRA を選ぶ

ファイルは MiniMax H3 向けに学習されたものでなければなりません。別のベースモデル向けの LoRA は互換性がありません。H3 のアダプターであっても、ローダーが対応するタスクと重みのレイアウトが必要です。H3 の LoRA はまだ新しく品質にばらつきがあるため、ベースモデル、トリガーワード、実際に使える強度が書かれたモデルカードを探してください。それらを備え、この API で読み込める2つのファイルを紹介します。

LoRA効果タスクトリガー作者推奨の強度サイズ
vh5tape使い込んだ1980年代の VHS 風:テープノイズ、色にじみ、こもった音Text、Imagevh5tape、プロンプトの先頭に置くフルの見た目なら 1.0、軽い劣化感なら 0.7〜0.9131 MB
H3 Realism Peopleリアルな肌と顔、軽い手持ちカメラ感Text、image、reference を1つのファイルでr34l1sm1.0 が想定値、控えめにするなら 0.6〜0.8131 MB

どちらも H3 Community License を採用しており、地域と用途に制限があります。商用利用の前に必ず読んでください。

モデルカードから取り入れるのは、トリガーと強度だけにしてください。ローカルの ComfyUI や他のホスト向けに書かれたレシピには、このタスクにはない設定(prompt_expansion_mode、ステップ数、サンプラー、weight_name、リンクの代わりのリポジトリ名)が含まれています。また、速度蒸留(Turbo)の LoRA はローカルのサンプリングステップを減らすためのものなので、使わないでください。

ファイルをリンクする

path は、ログインなしで .safetensors ファイルを返す直接の HTTPS リンクでなければなりません。Hugging Face では、アドレスバーに表示される /blob/ ページではなく /resolve/ リンクがそれにあたります。リクエストに認証情報のフィールドはないため、非公開のファイルにはジョブが実行されるまで有効な署名付きリンクが必要です。main をコミットハッシュに置き換えると、来月も同じリクエストで同じファイルが読み込まれます。/blob/ ページ、存在しないファイル、非公開リポジトリは、タスクが作られる前に 400 で拒否されます。受理されたあとでタスクが失敗した場合は、同じリクエストを "loras": [] にして再送してください。成功すれば問題はファイル(アクセス、互換性、効果)にあり、それでも失敗するならプロンプトか入力を見直します。

まず Playground で試す

  1. text-to-video ページを開き、Playground タブの Form ビューのまま、実行するには残高のあるアカウントでサインインします。image-to-video と reference-to-video にはそれぞれ専用ページがあります(上の表のリンク)。
  2. Prompt の先頭にトリガーワードを置き、続けてショットを短いタイムラインとして書きます(誰が映り、何をして、カメラがどう動くか)。音は専用の Audio: 行に分けます。LoRA がすでに行うことを長く説明すると、重みと競合しがちです。
  3. Style LoRAs の LoRA file に直接のファイルリンクを貼り、Strength を設定します。Add item で最大3つまでファイルを追加できます。
  4. 安く最初の確認をするため、Resolution は 480p、Duration は 3 を選び、Seed を設定して実行します。
  5. Remove item を押し、同じプロンプトと seed でもう一度実行して、2つのクリップを比べます。似ていれば、その LoRA は何もしていません(下の失敗の表を参照)。
Form ビューの MiniMax H3 text-to-video Playground。Prompt フィールドと結果の例が表示されている

Form ビューの MiniMax H3 text-to-video Playground。Prompt フィールドと Run ボタンが見えます。LoRA ページでは、同じフォームに Style LoRAs セクションが加わります。

Playground のリクエスト本文は API が受け取る JSON と同じなので、ここでうまくいった設定はそのままコードにコピーできます。残り2つのタスクでは、それぞれ専用の入力が加わります。

  • Image-to-video では Input image(冒頭のフレーム)と、任意の Closing frame が加わります。新しいシーンではなく、フレームの中でこの先に起こることを書いてください。コンセプト LoRA を 1 にしたとき、被写体を別の部屋に移すプロンプトは冒頭のフレームを置き換えてしまいましたが、フレーム内の動きを書いたプロンプトではフレームが保たれました。アスペクト比フィールドはないため、先にフレームを希望の形にトリミングし、動きの余白を残しておきます。
  • Reference-to-video では Reference images(最大9枚)、Reference videos(最大3本)、Reference audio(最大3本)が加わります。プロンプトの冒頭に、入力1つにつき短い1文を置き、それぞれに1つの役割を与えます。Picture 1 は女性、Picture 2 は部屋、Video 1 はカメラの動き、Audio 1 は彼女の声、という具合です。クリップから動きを借りるときは、人物は画像から、動きだけをクリップから取ると明言してください。その一文がないと、クリップの中のダンサーまで動きと一緒に入り込みました。質の良い静止画3枚のほうが、重なり合う9枚より同一性をよく保ちます。
4つの参照の役割の図:キャラクター、セット、動き、音
参照ごとに役割は1つ:誰が、どこで、どんな動きで、どんな音か。

各モデルページの Playground には、すぐ使える例が最初から入っており、Request body パネルに正確な JSON が表示されます。それらの例を3回実行した結果です。

このリクエストによる Text-to-video。vh5tape を強度 1 で使い、5秒・480p・4:3。テープノイズ、色にじみ、こもった雨音とジュークボックスの音になっています。
このリクエストによる Image-to-video。768p で5秒、ホテルの窓辺に立つ男性の静止画から始まり、カメラのほうを向いたところで終わります。Realism People LoRA は 0.8。
このリクエストによる Reference-to-video。540p・9:16 で6秒、Picture 1 の女性が Picture 2 のホテルの部屋に歩いて入り、鏡のほうを向きます。

参照クリップは、出力の秒数に加えて、そのクリップの秒数でも課金されます(クリップの合計は最大15秒まで)。短くしておいてください。

次にコードから実行する

Python SDK をインストールし(pip install spicyapi)、サーバー環境に SPICY_API_KEY を設定して、下の text-to-video リクエストを実行します。他のタスクでは、image-to-video なら model を変え、aspect_ratio を外して image_url を追加します。reference-to-video なら model を変え、reference_image_urls を追加します(aspect_ratio は残します)。

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

task = client.create_task(
    model="minimax/h3-lora/text-to-video",
    input_data={
        "prompt": "vh5tape, worn VHS tape with light tracking noise. A woman in a red satin dress sits alone in a late-night diner booth, turns toward the camera and slowly smiles, neon light flickering in the rain-streaked window behind her. Slow push-in. Audio: rain on glass, a jukebox ballad muffled through the tape, quiet room hum.",
        "aspect_ratio": "4:3",
        "resolution": "480p",
        "duration_seconds": 5,
        "seed": 42,
        "loras": [{
            "path": "https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/d25a4ab75aba899aa508220321525c8465ac11af/vh5tape.safetensors",
            "scale": 1.0,
        }],
    },
    idempotency_key=str(uuid.uuid4()),
)

final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"])  # copy the video to your own storage now

タスクの作成、待機、ダウンロード、リトライ、エラーコードについては、タスクガイドと Python SDK リファレンスで扱っています。生成されたファイルの保持期間は最長14日なので、返されたリンクを前提にシステムを組む前に保持と配信を確認してください。本番運用では、ポーリングと Webhook のどちらを使うかを扱った記事「async-task-api-polling-vs-webhook」(現時点では英語のみ)が選択の助けになります。

エージェントに実行させる

アシスタントに生成を任せる場合、公式の3つのツールはどれも料金を表示し、有料の呼び出しの前に確認を求めます。

  • CLI。 同じ input オブジェクトを t2v.json に入れて、次を実行します。

``bash spicyapi tasks create --model minimax/h3-lora/text-to-video --input-file t2v.json --wait ``

CLI ドキュメントを参照してください。npx @spicyapi/cli ならインストールなしで動きます。

  • MCP サーバー。 MCP サーバーをアシスタントに追加し、「このプロンプトとこの重みリンクで、強度 1、480p、3秒の MiniMax H3 LoRA text-to-video を実行して」と頼みます。spicyapi_task_create が呼ばれて料金確認のために止まり、そのあと spicyapi_task_wait が呼ばれます。
  • Skill。 npx skills add spicyapi-ai/spicy-skill でエージェントスキルをインストールすると、コーディングアシスタントがフィールドを推測せずに、最新のモデルスキーマを読むようになります。

強度を決める

scale は 0 から 4 の範囲で、1 が基準です。スタイル LoRA は 1、コンセプト LoRA は 0.6〜0.8 から始めます。そのうえで、同じプロンプトと seed、480p・3秒で、scale を 0.5、0.8、1.1 にした実行に、loras を空にした実行を1つ加えて、段階的に比べます。1回の実行で変えるのは1つだけです。seed を固定すると実行どうしの比較はしやすくなりますが、結果は同一にはなりません。そのため、ピクセル単位ではなく、見た目と動きで判断してください。

イラスト(H3 の出力ではありません):カラーの駅員と、同じカットの経年劣化したモノクロ版が並んでいる
イラスト(H3 の出力ではありません):良い比較用のペアは、被写体、構図、動きが同じで、見た目だけが変わります。

しっくりくる段階を採用するか、2つの段階の中間を取ります。被写体、動き、音が崩れ始めたら強度を上げるのをやめてください。ベースラインの時点でそのカットが成り立っていないなら、どんな scale でも直りません。最初のフレームだけでなくクリップ全体を見て、音も聴いてください。LoRA は音も変えることがあります(vh5tape はわざとこもらせます)。vh5tape のカードには、劣化の軽・中・重に対応するプロンプトの言い回しも載っています。scale を 1 より上げる前に、そちらを変えてください。

イラスト(H3 の出力ではありません):同じ駅員が、フィルムの経年劣化の質感を強めながら4段階で変化していく
イラスト(H3 の出力ではありません):良い強度の段階では、被写体はそのままで、見た目だけが少しずつ変わります。

最大3つまで重ねる

組み合わせる前に、各ファイルを単独でテストしてください。つややかなポートレートで学習したキャラクター LoRA は、強いテープ風の見た目と衝突することがあり、モーション LoRA は被写体を構図から背けさせることがあります。重ねた構成がうまくいかないときは、seed とプロンプトを固定したまま、エントリーを1つずつ外していきます。外した時点で改善するなら、そのアダプターか、残りの構成との相互作用が原因です。最も強い重みを最初に下げてください。2つの要件がぶつかったときにどちらを優先するか(たとえば質感より同一性)を、あらかじめ決めておきます。テキストでうまくいった構成は、写真的なフレームや参照に使う前に、もう一度テストしてください。

料金

タスク480p540p768p1080p追加料金
Text-to-video と image-to-video$0.05/秒$0.075/秒$0.10/秒$0.20/秒なし。LoRA の読み込みは無料
Reference-to-video$0.06/秒$0.09/秒$0.135/秒$0.27/秒参照画像または音声クリップ1件につき $0.02。参照クリップの秒数は出力の秒数と同様に課金
  • 480p で3秒:$0.15。480p で5秒:$0.25。1080p で5秒:$1.00。
  • 上の3つのリクエストは、$0.25、$0.50、$0.58。
  • ベースラインに3段階のラダーを加えた、3秒・480p のクリップ4本:$0.60。
  • Reference-to-video で480p・5秒:画像1枚なら $0.32、2枚なら $0.34、1080p で画像1枚なら $1.37。
  • 失敗した、または期限切れになったタスクには、通常は課金されません。仕上がったクリップが気に入らなくても、課金されます。
  • 参照クリップを含む見積もりでは、クリップの15秒分がまるごと確保されます。480p・5秒の出力で $1.20 です。実際の課金は、クリップの実際の長さで確定します。

480p・3秒でドラフトを作り、気に入ったものを同じ seed で768pか1080pに1回だけ送り直してください。コピーではなく、近い別バージョンになると考えてください。

予算の図:ベースライン1本と強度の候補3本、いずれも3秒・480p。3秒を4回、1秒あたり $0.05 で、合計 $0.60
ベースライン1本と、3段階の強度ラダー(3秒・480p)。

LoRA が効かないとき、クリップがおかしいとき

症状考えられる原因対処
クリップがふつうの H3 のように見えるファイルが別のベース向けに学習されている、トリガーがない、または写真的なフレームや参照がスタイル LoRA を押しのけているカードのベースを確認し、トリガーを先頭に置き、同じファイルを text-to-video で試してから、scale を上げる
クリップが冒頭のフレームから離れていくコンセプト LoRA が強すぎる、またはプロンプトが新しいシーンを描いている0.6 まで下げ、次に起こることだけを書く
見た目がシーンを圧倒する最も強い重みが高すぎる、または構成が詰め込みすぎ最も強い重みを下げ、エントリーを1つずつ外す
参照クリップの出演者が現れるクリップの用途をプロンプトで伝えていない人物は画像から、動きだけをクリップから取ると明記する
同一性がぶれる重なり合う参照が多すぎる質の良い静止画を2〜3枚にとどめる
400 で拒否される直接のファイルリンクではない/resolve/ のファイルリンクを使う
受理されたあとでタスクが失敗するリンクの期限切れ、またはリポジトリが非公開になった"loras": [] で再送する。署名付きリンクは、ジョブが終わるまで有効なものにする
診断の手順:ファイルとベースを照合し、トリガーと入力モードを確認し、強度を1つだけ変え、最後にショット全体を判断する
アダプターを疑う前に、ふつうのショットを確認する。

Uncensored な使い方

SpicyAPI はプロンプト、重み、出力のいずれにもコンテンツフィルターを加えません。これらのテストでは、LoRA を読み込まない状態で、私たちのコンテンツのラダーに沿って試しましたが、拒否されたものはありませんでした。ラダーは L1 Suggestive、L2 Mature themes、L3 Strong、L4 Intense の順に進み、L5a Restraint と L5b Gore のプローブも加えています。1つだけ弱点がありました。LoRA なしの image-to-video では、L4 Intense(成人2人の親密なシーン)が3回中2回で弱められましたが、テキスト入力と参照入力は全レベルを描画しました。コミュニティのアダルト LoRA を読み込むと、3つのタスクすべてが L4 を描画しました。完全な結果は H3 LoRA レビューにあります。

SpicyAPI が追加のコンテンツフィルターを設けていないことは、肖像に対する権利を与えるものではありません。映る人物はすべて成人でなければならず、実在の人物の LoRA には、その人の同意と、その肖像に対するあなたの権利が必要です。

MiniMax H3 LoRA playground で試せます。ライブの料金が表示されます。

FAQ

Hugging Face のリポジトリ名や /blob/ リンクを貼れますか?

いいえ。path にはファイルへの直接の HTTPS リンクを指定します。/blob/ ページや owner/repo だけの名前は 400 で拒否され、他のホストが受け付ける weight_name フィールドに相当するものもここにはありません。/resolve/ リンクを使ってください。

自分で学習した LoRA を読み込めますか?

はい。オープンウェイトの H3 で学習され、.safetensors として保存され、HTTPS で到達できるものであれば読み込めます。

他の言語 English · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano · Polski

実際に試してみる

支払いは実行した分だけ。プランもサブスクリプションもありません。

使用モデル:MiniMax H3 · ByteDance Seedance 2.0 Fast