Skip to content
NEWNano Banana 2.1 が登場 — Google の最新画像生成モデル、1 枚 $0.0336 から、ネイティブ 4K、前世代の約半額モデルを見る
HopBase
← ブログに戻る

中国 AI 動画 API を海外から:Seedance・Kling・Hailuo

結論から言うと、Seedance、Kling、MiniMax Hailuo H3、Wan 3.0 は、中国の各プラットフォームでアカウントを開設しなくても中国国外から呼び出せます。HopBase はこれらすべてを 1 本の API キー、1 つの Base URL(https://api.hop-base.com)、USD 建ての課金で提供しています。Seedance、Kling、Hailuo は同じ非同期パターンを共有しており、POST /v1/video/generate で送信し、ステータスが completed または failed になるまで GET /v1/video/tasks/{task_id} でポーリングします。Wan 3.0 と HappyHorse は元のリクエスト形式を元のパスのまま維持しているため、既存の SDK コードは Base URL とキーを差し替えるだけで動きます。リクエストボディは各モデルファミリー固有のスキーマに従うため、共通化できるのは送信とポーリングのループだけです。失敗したタスクは課金されず、結果リンクの有効期限は 24 時間で、完了したタスクごとの実際の USD 請求額は usage.cost_usd で返されます。Seedance には海外版(dreamina-seedance-*)と中国版(doubao-seedance-*-a)の 2 系統の ID があります。

中国の動画モデルが海外から使いにくい理由

2026 年の最も強力な動画モデルは、圧倒的に中国発のものが多くなっています。ByteDance の Seedance、Kuaishou の Kling、MiniMax の Hailuo、Alibaba の Wan です。米国、欧州、東南アジアで動画プロダクトを開発している場合、これらすべての API にアクセスするのは 1 回の登録では済まず、4 つの別々のプロジェクトになります。

  • 地域ごとに分かれたプラットフォーム。ByteDance は中国本土向けに Volcano Engine、海外顧客向けに BytePlus を運営しており、モデルカタログ、ID、リリース時期が両者で異なります。Kling、MiniMax、Alibaba もそれぞれ独自の開発者コンソールを持っています。
  • アカウント認証と支払い。中国リージョンのコンソールでは、通常、実名認証と人民元での支払い手段が求められます。海外向けコンソールはそれより簡単ですが、それでも契約、チャージ残高、請求書はそれぞれ別々です。
  • 4 種類のリクエストスキーマ。Seedance は content[] 配列、Kling は prompt + images[] + videos[]、Hailuo H3 は MiniMax の v2 ボディ(こちらも content[] 配列ですがルールが異なります)、Wan は DashScope の input / parameters 形式を使います。ポーリング、エラー形式、結果リンクの有効期間もそれぞれ異なります。
  • 4 種類の課金単位。Seedance は 100 万動画トークン単位、Kling、Hailuo、Wan は解像度ティアごとの出力秒数単位で課金されます。クリップあたりのコストを比較するには、これらすべてを自分で正規化する必要があります。

ゲートウェイはモデルそのものを変えるわけではありません。アカウント、支払い、ポーリングの手間を取り除き、コードが扱うのを 1 本のキー、1 つの残高、1 つのタスクループにするだけです。

呼び出せるモデルと定価

下の表は現在利用できるファミリーの一覧です。料金ページに USD の定価が掲載されているものは記載し、それ以外はリアルタイムの料金をご確認ください。お客様ご自身の料金はログイン後のモデルカタログに表示され、各タスクは実際の請求額を返します。

ファミリーモデル ID の例出力課金単位最安の定価
Seedance 2.5 / 2.0(ByteDance)dreamina-seedance-2-5-260628, dreamina-seedance-2-0-260128, dreamina-seedance-2-0-fast-260128, dreamina-seedance-2-0-mini-260615480p-1080p(海外版 2.5 の 1080p はグループによる)。4K は海外版 2.0 Standard のみ。2.0:4-15 秒、2.5:4-30 秒100 万動画トークンあたり2.0 Mini:$3.50 / 100 万トークン(動画入力なし)
Kling(Kuaishou)kling-v3, kling-v3-omni, kling-v3-turbo, kling-v2-5-turboモデルにより 720p-4K。v3 は 3-15 秒秒あたりリアルタイムの料金を参照
Hailuo H3(MiniMax)MiniMax-H3, MiniMax-H3-MaxH3:768P / 2K、4-15 秒。H3-Max:480P / 768P、5-15 秒秒あたりMiniMax-H3-Max 480P:$0.05 / 秒
Wan 3.0 / HappyHorse 1.1(Alibaba)wan3.0-video, happyhorse-1.1-t2v, -i2v, -r2v480P-1080P秒あたりリアルタイムの料金を参照

定価での計算例を 2 つ挙げます。MiniMax-H3 で 768P・6 秒のクリップは 6 × $0.08 = $0.48、MiniMax-H3-Max で 480P・5 秒のクリップは 5 × $0.05 = $0.25 です。Seedance のコストは解像度、尺、参照動画を渡すかどうかによって変わるため、大規模に予算を組む前に Seedance ガイドとリアルタイムの料金をご確認ください。

ステップ 1:1 本のキーに複数の動画グループ

api.hop-base.com で登録し、APIキーを開いてキーを作成します。各モデルファミリーはそれぞれ別のグループに属し、1 本のキーには最大 10 個のグループを含められるので、Seedance、Kling、Hailuo、Wan を同じキーに追加してください。次に、そのキーで呼び出せるモデルを確認します。

export HOPBASE_API_KEY=sk-your-key

curl https://api.hop-base.com/v1/models \
  -H "Authorization: Bearer $HOPBASE_API_KEY"

この呼び出しで返ってきた ID だけを使ってください。モデル ID は完全一致で照合されます。未知の名前は拒否され、似たモデルにルーティングされることはありません。

ステップ 2:タスクを送信する(3 つのスキーマ、1 つのエンドポイント)

Seedance 2.5(海外版)

curl https://api.hop-base.com/v1/video/generate \
  -H "Authorization: Bearer $HOPBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5-260628",
    "content": [{"type": "text", "text": "A barista pours latte art in a sunlit cafe, slow push-in"}],
    "duration": 5,
    "resolution": "720p",
    "ratio": "16:9",
    "generate_audio": false
  }'

Kling v3

curl https://api.hop-base.com/v1/video/generate \
  -H "Authorization: Bearer $HOPBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3",
    "prompt": "A red sneaker rotates on a white turntable, studio lighting",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16"
  }'

Hailuo H3

curl https://api.hop-base.com/v1/video/generate \
  -H "Authorization: Bearer $HOPBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-H3",
    "content": [{"type": "text", "text": "Aerial drone shot over snow mountains above a sea of clouds"}],
    "resolution": "768P",
    "duration": 6,
    "ratio": "16:9"
  }'

各ファミリー固有のフィールド名を使ってください。Kling と Hailuo は、size や n のような OpenAI 形式のフィールドを、タスクを作成する前に 400 で拒否し、課金も発生しません。注意すべき例外は Seedance です。size、seconds、n、aspect_ratio はエラーにならずに無視され、タスクはデフォルトの尺と 720p で実行されるため、必ず duration、resolution、ratio を送ってください。Wan 3.0 と HappyHorse は input と parameters を使って POST /api/v1/services/aigc/video-generation/video-synthesis に送信し、GET /api/v1/tasks/{task_id} でポーリングします。詳しくは Wan と HappyHorse のガイドをご覧ください。

ステップ 3:すべてに使える 1 つのポーリングループ

Seedance のレスポンスはタスクを task オブジェクトで包みますが、Kling と Hailuo はトップレベルのフィールドで返します。処理中のステータス値は異なります(Seedance は pending / processing、Kling と Hailuo は queued / processing)が、2 つの最終状態 completed と failed はどこでも同じです。小さなヘルパーでこの違いを吸収できます。

import os, time, requests

BASE = "https://api.hop-base.com"
HEADERS = {"Authorization": f"Bearer {os.environ['HOPBASE_API_KEY']}"}

def submit(body: dict) -> str:
    r = requests.post(f"{BASE}/v1/video/generate", json=body, headers=HEADERS, timeout=60)
    r.raise_for_status()          # Seedance returns 200, Kling and Hailuo return 202
    data = r.json()
    return data.get("task", data)["id"]

def wait(task_id: str, every: int = 5) -> dict:
    while True:
        r = requests.get(f"{BASE}/v1/video/tasks/{task_id}", headers=HEADERS, timeout=30)
        r.raise_for_status()
        data = r.json()
        task = data.get("task", data)
        if task.get("status") in ("completed", "failed"):
            return data
        time.sleep(every)

task_id = submit({
    "model": "kling-v3",
    "prompt": "A red sneaker rotates on a white turntable, studio lighting",
    "duration": 5, "resolution": "720p", "aspect_ratio": "9:16",
})
result = wait(task_id)
task = result.get("task", result)
print(task["status"], task.get("outputs"))
print("charged (USD):", result.get("usage", {}).get("cost_usd"))

私たちは 2026-10-29 に、このヘルパーをそのまま kling-v2-5-turbo、MiniMax-H3-Max、dreamina-seedance-2-0-mini-260615 に対して、ファミリーごとの変更なしで実行しました。3 つともすべて完了し、usage.cost_usd から請求額を出力しました。この値はどのファミリーでもレスポンスのトップレベルにあります。ポーリングは無料で、同時実行数の上限にもカウントされません。出力は早めにダウンロードしてください。結果リンクはすべて api.hop-base.com 上の署名付き URL で、タスク完了から 24 時間有効です。期限切れのリンクは 410 を返します。

Seedance の海外版 ID と中国版 ID

2 系統の ID を持つのは Seedance だけです。

  • 海外版:dreamina-seedance-2-5-260628、dreamina-seedance-2-0-260128、-fast-260128、-mini-260615。4K 出力に対応する Seedance は 2.0 Standard モデルだけです。
  • 中国版:doubao-seedance-2-5-260628-a、doubao-seedance-2-0-260128-a、-fast-260128-a、-mini-260615-a。これらには 4K ティアがなく、Seedance 中国版グループを含むキーが必要です。海外版グループのみのキーでは doubao-* の ID を呼び出せません。

リクエスト形式、エンドポイント、ポーリングのコードは同じなので、切り替えはキーとモデル ID を変えるだけです。参照素材はグループをまたいで再利用できないため、もう一方のキーで改めてアップロードしてください。

チームが丸一日を失いがちな落とし穴

  • Seedance での実在人物の参照画像。実在人物の画像をインライン(URL または data URL)で渡すと、送信時に input_sensitive で拒否される場合があり、課金は発生しません。Seedance 2.0 では、まず POST /v1/sd/assets でアップロードし、asset://<id> として参照してください。Seedance 2.5 には素材ルートがないため、現時点では実在人物の参照画像を受け付けられません。
  • 残高は送信時に確保される。動画の送信ごとに見積もりコストが確保されます。残高がプラスでも、大きなタスクが複数処理中だと 402 insufficient_balance が返ることがあります。確保分はタスク終了時に解放されます。
  • 同時実行数はアカウント単位。デフォルトでは同時処理中のリクエストは 5 件までで、超過分はキューで待つのではなく即座に 429 が返ります。動画の送信はカウントされますが、ポーリングはカウントされません。
  • タイムアウト。未完了のタスクは、Seedance では 24 時間後、Kling、Hailuo、Wan では 2 時間後に自動的に失敗になります。失敗したタスクは課金されません。
  • 遅いタスクを再試行するために再送信しない。タスクはキャンセルできず、受け付けられた送信はそれぞれ別の課金対象タスクになります。すでに持っている ID のポーリングを続けてください。

接続方法の選び方

必要なのが 1 ファミリーだけで、そのベンダーと直接やり取りしたいなら、各メーカーの海外向けプラットフォームに直接つなぐのが理にかなっています。複数が必要な場合は、確認可能な事実に基づいて選択肢を比較してください。

  1. 必要なモデルバージョンが正確な ID 付きで掲載されているか(例:Seedance 2.5 や Kling v3)。
  2. 失敗したタスクは無料か。タスクごとの実際の請求額を API で取得できるか。
  3. 結果リンクはどのくらい有効で、期限切れ後はどうなるか。
  4. 1 本のキーと 1 つの残高で複数のファミリーをカバーできるか。キーごとに支出上限を設定できるか。
  5. モデルカードだけでなく、各ファミリーのパラメータ制限についてのドキュメントがあるか。

よくある質問

BytePlus や Volcano Engine のアカウントなしで、米国や欧州から Seedance を使えますか?

はい。Seedance 海外版グループを含む HopBase のキーがあれば、https://api.hop-base.com/v1/video/generate で dreamina-seedance-2-5-260628 をはじめとする海外版 ID を呼び出せます。ByteDance のアカウントは不要です。

Kling、Seedance、Hailuo は同じリクエストボディを使いますか?

いいえ。送信エンドポイント、ポーリングエンドポイント、課金ルールは共通ですが、各ファミリーは独自のボディを維持しています。Seedance は content[] と ratio、Kling は prompt/images/videos と aspect_ratio、Hailuo H3 は MiniMax の v2 ボディを使います。

動画生成が失敗した場合も課金されますか?

いいえ。失敗した動画タスクは課金されず、送信時に拒否されたリクエストも課金されません。課金されなかった失敗タスクの usage.cost_usd には 0 が表示されます。

生成された動画はどのくらいの期間取得できますか?

結果 URL は、どのファミリーでもタスク完了から 24 時間有効です。再度照会しても同じ URL が返り、有効期限は延長されないため、出力はご自身のストレージにコピーしてください。

実際に支払う料金はどこで確認できますか?

定価は hop-base.com/pricing に掲載しています。お客様のアカウントの料金はログイン後のモデルカタログに表示され、完了したタスクはすべて実際の請求額を usage.cost_usd で返します。パラメータの詳細は、動画の概要、Kling、Seedance、MiniMax Hailuo の各ドキュメントをご覧ください。