動画生成の概要
HopBase の動画生成ファミリーを比較し、共通の送信・ポーリング・ダウンロード・残高・失敗のルールを確認します。
| 項目 | 値 |
|---|---|
| Base URL | https://api.hop-base.com/v1 |
| タスク送信 | POST /v1/video/generate |
| タスク照会 | GET /v1/video/tasks/{task_id} |
動画生成は非同期タスクです。送信してタスク ID を受け取り、完了までポーリングし、有効期限内に出力動画をダウンロードします。
# 1. タスクを送信し、返ってきた task.id(vt… 形式)を控える
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "日差しの草原を走るオレンジ色の猫、カメラが追う"
}
]
}'
# 2. task.status が completed になるまで 5 秒ごとに照会
# 出力 URL は task.outputs
curl https://api.hop-base.com/v1/video/tasks/vt-your-task-id \
-H "Authorization: Bearer sk-your-key"ファミリーを選ぶ
HopBase は 6 つの動画モデルファミリーを提供しています。すべて下記の同じ非同期フロー(送信 → ポーリング → ダウンロード)を使います。
| ファミリー | 解像度 | 長さ(秒) | 参照素材 | 音声 | 公式価格 |
|---|---|---|---|---|---|
| Seedance マルチモーダル参照からの動画生成。4K は海外 2.0 Standard のみ | 480p–1080p、4K | 2.0: 4〜15、2.5: 4〜30 | 画像 · 動画 · 音声 | generate_audio | $2.06〜/ 100 万トークン |
| Kling 先頭/末尾フレーム、主体参照、モーション制御、アバター、リップシンク | 720p–4K(モデル別) | モデル別 | 画像 · 動画 | 音声付きモデル | $0.0441〜/ 秒 |
| MiniMax Hailuo 24 FPS のネイティブステレオ。セリフとナレーションも映像と一緒に生成 | H3: 768P / 2K、H3-Max: 480P / 768P、H3-SelfHosted: 480P / 768P / 1080P / 2K / 4K | H3: 4-15、H3-Max: 5-15、H3-SelfHosted: 4-15 | H3: 画像 · 動画 · 音声 | ネイティブ | $0.05〜/ 秒 |
| Wan 3.0 画像・動画・音声・ドキュメントを同時に参照 | 480P / 720P / 1080P | 2-30 | 画像 · 動画 · 音声 · ドキュメント | audio で切替、同価格 | $0.0441〜/ 秒 |
| HappyHorse 1.1 テキスト、先頭フレーム画像、参照画像からの動画生成 | 480P / 720P / 1080P | 3-15 | 先頭フレームまたは参照画像 | — | $0.0662〜/ 秒 |
| Grok Imagine テキストから動画。参照画像も追加可 | 480p / 720p / 1080p | 1-15 | 参照画像のみ | — | $0.08〜/ 秒 |
価格列は各ファミリーで最も安い段階の開始価格です。すべての段階は各ファミリーのページとモデルカードを参照してください。Kling のリップシンクなど特殊モードは別価格です。実際の単価はログイン後のモデル広場で確認できます。
モデル ID とプラン
ファミリーごとに別のプランに属します。そのプランを含むキーで呼び出してください。
| ファミリー | モデル ID | プラン |
|---|---|---|
| Seedance 2.5 / 2.0 | 海外:dreamina-seedance-2-5-260628、dreamina-seedance-2-0-*中国国内: doubao-seedance-2-*-a | Seedance 海外版 · Seedream Seedance 中国版(Doubao) |
| Kling(可灵) | kling-v4、kling-v3、kling-v3-omni、kling-v3-turbo など | Kling 公式 |
| MiniMax Hailuo(海螺) | MiniMax-H3MiniMax-H3-MaxMiniMax-H3-SelfHosted | MiniMax H3 公式 MiniMax H3 Max 公式 MiniMax H3 セルフホスト MiniMax H3 Max クラウド |
| Wan 3.0(万相) | wan3.0-video | Wan 3.0 公式 |
| HappyHorse 1.1(快乐马) | happyhorse-1.1-t2v、happyhorse-1.1-i2v、happyhorse-1.1-r2v | HappyHorse 1.1 公式 |
| Grok Imagine | grok-imagine-video-1.5 | Grok ビデオ |
Kling にはモーションコントロール、アバター、リップシンクのモデルもあります。Kling のページを参照してください。各ファミリーの最小リクエストと結果の読み取り先は次のとおりです。
| ファミリー | 最小リクエスト | 送信成功時の返り値 | 完了後の読み取り先 |
|---|---|---|---|
| Seedance | model + 空でない content[] | 200、task.id(vt…) | task.outputs |
| Grok Imagine | model + prompt / content + resolution | 200、task.id(vt…) | task.outputs |
| MiniMax Hailuo | model + content + resolution + duration | 202、id(mmt…) | outputs |
| Kling | model + prompt または images[] / videos[] | 202、id(kt…) | outputs |
| Wan 3.0 / HappyHorse | model + input。parameters は任意 | 200、output.task_id | output.video_url |
MiniMax でテキストのみから生成する場合は ratio も必須です。Kling の特殊モードは Kling のページを参照してください。Seedance の content[] には通常 text と image_url 要素を使います。
タスクの流れ:送信 → ポーリング → ダウンロード
動画モデルはすべてこの 3 ステップで呼び出します。
送信
| ファミリー | 送信 | 照会 |
|---|---|---|
| Seedance、Grok Imagine、MiniMax、Kling | POST /v1/video/generate | GET /v1/video/tasks/{task_id} |
| Wan 3.0、HappyHorse | POST /api/v1/services/aigc/video-generation/video-synthesis | GET /api/v1/tasks/{task_id} |
HopBase はリクエストの model とキーに含まれるプランに基づいて、適切なファミリーにリクエストを振り分けます。リクエストボディとステータス値はファミリーごとに異なるため、各ファミリーのページに従ってください。送信成功時のステータスコードもファミリーごとに異なるため、2xx であれば送信成功として扱ってください。
キーが到達できるのは、含まれるプランのファミリーだけです。1 つのキーに複数の動画プランを含めることもできます。実際に使用するキーで GET /v1/models を呼び出し、レスポンスから完全なモデル ID を取得してください。モデル ID は完全一致で判定され、未知の名前は拒否されるだけで、近い名前へのルーティングは行われません。
ポーリング
送信時に返ったタスク ID で、成功か失敗になるまでステータスを照会します。Seedance、Grok Imagine、MiniMax、Kling にはタスク一覧もあります。
GET /v1/video/tasks?page=1&limit=20Wan 3.0 と HappyHorse には一覧エンドポイントがないため、タスク ID は自分で保存してください。
ダウンロード
出力 URL は api.hop-base.com 上の署名付き URL で、タスク完了時点から有効期限が始まります。
| ファミリー | 結果リンクの有効期限 |
|---|---|
| Seedance、Grok Imagine、Kling、MiniMax、Wan 3.0、HappyHorse | 24 時間 |
再度照会しても同じ URL が返るだけで有効期限は延長されず、期限切れの URL は 410 を返します。早めにダウンロードして保存してください。
残高と課金
動画の送信時には「利用可能残高 − 実行中タスクの見積もり額 − 今回のリクエストの見積もり額」で判定されます。不足している場合は 402 が返り、code は insufficient_balance です。見積もり額はタスク終了時に自動的に解放されます。
Insufficient balance: available $X, reserved in flight $Y, this request estimated $Z
Insufficient quota: … # 利用枠が設定された企業メンバーの枠が不足した場合、message はこれで始まるKling のリップシンクは見積もりができないため予約は行われません。
失敗した動画タスクは一切課金されません。タスクが終了すると、単一タスクの照会レスポンスのルートに usage も含まれます。
| フィールド | 意味 |
|---|---|
usage.cost | このタスクの課金額の人民元額(usage.cost_usd と同じ課金額) |
usage.cost_usd | このタスクで残高から実際に差し引かれた米ドル額。使用記録と同じ金額 |
usage.currency | usage.cost の通貨。常に CNY |
課金されずに失敗したタスクは 0 です。実行中はこのフィールドは返らず、単一タスクの照会ではタスクを作成したキーにのみ返されます。例の金額は説明用です。タスク一覧(タスク ID を付けない GET /v1/video/tasks)でも、終了済みの各タスクの usage に同じ cost・cost_usd・currency が含まれます。一覧はアカウント単位のため、同じアカウントの別のキーで作成したタスクにも金額が付きます。
公式のリスト価格は料金ページに掲載されています。実際の適用レートはログイン後のモデル広場に表示され、各リクエストの実際の課金額はコンソールの使用状況ページで確認できます。
失敗、タイムアウト、取り消し
送信の 2xx は受付を意味するだけです。生成に失敗しても照会は HTTP 200 で、失敗ステータスと英語の理由が返り、安定したエラーコードはありません。
Seedance は task.error.message を読み、他ファミリーは各ページを参照してください。コンソールの使用状況ページに失敗の分類と対処案が表示されます。詳しくはエラーを参照してください。
実行中タスクの時間上限はファミリーごとに異なるため、各ページを参照してください。Seedance のタスクは作成から 24 時間経っても終わらないと自動的に失敗になり、message は次のとおりです。
The task did not finish within 24 hours and was terminated automatically動画タスクを取り消すことはできません。
参照素材の比較
各モデルが受け付ける参照素材の数:
| モデル | フィールド | 数の上限 |
|---|---|---|
| Seedance 2.0(国内/海外・標準/Fast/Mini) | content | 画像 ≤9 · 動画 ≤3 · 音声 ≤3 |
| Seedance 2.5(国内/海外) | content | 画像 ≤30 · 動画 ≤10 · 音声 ≤10 |
| Grok Imagine 動画 | トップレベル reference_images[] | 画像 ≤14 |
| MiniMax-H3 | content | 画像 ≤9 · 動画 ≤3 · 音声 ≤3、合計 ≤12 |
| MiniMax-H3-SelfHosted | content | 画像 ≤9 · 動画 ≤3 · 音声 ≤3、合計 ≤12 |
| MiniMax-H3-Max | content | テキストまたは最初/最後のフレーム各 ≤1 |
| Kling 全動画モデル | images[] / videos[] | モデルごとの仕様は Kling のページ |
| Wan 3.0 | input.media[] | 画像 ≤10 · 動画 ≤5 · 音声 ≤5 |
| HappyHorse t2v / i2v / r2v | input.media[] | t2v 素材なし · i2v 最初のフレーム 1 枚 · r2v 参照画像 1–9 枚 |
- Seedance の最初/最後のフレームは ≤2 枚です。2.0 のフレームモードは参照モードと排他です。
- MiniMax-H3 のフレームと参照は排他です。H3-Max は reference_* を受け付けません。
- Wan 3.0 の文書と Web は各 ≤1 で排他、フレームと参照群も排他です。
- Kling の usage と特殊モードはモデルごとに Kling のページを参照してください。
- Grok Imagine の content はテキストのみです。
各モデルが受け付けるエンコード形式:
| モデル | URL | Data URL | 素材 ID |
|---|---|---|---|
| Seedance 2.0 | HTTP(S) | 画像/音声は可、動画は不可 | 準備済みの asset:// |
| Seedance 2.5 | HTTP(S) | ゲートウェイ規則に従う画像/音声は可、動画は不可 | 素材庫 ID 不可 |
| Grok Imagine 動画 | 公開 HTTP(S) のみ | 不可 | asset:// 不可 |
| MiniMax-H3 | HTTP(S) | 完全な Data URL | mm_file:// / asset:// 不可 |
| MiniMax-H3-Max | 画像 HTTP(S) | Data URL | — |
| MiniMax-H3-SelfHosted | 公開 HTTP(S) | 画像のみ Data URL 可 | mm_file:// / asset:// 不可 |
| Kling | 各項目 HTTP(S) url | 不可 | 取得可能な file_id(url と一方のみ)。asset:// 不可 |
| Wan 3.0 | HTTP(S)。link は Web URL のみ | Data URL | oss:// / asset:// 不可 |
| HappyHorse | HTTP(S) | 画像 Data URL | oss:// 不可 |
Seedance 2.0 の素材庫登録 URL は HTTP(S) のみです。MiniMax-H3-Max は形式を変えても種類制限は同じです。HappyHorse は動画/音声の参照を受け付けません。
Data URL は data:MIME;base64,内容 です。裸の base64 だけを渡すことはできません。
ここでの対応はリクエスト契約・ゲートウェイの対応であり、現在のキーで全モデルの生成を実測済みという意味ではありません。
個数・単一ファイル仕様・参照時間合計・JSON 全体サイズを同時に満たす必要があります。HTTP 2xx は最終成功を意味しません。
次のステップ
- Seedance: Seedance 2.0 / 2.5 のパラメータ、レスポンス、エラー
- Kling: Kling の動画パラメータとタスクモード
- API リファレンス:動画タスクの送信: 各ファミリーの完全なリクエストフィールド
- 同時実行数、タイムアウト、課金: 同時実行数の上限、タイムアウト、課金ルール
- エラーコードと再試行: 各エラーコードの意味と再試行の要否