talking-head-production
Talking head video production with AI avatars, lipsync, and voiceover. Covers portrait requirements, audio quality, OmniHuman, PixVerse lipsync, Dia TTS. Use for: spokesperson videos, course content, social media, presentations, demos. Triggers: talking head, avatar video, lipsync, lip sync, ai spokesperson, virtual presenter, ai presenter, omnihuman, talking avatar, video presenter, ai talking head, presenter video, ai face video
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
トーキングヘッドの制作
AIアバターとリップシンクを使ってトーキングヘッド動画を作成します。 inference.sh CLI経由で利用できます。
クイックスタート
curl -fsSL https://cli.inference.sh | sh && infsh login
# ダイアログ音声を生成
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Welcome to our product tour. Today I will show you three features that will save you hours every week."
}'
# OmniHumanでトーキングヘッド動画を作成
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "path/to/portrait.png",
"audio": "path/to/dialogue.mp3"
}'
ポートレートの要件
ソースとなるポートレート画像は非常に重要です。質の悪いポートレートは、質の悪い動画出力につながります。
必須事項
| 要件 | 理由 | 仕様 |
|---|---|---|
| 中央に配置 | アバターの顔が予測可能な位置にある必要があるため | 顔がフレームの中央にあること |
| 頭と肩 | 自然なジェスチャーのために体が映っている必要があるため | 胸より下でトリミング |
| カメラ目線 | 視聴者とのつながりを生み出すため | 正面を直接見つめること |
| 無表情 | アニメーションの出発点となるため | わずかな笑顔はOK、笑ったり眉をひそめたりしないこと |
| 鮮明な顔 | モデルが特徴を検出する必要があるため | サングラス、濃い影、障害物がないこと |
| 高解像度 | ディテールの保持のため | 顔の領域が最低512x512、理想的には1024x1024以上 |
背景
| タイプ | 使用する場面 |
|---|---|
| 単色 | プロフェッショナルでクリーン、合成しやすい |
| ソフトボケ | 自然でライフスタイル感のある雰囲気 |
| オフィス/スタジオ | ビジネスシーン |
| 透明(背景除去経由) | 他のシーンへの合成 |
# プロフェッショナルなポートレート背景を生成
infsh app run falai/flux-dev-lora --input '{
"prompt": "professional headshot photograph of a friendly business person, soft studio lighting, clean grey background, head and shoulders, direct eye contact, neutral pleasant expression, high quality portrait photography"
}'
# または既存のポートレートから背景を削除
infsh app run <bg-removal-app> --input '{
"image": "path/to/portrait-with-background.png"
}'
音声品質
音声品質はリップシンクの精度に直接影響します。クリーンな音声は正確な唇の動きにつながります。
要件
| パラメータ | 目標 | 理由 |
|---|---|---|
| 背景ノイズ | なし/最小限 | ノイズはリップシンクのタイミングを混乱させるため |
| 音量 | 全体を通して一貫していること | 同期ずれを防ぐため |
| サンプルレート | 44.1kHzまたは48kHz | 標準品質 |
| フォーマット | MP3 128kbps以上またはWAV | すべてのツールと互換性があるため |
音声の生成
# シンプルなナレーション
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Hi there! I am excited to share something with you today. We have been working on a feature that our users have been requesting for months... and it is finally here."
}'
# 感情とペースを伴う
infsh app run falai/dia-tts --input '{
"prompt": "[S1] You know what is frustrating? Spending hours on tasks that should take minutes. (sighs) We have all been there. But what if I told you... there is a better way?"
}'
モデルの選択
| モデル | App ID | 最適な用途 | 最大持続時間 |
|---|---|---|---|
| OmniHuman 1.5 | bytedance/omnihuman-1-5 |
複数キャラクター、ジェスチャー、高品質 | クリップあたり約30秒 |
| OmniHuman 1.0 | bytedance/omnihuman-1-0 |
シングルキャラクター、よりシンプル | クリップあたり約30秒 |
| PixVerse Lipsync | falai/pixverse-lipsync |
既存動画へのクイックリップシンク | 短いクリップ |
| Fabric | falai/fabric-1-0 |
ポートレートの布/生地アニメーション | 短いクリップ |
制作ワークフロー
基本: ポートレート + 音声 -> 動画
# 1. 音声を生成または準備
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Your narration script here."
}'
# 2. トーキングヘッドを生成
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "portrait.png",
"audio": "narration.mp3"
}'
キャプション付き
# 1-2. 上記と同じ
# 3. トーキングヘッド動画にキャプションを追加
infsh app run infsh/caption-videos --input '{
"video": "talking-head.mp4",
"caption_file": "captions.srt"
}'
長尺コンテンツ(クリップの結合)
30秒を超えるコンテンツの場合、セグメントに分割します。
# 音声セグメントを生成
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment one script."}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment two script."}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment three script."}' --no-wait
# 各セグメントのトーキングヘッドを生成(一貫性のため同じポートレートを使用)
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment1.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment2.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment3.mp3"}' --no-wait
# すべてのセグメントを結合
infsh app run infsh/media-merger --input '{
"media": ["segment1.mp4", "segment2.mp4", "segment3.mp4"]
}'
複数キャラクターの会話
OmniHuman 1.5は最大2キャラクターをサポートしています。
# 1. 2人の話者でダイアログを生成
infsh app run falai/dia-tts --input '{
"prompt": "[S1] So tell me about the new feature. [S2] Sure! We built a dashboard that shows real-time analytics. [S1] That sounds great. How long did it take? [S2] About two weeks from concept to launch."
}'
# 2. 2人のキャラクターで動画を作成
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "two-person-portrait.png",
"audio": "dialogue.mp3"
}'
フレーミングのガイドライン
┌─────────────────────────────────┐
│ ヘッドルーム(最小限) │
│ ┌───────────────────────────┐ │
│ │ │ │
│ │ ● ─ ─ 目の位置 1/3 ─ ─│─ │ ← 目の位置は上から1/3のライン
│ │ /|\ │ │
│ │ | 頭と肩が │ │
│ │ / \ 見えるように │ │
│ │ │ │
│ └───────────────────────────┘ │
│ 胸より下でトリミング │
└─────────────────────────────────┘
よくある間違い
| 間違い | 問題 | 修正 | |----
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Talking Head Production
Create talking head videos with AI avatars and lipsync via inference.sh CLI.
Quick Start
curl -fsSL https://cli.inference.sh | sh && infsh login
# Generate dialogue audio
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Welcome to our product tour. Today I will show you three features that will save you hours every week."
}'
# Create talking head video with OmniHuman
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "path/to/portrait.png",
"audio": "path/to/dialogue.mp3"
}'
Portrait Requirements
The source portrait image is critical. Poor portraits = poor video output.
Must Have
| Requirement | Why | Spec |
|---|---|---|
| Center-framed | Avatar needs face in predictable position | Face centered in frame |
| Head and shoulders | Body visible for natural gestures | Crop below chest |
| Eyes to camera | Creates connection with viewer | Direct frontal gaze |
| Neutral expression | Starting point for animation | Slight smile OK, not laughing/frowning |
| Clear face | Model needs to detect features | No sunglasses, heavy shadows, or obstructions |
| High resolution | Detail preservation | Min 512x512 face region, ideally 1024x1024+ |
Background
| Type | When to Use |
|---|---|
| Solid color | Professional, clean, easy to composite |
| Soft bokeh | Natural, lifestyle feel |
| Office/studio | Business context |
| Transparent (via bg removal) | Compositing into other scenes |
# Generate a professional portrait background
infsh app run falai/flux-dev-lora --input '{
"prompt": "professional headshot photograph of a friendly business person, soft studio lighting, clean grey background, head and shoulders, direct eye contact, neutral pleasant expression, high quality portrait photography"
}'
# Or remove background from existing portrait
infsh app run <bg-removal-app> --input '{
"image": "path/to/portrait-with-background.png"
}'
Audio Quality
Audio quality directly impacts lipsync accuracy. Clean audio = accurate lip movement.
Requirements
| Parameter | Target | Why |
|---|---|---|
| Background noise | None/minimal | Noise confuses lipsync timing |
| Volume | Consistent throughout | Prevents sync drift |
| Sample rate | 44.1kHz or 48kHz | Standard quality |
| Format | MP3 128kbps+ or WAV | Compatible with all tools |
Generating Audio
# Simple narration
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Hi there! I am excited to share something with you today. We have been working on a feature that our users have been requesting for months... and it is finally here."
}'
# With emotion and pacing
infsh app run falai/dia-tts --input '{
"prompt": "[S1] You know what is frustrating? Spending hours on tasks that should take minutes. (sighs) We have all been there. But what if I told you... there is a better way?"
}'
Model Selection
| Model | App ID | Best For | Max Duration |
|---|---|---|---|
| OmniHuman 1.5 | bytedance/omnihuman-1-5 |
Multi-character, gestures, high quality | ~30s per clip |
| OmniHuman 1.0 | bytedance/omnihuman-1-0 |
Single character, simpler | ~30s per clip |
| PixVerse Lipsync | falai/pixverse-lipsync |
Quick lipsync on existing video | Short clips |
| Fabric | falai/fabric-1-0 |
Cloth/fabric animation on portraits | Short clips |
Production Workflows
Basic: Portrait + Audio -> Video
# 1. Generate or prepare audio
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Your narration script here."
}'
# 2. Generate talking head
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "portrait.png",
"audio": "narration.mp3"
}'
With Captions
# 1-2. Same as above
# 3. Add captions to the talking head video
infsh app run infsh/caption-videos --input '{
"video": "talking-head.mp4",
"caption_file": "captions.srt"
}'
Long-Form (Stitched Clips)
For content longer than 30 seconds, split into segments:
# Generate audio segments
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment one script."}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment two script."}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] Segment three script."}' --no-wait
# Generate talking head for each segment (same portrait for consistency)
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment1.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment2.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment3.mp3"}' --no-wait
# Merge all segments
infsh app run infsh/media-merger --input '{
"media": ["segment1.mp4", "segment2.mp4", "segment3.mp4"]
}'
Multi-Character Conversation
OmniHuman 1.5 supports up to 2 characters:
# 1. Generate dialogue with two speakers
infsh app run falai/dia-tts --input '{
"prompt": "[S1] So tell me about the new feature. [S2] Sure! We built a dashboard that shows real-time analytics. [S1] That sounds great. How long did it take? [S2] About two weeks from concept to launch."
}'
# 2. Create video with two characters
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "two-person-portrait.png",
"audio": "dialogue.mp3"
}'
Framing Guidelines
┌─────────────────────────────────┐
│ Headroom (minimal) │
│ ┌───────────────────────────┐ │
│ │ │ │
│ │ ● ─ ─ Eyes at 1/3 ─ ─│─ │ ← Eyes at top 1/3 line
│ │ /|\ │ │
│ │ | Head & shoulders │ │
│ │ / \ visible │ │
│ │ │ │
│ └───────────────────────────┘ │
│ Crop below chest │
└─────────────────────────────────┘
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Low-res portrait | Blurry face, poor lipsync | Use 1024x1024+ face region |
| Profile/side angle | Lipsync can't track mouth well | Use frontal or near-frontal |
| Noisy audio | Lipsync drifts, looks unnatural | Record clean or use TTS |
| Too-long clips | Quality degrades after 30s | Split into segments, stitch |
| Sunglasses/obstruction | Face features hidden | Clear face required |
| Inconsistent lighting | Uncanny when animated | Even, soft lighting |
| No captions | Loses silent/mobile viewers | Always add captions |
Related Skills
npx skills add inferencesh/skills@ai-avatar-video
npx skills add inferencesh/skills@ai-video-generation
npx skills add inferencesh/skills@text-to-speech
Browse all apps: infsh app list