Hunyuan Video Fast は、POST https://api.novita.ai/v3/async/hunyuan-video-fast で Novita AI から利用可能です。これは、テンセントのオープンソース Hunyuan Video 基盤モデルの速度最適化バリアントです。標準版と比較して生成時間を短縮する代わりに、動きの忠実度がいくらか低下します。そのため、ターンアラウンド速度が最高の映画品質よりも重要な、高スループットパイプライン、プロンプトの反復、ステージングワークフローに実用的です。
すべての Novita 非同期ビデオ API と同様に、送信時に task_id を返し、タスクが完了するとビデオ URL を配信します。このガイドでは、エンドポイント、リクエスト形式、実際の Python および cURL の例、そして高速バリアントが標準モデルと比較してどこに適合するかを説明します。
Hunyuan Video Fast を標準版と使い分けるタイミング
高速バリアントは、最高の視覚品質よりも生成のターンアラウンドとリクエスト数が重要な場合に適切な選択です。標準の Hunyuan Video は、生成ごとに、より高品質な動きと優れたプロンプト追従性を実現します。高速バリアントはその時間を大幅に短縮します。以下のような場合に役立ちます。
- プロンプトの反復 — フルクオリティのレンダリングにコミットする前に、安価に多くのバリエーションをテストする
- 高スループットパイプライン — クリップあたりのレイテンシがスループットに直接影響するバッチコンテンツ生成
- ステージングおよび内部レビュー — 共有可能な出力を迅速に取得し、最終納品時には標準版に切り替える
- 低レイテンシアプリケーション — 応答時間の制約が厳しい本番ワークフロー
出力品質が主要な制約である場合(放送、最終納品、フォトリアリスティックな動きなど)は、代わりに標準の Hunyuan Video エンドポイントを使用してください。
ステップ1: Novita AI API キーを取得する
novita.ai にサインアップし、キー管理ページ から API キーを生成します。新しいアカウントには無料クレジットが付与されます。キーは環境変数として保存し、ソースファイルにハードコードしないでください。
export NOVITA_API_KEY="your_api_key_here"
ステップ2: エンドポイントとモデル ID
| フィールド | 値 |
|---|---|
| 送信エンドポイント | POST https://api.novita.ai/v3/async/hunyuan-video-fast |
| 結果取得 | GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
| 認証ヘッダー | Authorization: Bearer $NOVITA_API_KEY |
| Content-Type | application/json |
公式 API リファレンス: novita.ai/docs/api-reference/model-apis-hunyuan-video-fast
ステップ3: 最初のリクエストを送信する
プロンプトと出力設定を指定して生成リクエストを送信します。
curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox running through a snowy forest at dawn, slow motion, cinematic wide shot",
"negative_prompt": "blurry, low quality, distorted, watermark",
"width": 1280,
"height": 720,
"seed": -1
}'
API は即座に task_id を返します。
{
"task_id": "hunyuan-fast-abc123"
}
このレスポンスにはビデオは含まれていません。task_id を保存し、次のステップで使用します。
ステップ4: ビデオ結果をポーリングする
curl -s "https://api.novita.ai/v3/async/task-result?task_id=hunyuan-fast-abc123" \
-H "Authorization: Bearer $NOVITA_API_KEY"
task_status が TASK_STATUS_SUCCEED になるまでポーリングを続けます。
{
"task_status": "TASK_STATUS_SUCCEED",
"videos": [
{
"video_url": "https://cdn.novitai.com/output/...",
"video_url_ttl": 3600,
"video_type": "mp4"
}
]
}
video_url は video_url_ttl 秒後に期限切れになるため、すぐにダウンロードまたは保存してください。
タスクステータスの値
| ステータス | 意味 |
|---|---|
TASK_STATUS_QUEUED |
リクエストが受け入れられ、実行待ち |
TASK_STATUS_PROCESSING |
生成中 |
TASK_STATUS_SUCCEED |
完了 — videos[0].video_url でビデオ URL を利用可能 |
TASK_STATUS_FAILED |
生成失敗 — レスポンスで失敗理由を確認 |
Python の例
import os
import time
import requests
API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_video(
prompt: str,
negative_prompt: str = "",
width: int = 1280,
height: int = 720,
seed: int = -1,
) -> str:
payload = {
"prompt": prompt,
"negative_prompt": negative_prompt,
"width": width,
"height": height,
"seed": seed,
}
resp = requests.post(
f"{BASE_URL}/v3/async/hunyuan-video-fast",
headers=HEADERS,
json=payload,
)
resp.raise_for_status()
return resp.json()["task_id"]
def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
deadline = time.time() + timeout
while time.time() < deadline:
resp = requests.get(
f"{BASE_URL}/v3/async/task-result",
headers=HEADERS,
params={"task_id": task_id},
)
resp.raise_for_status()
data = resp.json()
status = data.get("task_status", "")
if status == "TASK_STATUS_SUCCEED":
return data
if status == "TASK_STATUS_FAILED":
raise RuntimeError(f"Task failed: {data}")
time.sleep(interval)
raise TimeoutError(f"Task {task_id} did not complete within {timeout}s")
if __name__ == "__main__":
task_id = submit_video(
prompt="A red fox running through a snowy forest at dawn, slow motion, cinematic wide shot",
negative_prompt="blurry, low quality, distorted, watermark",
width=1280,
height=720,
)
print(f"Task submitted: {task_id}")
result = poll_result(task_id)
for video in result.get("videos", []):
print(f"Video URL (expires in {video['video_url_ttl']}s): {video['video_url']}")
cURL の例
# ステップ 1: 生成リクエストを送信
TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A timelapse of a city skyline transitioning from dusk to night, cinematic",
"negative_prompt": "blurry, low quality, distorted",
"width": 1280,
"height": 720,
"seed": 42
}' | jq -r '.task_id')
echo "Task ID: $TASK_ID"
# ステップ 2: 完了するまでポーリング
while true; do
RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
-H "Authorization: Bearer $NOVITA_API_KEY")
STATUS=$(echo "$RESULT" | jq -r '.task_status')
if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
echo "$RESULT" | jq -r '.videos[0].video_url'
break
elif [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
echo "Failed: $RESULT"
break
fi
echo "Status: $STATUS — waiting..."
sleep 5
done
主要パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
prompt |
string | はい | ビデオシーン、被写体、動き、スタイルのテキスト記述 |
negative_prompt |
string | いいえ | 出力で避ける要素(例: “blurry, low quality”) |
width |
integer | いいえ | 出力幅(ピクセル) — サポートされる値は API ドキュメント を確認 |
height |
integer | いいえ | 出力高さ(ピクセル) — width と組み合わせて解像度を設定 |
seed |
integer | いいえ | 固定整数を設定して同じ出力を再現; -1 でランダム |
duration オプション、最大解像度制約、モデル固有のフィールドを含む完全なパラメータリストについては、Hunyuan Video Fast API リファレンス を参照してください。
料金と制限
現在のビデオごとの料金は、Novita AI モデルページ で確認してください。ビデオ生成料金は通常、生成クリップごとであり、解像度と時間によって異なります。本番ワークロードのコストモデルを構築する前に、料金ページを確認してください。
デプロイする前に、公式ドキュメントで以下の制限を確認してください。
- 最大プロンプト文字数
- サポートされる解像度の値(幅 × 高さの組み合わせ)
- 最大ビデオ時間(秒)
- API キーごとのレート制限と同時タスク上限
高速バリアントは通常、計算時間が短いため、標準モデルよりもクリップあたりのコストが低くなります。Novita の料金ページで現在の差額を確認してください。
トラブルシューティング
401 Unauthorized — API キーがないか、無効か、期限切れです。NOVITA_API_KEY が設定されていること、およびキーが Novita AI ダッシュボード でアクティブであることを確認してください。
422 Unprocessable Entity — 必須パラメータが不足しているか、値が範囲外です。prompt が空でないこと、width/height の値が API ドキュメントのサポート対象セットに含まれていることを確認してください。
タスクが TASK_STATUS_PROCESSING のまま ** — 生成がまだ実行中です。高速バリアントは標準よりも速く完了しますが、解像度が高く、時間が長いほど時間がかかります。大きな出力の場合はポーリングタイムアウトを延長してくさい。
video_url が 403 または 404 を返す — URL の有効期限が切れています(video_url_ttl が経過)。本番環境では、TASK_STATUS_SUCCEED の直後にビデオをダウンロードまたは転送してください。ホストされている URL を永続的なストレージとして依存しないでください。
特定のプロンプトタイプで一貫した品質の問題 — prompt の改善アプローチに切り替えてください。被写体、アクション、カメラアングル、スタイルを明示的に記述します。一般的なアーティファクトに対して negative_prompt エントリを追加します。それでもユースケースに十分な品質が得られない場合は、標準の Hunyuan Video エンドポイントを評価してください。
FAQ
Novita AI の Hunyuan Video Fast のエンドポイントは何ですか?
POST https://api.novita.ai/v3/async/hunyuan-video-fast です。API は非同期です。リクエストを送信し、task_id を受け取り、task_status が TASK_STATUS_SUCCEED になるまで GET https://api.novita.ai/v3/async/task-result?task_id=<id> をポーリングします。
Hunyuan Video Fast は標準の Hunyuan Video とどう違うのですか?
高速バリアントは生成速度に最適化されており、タスク送信から完了までの時間を短縮します。トレードオフとして、動きの忠実度と細かいプロンプト追従性は標準モデルよりも低くなります。高速バリアントは、プロンプトの反復、高スループットバッチジョブ、ステージングに使用し、最終品質出力には標準モデルを使用してください。
特定のビデオ時間を設定できますか?
サポートされている duration パラメータについては、API リファレンス を確認してくさい。一部の Novita ビデオ API は明示的な duration フィールドを公開していますが、他の API はモデルのデフォルトを使用します。デフォルトのクリップ長を仮定する前に確認してください。
特定のビデオ出力を再現するにはどうすればよいですか?
seed を固定整数に設定します。同じ seed、prompt、width、height の組み合わせは、実行間で一貫した出力を生成するはずです。
Hunyuan Video Fast は画像からビデオへの変換をサポートしていますか?
Novita AI 上の Hunyuan Video Fast はテキストからビデオへのモデルです。Novita での画像からビデオへの生成については、Novita モデルページ で Kling、Vidu、Wan などの利用可能な I2V モデルを確認してください。
Novita AI での Hunyuan Video Fast の料金はいくらですか?
現在の料金は novita.ai/models で確認してくさい。ビデオモデルのクリップあたりの料金は変更される可能性があります。本番環境のコスト見積もりを立てる前に、必ず料金ページを確認してください。
Hunyuan Video Fast は本番ビデオパイプラインに適していますか?
はい、適切な処理を行えば適しています。非同期タスク送信を中心にパイプラインを設計し、task_id を保存してステータスを追跡し、完了後すぐに(video_url_ttl が期限切れになる前に)ビデオをダウンロードし、TASK_STATUS_FAILED をリトライまたはフォールバック戦略で処理してくさい。**
