チュートリアル
Wan 3.0 API 接続チュートリアル:curl、Python と全パラメータ
万相 Wan 3.0 標準版の呼び出し方:タスクの送信と結果取得、先頭・末尾フレームとリファレンスモード、全パラメータ、よくあるエラー、480P 5 秒 $0.20。
万相 Wan 3.0 標準版(wan3.0-video)は HiAPI 上で統一の非同期インターフェースを使用します:POST /v1/tasks で送信して taskId を取得し、GET /v1/tasks/{taskId} で結果を取得します。プロンプトを 1 行書くだけで音声付きの動画が生成できます。先頭フレーム、末尾フレームを追加したり、最大 10 枚のリファレンス画像、5 本のリファレンス動画、5 本のリファレンス音声を組み合わせて生成を制御することもできます。この記事では、すぐに実行できる curl と Python のサンプル、現在の全パラメータ、そして本番前に注意すべき点をいくつか紹介します。
まず価格
| 解像度 | 1 秒あたり | 5 秒 |
|---|---|---|
| 480P | $0.04 | $0.20 |
| 720P | $0.08 | $0.40 |
| 1080P(デフォルト) | $0.16 | $0.80 |
HiAPI 現行価格、2026 年 10 月 18 日確認。音声はデフォルトで有効、追加料金なし。
デフォルト値に注意:resolution を書かなければ 1080P、duration を書かなければ 5 秒で、1 本 $0.80 になります。プロンプトを試すときは "resolution": "480P" を明示的に書きましょう。
より速く生成したい場合は高速版 wan3.0-video-prime が使えますが、価格は標準版の 2 倍以上です(480P で 1 秒 $0.0875)。
実際の生成例
480P、16:9、5 秒、音声付き:
A steaming noodle stall at a night market, close on the cook's hands as she lifts a tangle of noodles from a boiling pot and swirls them into a blue-rimmed bowl; slow push-in, warm tungsten light against cool blue street glow, steam drifting through the frame. Sound: rolling boil, the clink of a ladle, crowd murmur and a scooter passing in the distance.
wan3.0-video、480P、5 秒、$0.20。
最初の 1 本を動かす
準備:コンソール で API Key を作成します。新規ユーザー登録で 200 クレジットが付与されます。
curl:タスクを送信
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"input": {
"prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
"resolution": "480P",
"duration": 5,
"aspect_ratio": "16:9"
}
}'
すぐに taskId が返り、生成はバックグラウンドで進みます:
{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}
curl:結果を確認
curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
data.status が success になると、data.output[0].url が動画の URL です。一時 URL は約 7 日で期限切れになるため、できるだけ早くダウンロードして保存してください。fail は失敗を意味し、課金はされません。
Python
import os, time, requests
KEY = os.environ["HIAPI_KEY"]
BASE = "https://api.hiapi.ai/v1"
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
r = requests.post(f"{BASE}/tasks", headers=H, json={
"model": "wan3.0-video",
"input": {
"prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
"resolution": "480P",
"duration": 5,
},
})
task_id = r.json()["data"]["taskId"]
while True:
d = requests.get(f"{BASE}/tasks/{task_id}", headers=H).json()["data"]
if d["status"] in ("success", "fail"):
break
time.sleep(10)
print(d["output"][0]["url"] if d["status"] == "success" else d)
短い動画は通常数分で生成されます。ポーリング間隔は 10 秒で十分です。
全パラメータ
| フィールド | 必須 | 値 | 説明 |
|---|---|---|---|
prompt |
はい | テキスト | シーン、動作、カメラ、光、音声をすべてここに書きます。リファレンスモードでは Image1、Video1、Audio1 で素材を参照します |
resolution |
いいえ | 480P / 720P / 1080P(デフォルト) |
1 秒あたりの単価を決定 |
duration |
いいえ | 整数 2–30、デフォルト 5 | リファレンス動画の合計時間+出力時間が 30 秒を超えることはできません |
aspect_ratio |
いいえ | adaptive(デフォルト)/ 16:9 / 4:3 / 1:1 / 3:4 / 9:16 |
adaptive は素材とプロンプトに応じて自動選択 |
audio |
いいえ | 真偽値、デフォルト true |
同期音声トラックを含めるかどうか |
seed |
いいえ | 0–2147483647 | 固定すると再現が容易 |
first_frame_url |
いいえ | 画像 URL 1 個 | 先頭フレームモード |
last_frame_url |
いいえ | 画像 URL 1 個 | 先頭フレームと一緒に使い、末尾フレームを指定 |
reference_image_urls |
いいえ | 最大 10 個 | リファレンス画像 |
reference_video_urls |
いいえ | 最大 5 個、1 本 1–15 秒、合計 ≤15 秒 | リファレンス動画 |
reference_audio_urls |
いいえ | 最大 5 個の WAV/MP3 | 画像または動画と一緒に使う必要あり |
reference_file_urls |
いいえ | 最大 1 個 | ドキュメントまたはプレゼンテーション |
reference_link_urls |
いいえ | 最大 1 個 | ログイン不要の Web ページ |
2 つのモードは併用できません:先頭フレーム/末尾フレームモードと reference_* リファレンスモードは排他的で、1 回のリクエストではどちらか一方のみ選択できます。
リファレンスモードの記述例:
{
"model": "wan3.0-video",
"input": {
"prompt": "Use Image1 as the product: slow quarter orbit around it on a wooden counter, soft morning window light. Sound: gentle pouring water.",
"reference_image_urls": ["https://example.com/product.jpg"],
"resolution": "480P",
"duration": 5
}
}
よくあるエラー
いずれも送信時に同期的に HTTP 400 が返り、タスクは作成されず、課金もされません:
duration: maximum: got 99, want 30:長さが 30 秒を超えています。resolution: value must be one of '480P', '720P', '1080P':解像度の P は大文字にしてください。additional properties 'negative_prompt', 'image_urls' not allowed:このモデルにはネガティブプロンプトがありません。リファレンス画像のフィールドはreference_image_urlsであり、image_urlsではありません。- API Key が誤っている場合は HTTP 401、残高不足の場合は 402 が返ります。
タスク作成後に失敗した場合は、結果取得で status: "fail" となり、HTTP ステータスコードは依然 200 なので data.status を確認してください。
本番前の注意
- ポーリングの代わりにコールバックを使う:リクエストボディのトップレベルに
"callback": {"url": "https://あなたのドメイン/hiapi/callback", "when": "final"}を追加すると、タスク終了時に HiAPI が能動的に通知します。callbackはトップレベルに置き、inputの中に入れないでください。 - 重複課金の防止:送信時に
Idempotency-Keyリクエストヘッダーを付けます。ネットワークタイムアウトでリトライする際に同じ key を使うと、元のtaskIdが返り、タスクが余分に作成されることはありません。 - 速やかに保存:一時 URL は約 7 日で期限切れになります。長期保存が必要な場合は、作成時に
"storage": "persistent"を渡すか、後から永続ストレージに変換してください。タスク作成ドキュメント を参照。
よくある質問
リファレンス画像なしでも使えますか?
使えます。prompt だけで動画を生成でき、リファレンス素材は任意です。
音声に追加料金はかかりますか?
かかりません。audio はデフォルトで有効で、価格は解像度と秒数のみで決まります。音声が不要な場合は false を渡してください。
縦向きにしたい場合は?
aspect_ratio に 9:16 を渡してください。
先頭フレームとリファレンス画像は一緒に使えますか?
使えません。どちらか一方を選んでください。
プロンプトの書き方の詳細は Wan 3.0 プロンプト大全 をご覧ください。4 つのシーンすべてに実際の生成例が付いています。上の屋台のプロンプトをそのままコピーして、$0.20 で 1 本生成する こともできます。
関連記事
すべての記事を見る →-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする