動画生成
テキスト、画像、参考素材から AI 動画を生成 — 画像から動画、動画編集、PixVerse のリップシンクに対応。
listenhub video CLI を使って、テキストプロンプトや参考素材から AI 動画を生成します。静止画を動かす、既存のクリップを編集する、音声やテキスト読み上げでキャラクターの口を動かす、といったことができます。3 つのモデルファミリーが異なる用途をカバーします:HappyHorse、SeeDance、PixVerse。
トリガー
/video-gen でこの Skill を呼び出すか、次のいずれかのフレーズを使用します:
| フレーズ | 言語 |
|---|---|
video generation / text to video / create video | 英語 |
video edit / lipsync / pixverse | 英語 |
生成视频 / 做视频 / 视频生成 | 中国語 |
视频编辑 / 口型 / 对口型 | 中国語 |
ListenHub Skills のインストールが必要です — はじめに を参照してください。
AI 生成のビジュアルにナレーションを付けた解説動画がほしい場合は、代わりに /explainer を使ってください。
簡単な例
Generate a video: cyberpunk city at night, 16:9, 5 secondsAI はモードとパラメータを 1 問ずつ確認しながら進め、コストの見積もりを示し、生成前に確認を求めます。生成には数分かかります — ジョブはバックグラウンドで実行され、動画が完成すると AI が URL、長さ、解像度、消費クレジットとともに通知します。
動画生成は常に --no-wait 付きで実行されるため、CLI はタスク id をすぐに返し、AI がバックグラウンドで(10 秒間隔で)ポーリングします。タスク id しか手元にない場合は、listenhub video get <taskId> --json で進捗を確認できます。
モデル
用途に合わせてモデルを選びます。HappyHorse はデフォルトであり、既存の動画を編集できる唯一のファミリーです。SeeDance は末尾フレームと参考音声のサポートを追加します。PixVerse はリップシンクに対応する唯一のファミリーで、さらに一連の細かい単位の機能(mimic、restyle、fusion、transition、マーケティング agent)を備えています。
| 機能 | HappyHorse(デフォルト) | SeeDance | PixVerse |
|---|---|---|---|
| テキストから動画 | 対応 | 対応 | 対応(text_to_video) |
| 画像から動画(先頭フレーム) | 対応 | 対応(末尾フレームも可) | 対応(image_to_video) |
| 参考画像 | 対応(1–9 枚、[Image N] 記法) | 対応 | 対応(fusion、@refName) |
| 動画編集 | 対応 | 非対応 | 非対応 |
| リップシンク | 非対応 | 非対応 | 対応(lip_sync、音声または TTS) |
| モーション転写 / mimic | 非対応 | 非対応 | 対応(mimic、720p に固定) |
| リスタイル | 非対応 | 非対応 | 対応(restyle) |
| トランジション(先頭 → 末尾) | 非対応 | 対応(frame モード) | 対応(transition / multi_transition) |
| 参考動画 | 非対応(動画編集を使用) | 対応 | 対応(mimic / lip_sync のソース) |
| 参考音声 | 非対応 | 対応 | 対応(lip_sync) |
| 最大解像度 | 1080p | 1080p | 1080p |
| 解像度の選択肢 | 720p、1080p | 480p、720p、1080p | 360p、540p、720p、1080p |
| 長さの範囲 | 3–15 秒 | 4–15 秒 | 1–60 秒(agent:20/30/60) |
| アスペクト比 | 16:9、9:16、1:1、4:3、3:4、4:5、5:4 | 16:9、9:16、1:1、4:3、3:4、21:9 | 9:16、16:9、1:1、4:3、3:4 |
リップシンク、mimic、restyle、fusion、transition、マーケティング agent は PixVerse 専用です。HappyHorse と SeeDance では利用できません。
SeeDance のモデルバリエーション
SeeDance を選ぶ場合は、2 つのバリエーションから選択します:
| モデル | 説明 |
|---|---|
doubao-seedance-2-pro | 高品質。1080p には必須。末尾フレームと参考音声に対応 |
doubao-seedance-2-fast | 高速。1080p を選ぶと自動的に pro にアップグレード |
PixVerse は OpenAPI 専用です — listenhub openapi video pixverse の下にあり、すべてのメディアに公開ネットワーク上の URL を使います(ローカルファイルのアップロードは不可)。リップシンク、mimic、restyle、fusion、transition、マーケティング agent を使いたいのに内部認証のログインしか設定していない場合は、まず listenhub openapi config set-key で API キーを設定してください。
モード
AI は手元にある参考素材にもとづいてモードへ振り分けます。HappyHorse と SeeDance は listenhub video create コマンドを共有します。PixVerse は listenhub openapi video pixverse generate を使い、--capability を明示的に指定します。
参考素材なしで、テキストプロンプトだけから動画を生成します。3 つのモデルファミリーすべてで利用できます。
listenhub video create \
--prompt "cyberpunk city at night, neon reflections on wet streets" \
--model "happyhorse" \
--resolution "1080p" \
--ratio "16:9" \
--duration 5 \
--no-wait --json静止画を先頭フレームとして動かします。SeeDance では末尾フレームの画像も渡せて、2 枚の静止画のあいだを補間したトランジションを作れます。
画像の要件:jpg、jpeg、png、webp のいずれか。ローカルファイルは最大 20 MB。幅と高さはいずれも 300px 以上。アスペクト比は 1:2.5 から 2.5:1 のあいだ。
listenhub video create \
--prompt "bring the scene to life with smooth motion" \
--model "happyhorse" \
--resolution "1080p" \
--duration 5 \
--first-frame "/path/to/scene.png" \
--no-wait --jsonSeeDance の frame モードでは、--last-frame を追加し、doubao-seedance-2-* のモデルを使ってください。
HappyHorse の画像から動画には --ratio がありません — 出力の比率は入力画像で決まります。SeeDance は引き続き --ratio を受け付けます。
スタイルやキャラクターを指定するために、参考画像を 1–9 枚渡します。HappyHorse では、プロンプト内で [Image 1]、[Image 2] のように特定の画像を参照できます。
画像の要件:jpg、jpeg、png、webp のいずれか。1 枚あたり最大 20 MB。HappyHorse では短辺 400px 以上を推奨。
listenhub video create \
--prompt "[Image 1]'s character walking through [Image 2]'s street" \
--model "happyhorse" \
--resolution "1080p" \
--ratio "16:9" \
--duration 5 \
--reference-image "/path/to/character.png" \
--reference-image "/path/to/scene.png" \
--no-wait --jsonSeeDance の参考モードでは、さらに参考動画を最大 3 本(mp4/mov、50 MB 以下)と、参考音声を最大 3 本(mp3/wav、20 MB 以下、画像または動画とセットで)受け付けます。
PixVerse 専用。 音声ファイルまたはテキスト読み上げでキャラクターの口を動かします。ソース動画はすでに PixVerse 上に存在している必要があります — --source-video-id で参照するか、成功済みの過去タスクを --source-task-id で指定してください。
音声ファイルで動かす場合(公開音声 URL を 1 つ、5–60 秒):
listenhub openapi video pixverse generate \
--capability lip_sync \
--source-video-id "abc123" \
--audio "https://example.com/voice.mp3" \
--quality 720p \
--no-wait --jsonテキスト読み上げで動かす場合(ネストした tts、--audio は使わない):
listenhub openapi video pixverse generate \
--capability lip_sync \
--source-task-id "task_xyz" \
--pixverse-json '{"tts":{"speakerId":"speaker_01","content":"Welcome to this episode"}}' \
--quality 720p \
--no-wait --json音声ファイルと TTS はどちらか一方だけを指定してください。両方渡すと拒否されます。TTS にはネストした --pixverse-json '{"tts":{...}}' を使います。--lip-sync-tts / --lip-sync-speaker-id / --lip-sync-content は契約(contract)が受け付けないため使わないでください。
動画編集(HappyHorse)
既存のクリップを編集します — スタイルの変更、背景の差し替え、動きの作り直し。HappyHorse のみ対応で、SeeDance でこれを頼むと AI が HappyHorse に切り替えます。
動画の要件:mp4/mov(H.264 推奨)。入力は 3–60 秒(出力は最大 15 秒)。100 MB 以下。短辺 360px 以上、長辺 4096px 以下。任意で参考画像を 0–5 枚渡せます。
listenhub video create \
--prompt "replace the background with a deep starry sky, keep the subject's motion" \
--model "happyhorse" \
--resolution "1080p" \
--reference-video "/path/to/input.mp4" \
--audio-setting "origin" \
--no-wait --json--audio-setting は音声を制御します:auto はモデルに判断を任せ、origin は元の音声を保持します。動画編集には --ratio と --duration がありません — 出力は入力動画に従います。
その他の PixVerse 機能
PixVerse は --capability を通じて、より細かい単位の機能を追加で公開しています。いずれも OpenAPI 専用で、入力は URL です:
| 機能 | 入力 | 制約 |
|---|---|---|
mimic(モーション転写) | 画像 1 枚 + 動画 1 本 | 品質は 720p に固定。モーション元は 5–30 秒 |
restyle | --source-video-id(または --source-task-id)+ --restyle-id | — |
fusion | ネストした imageReferences(1–8)、プロンプトでは @refName を使用 | トップレベルの --image は空である必要あり |
transition / multi_transition | ネストした multiTransition のキーフレーム(2–7) | デフォルトの品質は 360p |
agent(ad_master / promo_mix) | プロンプト + 画像 | 品質は 720p/1080p のみ。長さは 20/30/60 のみ。promo_mix は画像 4 枚以上が必要 |
パラメータ
AI はこれらを 1 つずつ尋ね、妥当なセッションのデフォルト値を適用します。HappyHorse と SeeDance では比率と長さに --ratio / --duration を使います。PixVerse は --resolution / --ratio の代わりに --quality と --aspect-ratio を使います。
| パラメータ | フラグ | 説明 |
|---|---|---|
| プロンプト | --prompt | 自由テキスト。HappyHorse ≤ 2500(中国語)/ ≤ 5000(中国語以外)、SeeDance ≤ 500、PixVerse ≤ 2048 |
| モデル | --model | happyhorse(デフォルト)、doubao-seedance-2-pro、doubao-seedance-2-fast、pixverse |
| 解像度 | --resolution | HappyHorse:720p/1080p、SeeDance:480p/720p/1080p(480p は SeeDance のみ) |
| アスペクト比 | --ratio | 画像から動画と動画編集では使用しない(比率は入力に従う) |
| 長さ | --duration | 秒単位。HappyHorse は 3–15、SeeDance は 4–15 |
| 先頭フレーム | --first-frame | 画像から動画のソース画像 |
| 末尾フレーム | --last-frame | SeeDance の frame モードのみ |
| 参考画像 | --reference-image | 繰り返し指定可。1–9(HappyHorse)、または動画編集の参考画像(0–5) |
| 参考動画 | --reference-video | 動画編集の入力(HappyHorse)、または SeeDance の参考素材 |
| 音声設定 | --audio-setting | 動画編集のみ:auto または origin |
| Seed | --seed | 任意。結果を再現したいときに使用 |
PixVerse 専用のフラグ:--capability、--quality(360p/540p/720p/1080p)、--aspect-ratio(9:16/16:9/1:1/4:3/3:4)、--source-video-id / --source-task-id、--audio、--agent-type、--restyle-id、およびネストしたペイロード(tts、imageReferences、multiTransition)を渡す --pixverse-json。
一部の選択は自動的に補正されます:HappyHorse の 480p は 720p にフォールバックし、doubao-seedance-2-fast の 1080p は doubao-seedance-2-pro にアップグレードされます。AI は調整したときにその旨を伝えます。
クレジットの見積もり
生成の前に AI が見積もりを実行します。自分でコストを確認したい場合は、create のパラメータをそのまま estimate コマンドに対応させてください:
# HappyHorse / SeeDance
listenhub video estimate --model "happyhorse" --resolution "1080p" --ratio "16:9" --duration 5 --json
# PixVerse — mirror the capability + quality + duration
listenhub openapi video pixverse estimate --capability text_to_video --model pixverse --quality 720p --duration 5 --json動画編集では、--has-video-input と --input-video-duration <seconds> を追加してください。
出力
ステータスは pending → generating → uploading → success と遷移します。成功すると AI は動画の URL、長さ、解像度、比率、seed、消費クレジットを報告します。
出力の挙動は、設定で指定した outputMode に従います:
inline(デフォルト)またはboth— 動画の URL とメタデータが会話の中に直接表示されます。downloadまたはboth— ファイルがトピックにもとづく名前(例:cyberpunk-city.mp4)でカレントディレクトリにも保存されます。名前の重複は自動的に回避されます。
過去の作業を振り返るには、listenhub video get <taskId> --json で単一のタスクを、listenhub video list --json で最近のタスク一覧を取得します。グローバルフラグも使えます:--json / -j、--no-wait、--timeout <s>。
API リファレンス
エンドポイントのパス、リクエストパラメータ、レスポンスフィールドについては、AI 動画 API リファレンス を参照してください。