HiAPI
ブログ

チュートリアル

Wan 3.0 API 接続チュートリアル:curl、Python と全パラメータ

万相 Wan 3.0 標準版の呼び出し方:タスクの送信と結果取得、先頭・末尾フレームとリファレンスモード、全パラメータ、よくあるエラー、480P 5 秒 $0.20。

Oct 19, 2026
Wan 3.0 API 接続チュートリアル:curl、Python と全パラメータ

万相 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 本生成する こともできます。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む