HiAPI
ブログ

チュートリアル

Veo 3.1 API の使い方——5 分で最初の動画を生成する

標準版・Fast・Lite の 3 グレードの選び方、そのまま実行できる curl と Python、イメージ・トゥ・ビデオのパラメータと本番前の注意点。

Oct 14, 2026
Veo 3.1 API の使い方——5 分で最初の動画を生成する

TL;DR

  • Veo 3.1 は Google の動画生成モデルで、HiAPI では標準版・Fast・Lite の 3 グレードを提供しています。テキスト・トゥ・ビデオとイメージ・トゥ・ビデオの両方に対応し、モデルページを開く だけでオンライン生成できます。新規ユーザー登録で 200 クレジットを進呈。
  • 秒単位の課金:Lite 720p 音声なしは毎秒 $0.06、Fast 720p/1080p 音声ありは毎秒 $0.25、標準版は毎秒 $0.57。4 秒の Lite 下書きならわずか $0.24。
  • API は 2 ステップ:POST /v1/tasks で送信し、taskId で結果を取得。以下の curl と Python はコピーするだけで実行できます。

Veo 3.1 でできること

  • ネイティブ音声:映像と音声を同時に生成し、環境音・効果音・動作音がすべて映像に合わせて付きます。generate_audio はデフォルトで有効で、オフにすると安くなります。
  • 4・6・8 秒の 3 種類の長さ、16:9 の横画面または 9:16 の縦画面。
  • 最大 4K:標準版と Fast は 720p・1080p・4K に対応、Lite は 720p・1080p に対応。
  • イメージ・トゥ・ビデオ:1 枚の画像を最初のフレームとして渡すと、モデルが動かします。アスペクト比は元画像に合わせられます。

以下の 6 秒 1080p 縦画面動画は、スニーカーの商品画像 1 枚から 1 回のリクエストで生成したものです。着地の重い音と低音のドラムはモデルが自分で付けました:

The sneaker slowly rotates about 90 degrees as the camera pushes in from a low angle. Dust particles drift through the rim light. The shoe settles onto the wet stone pedestal with a deep, satisfying thud, sending a soft ring of mist rolling off the edges. A warm light sweep travels across the suede texture. Subtle bass-heavy electronic pulse builds in the background with a low whoosh on the landing. Cinematic product commercial, smooth stabilized motion, no text overlays.

このプロンプトで生成する →(先に 9:16 の商品画像をアップロード)

veo-3.1/image-to-video、1080p、6 秒、音声あり、$3.42、送信から完了まで約 115 秒。

3 グレードの選び方

グレード 720p/1080p 音声あり 720p/1080p 音声なし 4K 音声あり 用途
Lite veo-3.1-lite $0.1(720p)/ $0.14(1080p) $0.06(720p)/ $0.1(1080p) — プロンプト調整、一括下書き
Fast veo-3.1-fast $0.25 $0.17 $0.6 SNS 向けショート動画の完成品
標準版 veo-3.1 $0.57 $0.29 $0.86 広告、ブランドムービー

単位はすべて毎秒。8 秒の音声ありだと、Lite 1080p は $1.12、Fast は $2、標準版は $4.56。さらに詳しい計算は Veo 3.1 API の料金 をご覧ください。

2 つの導入方法

オンラインで試す(コード不要)

  1. Veo 3.1 Lite テキスト・トゥ・ビデオ のモデルページを開き、登録またはログインします。
  2. プロンプトを貼り付け、長さ・解像度・アスペクト比を選び、音声の有無を決めます。
  3. 生成をクリックし、完成したらそのままダウンロードします。

API 呼び出し

  1. コンソールで API Key を作成します。
  2. POST https://api.hiapi.ai/v1/tasks でタスクを送信し、taskId が返ります。
  3. GET /v1/tasks/{taskId} で状態を確認し、status が success になったら output[0].url から動画をダウンロードします。

curl:最初の 1 本

まずは最も安い Lite で試しましょう。4 秒 720p 音声なしで $0.24:

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-lite/text-to-video",
    "input": {
      "prompt": "A matte-black wireless earbud case slowly rotates on a reflective black surface under a single overhead spotlight.",
      "duration": 4,
      "resolution": "720p",
      "aspect_ratio": "9:16",
      "generate_audio": false
    }
  }'

レスポンス:

{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}

結果の取得:

curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Python:送信・ポーリング・ダウンロード

# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests

KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}

def generate(prompt, model="veo-3.1-lite/text-to-video", timeout_s=900, **params):
    body = {"model": model, "input": {"prompt": prompt, **params}}
    # 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
    headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
    r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
    r.raise_for_status()
    res = r.json()
    if res.get("code") != 200:
        raise RuntimeError(res)
    task_id = res["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d)
        time.sleep(10)
    raise TimeoutError(task_id)

url = generate(
    "A barista pours hot water in a slow spiral over ground coffee, steam rising in morning light",
    duration=4, resolution="720p", aspect_ratio="16:9", generate_audio=True,
)
with open("clip.mp4", "wb") as f:
    f.write(requests.get(url).content)

プロンプトが固まったら、model を veo-3.1-fast/text-to-video または veo-3.1/text-to-video に変えて完成品を生成します。ほかのパラメータはそのままで構いません。

イメージ・トゥ・ビデオ

モデル名を …/image-to-video に変え、input に画像を 1 枚追加します(image_url は文字列で、受け付けるのは 1 枚のみ):

{
  "model": "veo-3.1/image-to-video",
  "input": {
    "prompt": "The sneaker slowly rotates and settles onto the wet stone pedestal with a deep thud",
    "image_url": "https://your-cdn.example.com/sneaker-916.jpg",
    "aspect_ratio": "auto",
    "resolution": "1080p",
    "duration": 6
  }
}
  • aspect_ratio に auto を指定すると元画像に合わせます。16:9 や 9:16 も指定できますが、それ以外の比率の画像はトリミングされます。
  • 元画像は 720p 以上、16:9 または 9:16 を推奨します。SVG には対応していません。
  • プロンプトには「次の数秒でどう動くか」を書き、画像全体を説明し直す必要はありません。

本番前の注意点

  • ポーリングの代わりにコールバックを使う:リクエストのトップレベルに "callback": {"url": "https://あなたのドメイン/hiapi/callback"} を追加すると、タスク完了時に HiAPI が通知します。taskId で重複を排除してください。
  • すぐに転送保存する:output[0].url は一時リンクなので、取得後すぐに自分のストレージへ保存してください。
  • パラメータは省略しない:duration のデフォルトは 8 秒で、標準版と Fast では resolution が必須です。長さ・解像度・generate_audio を明示的に指定すると、費用が予算と一致します。
  • 音声が不要ならオフに:generate_audio: false にすると、Lite 720p は毎秒 $0.1 から $0.06 に、標準版は $0.57 から $0.29 に下がります。
  • 失敗時は自動返金:課金は正常に生成された動画に対してのみ行われます。

よくある質問

プロンプトは中国語でも書けますか?

はい、中国語でも英語でも構いません。カメラワーク・動作・音声を文に分けて書くと最も安定します。

10 秒の動画は生成できますか?

1 回の生成は 4・6・8 秒のみ対応しています。より長い完成品は分割して生成した後に編集してください。

音声は個別に制御できますか?

プロンプトに各層の音(近くの動作音、環境の人の声、風の音)を明記すれば、モデルがそれぞれ生成します。音声が不要な場合は generate_audio を false に設定してください。

Lite で調整したプロンプトを標準版に切り替えるには何を変えますか?

モデル名だけを変えます。prompt、duration、aspect_ratio、generate_audio はすべて共通です。4K が必要なときは resolution を 4k に変更します(Lite には 4K がありません)。

すぐに使えるプロンプトをお探しなら Veo 3.1 プロンプト事例 をご覧ください。上記のスニーカーのプロンプトをコピーして モデルページで生成する こともできます。

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

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

APIドキュメントを読む