belt CLIスキルのインストール:
npx skills add belt-sh/cli
トーキングヘッド制作
inference.sh のCLIを使って、AIアバターとリップシンクによるトーキングヘッド動画を作成します。
クイックスタート
inference.sh CLI(
belt)が必要です。インストール手順
belt login
# 推奨: P-Video-Avatar(TTS内蔵、最速、最安)
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "製品ツアーへようこそ。今日は、毎週何時間も節約できる3つの機能をご紹介します。",
"voice": "Zephyr (Female)"
}'
ポートレートの要件
元のポートレート画像は非常に重要です。品質の低いポートレートは、品質の低い動画出力につながります。
必須要件
| 要件 | 理由 | 仕様 |
|---|---|---|
| 中央フレーミング | アバターの顔を予測可能な位置に配置するため | 顔がフレームの中央にあること |
| バストアップ | 自然なジェスチャーのために体が見えること | 胸の下で切り抜き |
| カメラ目線 | 視聴者とのつながりを生み出す | 真正面からの視線 |
| 無表情 | アニメーションの開始点 | 少しの笑顔はOK、大笑いやしかめ面は不可 |
| はっきりした顔 | モデルが特徴を検出する必要がある | サングラス、強い影、遮蔽物がないこと |
| 高解像度 | ディテール保持のため | 顔領域の最小512x512、理想的には1024x1024以上 |
ポートレートの生成
# P-Imageでプロフェッショナルなポートレートを生成
belt app run pruna/p-image --input '{
"prompt": "professional headshot portrait of a friendly business person, soft studio lighting, clean grey background, head and shoulders, direct eye contact, neutral pleasant expression, photorealistic",
"aspect_ratio": "9:16"
}'
背景オプション
| タイプ | 使用する場面 |
|---|---|
| 単色 | プロフェッショナル、クリーン、合成が簡単 |
| ソフトボケ | 自然でライフスタイル感のある雰囲気 |
| オフィス/スタジオ | ビジネスコンテキスト |
| 動的背景(P-Video-Avatar) | video_prompt で背景を設定 |
モデル選択
P-Video-Avatarから始めましょう。 代替モデルと比較して18倍高速、6倍低コストで、TTSも内蔵されています。
| モデル | アプリID | TTS内蔵 | 最適な用途 |
|---|---|---|---|
| P-Video-Avatar | pruna/p-video-avatar | あり(30音声、10言語) | 総合最優秀: 速度、コスト、品質 |
| OmniHuman 1.5 | bytedance/omnihuman-1-5 | なし | 複数キャラクター、ジェスチャー |
| OmniHuman 1.0 | bytedance/omnihuman-1-0 | なし | 単一キャラクター |
| Fabric 1.0 | falai/fabric-1-0 | あり | 画像がリップシンクで話す |
| PixVerse Lipsync | falai/pixverse-lipsync | なし | リアルなリップシンク |
コストと速度の比較
| モデル | 速度(動画1秒あたり) | 秒あたりのコスト |
|---|---|---|
| P-Video-Avatar | 約1.83秒/秒 | $0.025 |
| OmniHuman 1.5 | 約28秒/秒(15倍遅い) | $0.16(6.4倍高い) |
| Fabric 1.0 | 約34秒/秒(18倍遅い) | $0.14(5.6倍高い) |
制作ワークフロー
シンプル: テキストスクリプト→動画(P-Video-Avatar)
別途TTSの手順は不要 — P-Video-Avatarには内蔵音声があります:
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "こんにちは!今日はあなたと共有したいことがあります。",
"voice": "Puck (Male)",
"voice_language": "English (US)",
"resolution": "720p"
}'
スタイル制御付き
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "これは私たちのコミュニティにとってエキサイティングなニュースです!",
"voice": "Aoede (Female)",
"voice_prompt": "熱意とエネルギーにあふれた口調で、やや速めのペース",
"video_prompt": "その人物はドラマチックな照明の下でステージ上でプレゼンテーションをしている",
"resolution": "1080p"
}'
オーディオ駆動(任意のモデル)
独自のオーディオファイルを提供:
# P-Video-Avatar カスタムオーディオ
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"audio": "https://speech.mp3"
}'
# OmniHuman カスタムオーディオ
belt app run bytedance/omnihuman-1-5 --input '{
"image_url": "https://portrait.jpg",
"audio_url": "https://speech.mp3"
}'
完全なワークフロー: ポートレート生成+アバター
# 1. ポートレート画像を生成
belt app run pruna/p-image --input '{
"prompt": "professional headshot portrait of a young woman, neutral background, looking at camera, studio lighting, photorealistic",
"aspect_ratio": "9:16"
}'
# 2. 内蔵TTSでアバター動画を作成
belt app run pruna/p-video-avatar --input '{
"image": "<step-1の画像URL>",
"voice_script": "こんにちは!最新の機能についてご説明します。",
"voice": "Zephyr (Female)"
}'
別途TTSを使用する場合(TTS非対応モデル用)
# 1. 音声を生成
belt app run falai/dia-tts --input '{
"prompt": "[S1] ここにナレーションスクリプトを入力。"
}'
# 2. トーキングヘッドを作成
belt app run bytedance/omnihuman-1-5 --input '{
"image_url": "https://portrait.jpg",
"audio_url": "<step-1の音声URL>"
}'
マルチキャラクター会話
OmniHuman 1.5は最大2キャラクターに対応:
# 1. 2人の話者によるダイアログを生成
belt app run falai/dia-tts --input '{
"prompt": "[S1] 新しい機能について教えてください。[S2] もちろん!リアルタイム分析を表示するダッシュボードを構築しました。[S1] それは素晴らしいですね。どれくらい時間がかかりましたか?[S2] 構想からリリースまで約2週間です。"
}'
# 2. 2人のキャラクターで動画を作成
belt app run bytedance/omnihuman-1-5 --input '{
"image_url": "https://two-person-portrait.png",
"audio_url": "<音声URL>"
}'
長尺動画(クリップの結合)
約60秒以上のコンテンツの場合は、セグメントに分割:
# 同じポートレートで一貫性を保ちながらクリップを生成
belt app run pruna/p-video-avatar --input '{"image": "https://portrait.jpg", "voice_script": "セグメント1..."}' --no-wait
belt app run pruna/p-video-avatar --input '{"image": "https://portrait.jpg", "voice_script": "セグメント2..."}' --no-wait
belt app run pruna/p-video-avatar --input '{"image": "https://portrait.jpg", "voice_script": "セグメント3..."}' --no-wait
# すべてのセグメントを結合
belt app run infsh/media-merger --input '{
"media": ["segment1.mp4", "segment2.mp4", "segment3.mp4"]
}'
多言語コンテンツ
P-Video-Avatarは内蔵TTSで10言語に対応:
# スペイン語
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "Bienvenidos a nuestra demostración de producto.",
"voice": "Kore (Female)",
"voice_language": "Spanish"
}'
# 日本語
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "こんにちは、製品デモへようこそ。",
"voice": "Leda (Female)",
"voice_language": "Japanese"
}'
既存動画の吹き替え
# 1. 元の動画を文字起こし
belt app run infsh/fast-whisper-large-v3 --input '{"audio_url": "https://video.mp4"}'
# 2. テキストを翻訳(手動またはLLMで)
# 3. 新しい言語で音声を生成
belt app run infsh/kokoro-tts --input '{"text": "<翻訳されたテキスト>"}'
# 4. 元の動画を新しい音声でリップシンク
belt app run infsh/latentsync-1-6 --input '{
"video_url": "https://original-video.mp4",
"audio_url": "<新しい音声のURL>"
}'
音声品質(TTS非対応ワークフロー用)
独自のオーディオを提供する場合、その品質はリップシンクの精度に直接影響します。
| パラメータ | 目標値 | 理由 |
|---|---|---|
| 背景ノイズ | なし/最小限 | ノイズがリップシンクのタイミングを狂わせる |
| 音量 | 全体で一定 | 同期ずれを防ぐ |
| サンプルレート | 44.1kHz または 48kHz | 標準品質 |
| フォーマット | MP3 128kbps以上、またはWAV | すべてのツールと互換性がある |
利用可能な音声(P-Video-Avatar)
女性: Zephyr, Kore, Leda, Aoede, Callirrhoe, Autonoe, Despina, Erinome, Laomedeia, Achernar, Gacrux, Pulcherrima, Vindemiatrix, Sulafat
男性: Puck, Charon, Fenrir, Orus, Enceladus, Iapetus, Umbriel, Algenib, Algieba, Schedar, Achird, Zubenelgenubi, Sadachbia, Sadaltager, Alnilam, Rasalgethi
言語: English (US), English (UK), Spanish, French, German, Italian, Portuguese (Brazil), Japanese, Korean, Hindi
フレーミングガイドライン
┌─────────────────────────────────┐
│ ヘッドルーム(最小限) │
│ ┌───────────────────────────┐ │
│ │ │ │
│ │ ● ─ ─ 目は上から1/3の線─ ─│─ │ ← 目は上から1/3のライン
│ │ /|\ │ │
│ │ | バストアップ │ │
│ │ / \ 見えていること │ │
│ │ │ │
│ └───────────────────────────┘ │
│ 胸の下で切り抜き │
└─────────────────────────────────┘
よくある間違い
| 間違い | 問題 | 修正方法 |
|---|---|---|
| 低解像度のポートレート | ぼやけた顔、不正確なリップシンク | 顔領域は1024x1024以上を使用 |
| 横向き/斜めのアングル | リップシンクが口をうまく追跡できない | 正面またはそれに近いアングルを使用 |
| ノイズの多いオーディオ | リップシンクがずれ、不自然に見える | 内蔵TTSを使用するか、クリアに録音 |
| 長すぎるクリップ | 品質が低下する | セグメントに分割し、結合する |
| サングラス/遮蔽物 | 顔の特徴が隠れている | はっきりした顔が必要 |
| 照明の不統一 | アニメーション時に不気味に見える | 均一でソフトな照明 |
関連スキル
# 専用P-Video-Avatarスキル
npx skills add inference-sh/skills@p-video-avatar
# 全アバターモデル
npx skills add inference-sh/skills@ai-avatar-video
# 全動画生成モデル
npx skills add inference-sh/skills@ai-video-generation
# テキスト読み上げ
npx skills add inference-sh/skills@text-to-speech
# 画像生成(ポートレート用)
npx skills add inference-sh/skills@ai-image-generation
全アプリを参照: belt app list