mcpField
T
talking-head-video

talking-head-video

github.com/eachlabsクリエイティブ・メディア44353 回インストール今日更新
リポジトリ

talking-head-video について

talking-head-video は、each::sense でプレゼンター動画を生成するスキルです。台本からの生成、写真のアニメーション化、音声へのリップシンクに対応し、言語や表現スタイルも指定できます。

主な機能

  1. 01台本からプレゼンターを生成
  2. 02静止ポートレートのアニメーション化
  3. 03既存音声へのリップシンク
  4. 04言語と表情スタイルの指定

活用シーン

  1. 01企業スポークスパーソン動画の制作
  2. 02研修・オンボーディング動画の作成
  3. 03多言語プレゼンターコンテンツの制作

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/eachlabs/skills --skill talking-head-video

インストール後、Claude Code で/talking-head-videoを入力して読み込まれたか確認します。

同梱ファイルreferences/SSE-EVENTS.md

詳細

トーキングヘッド動画の生成

each::sense を使用して、プロフェッショナルなトーキングヘッド動画を生成します。このスキルでは、静止画から生き生きとしたトーキング動画を作成し、スクリプトから AI プレゼンターを生成して、さまざまな用途に対応するリップシンク機能を利用できます。

機能

  • スクリプトから AI プレゼンターを生成:テキストスクリプトからトーキングヘッド動画を生成します
  • 写真からトーキング動画を生成:静止したポートレートに話す動きを付けます
  • 音声に合わせてリップシンク:既存の音声トラックに合わせて口の動きを同期します
  • 企業広報担当者:プロフェッショナルなビジネスプレゼンテーション動画
  • トレーニング動画のプレゼンター:教育コンテンツやオンボーディングコンテンツ
  • ニュースキャスター風:放送品質のプレゼンター動画
  • 製品解説:デモやチュートリアルのプレゼンター動画
  • 多言語対応:複数の言語でコンテンツを生成します
  • カスタムアバターのプレゼンター:パーソナライズされた AI 広報担当者を作成します
  • 感情表現のコントロール:さまざまな表情や話し方を設定します

クイックスタート

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video of a professional presenter saying: Welcome to our company. We are excited to have you join our team today."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'

動画出力仕様

種類解像度アスペクト比長さ用途
縦向き1080x19209:16最大60秒ソーシャルメディア、モバイル
横向き1920x108016:9最大60秒YouTube、プレゼンテーション
正方形1080x10801:1最大60秒ソーシャルメディアのフィード
ヘッドショット720x7201:1最大30秒短いクリップ、GIF

使用例

1. スクリプトから AI プレゼンターを生成

AI が生成したプレゼンターを使い、テキストスクリプトからトーキングヘッド動画を生成します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video with a professional female presenter in business attire. She should say: Welcome to our quarterly earnings report. This quarter we achieved record growth across all market segments. Our revenue increased by 25 percent compared to last year. Speaking style should be confident and authoritative."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
2. 写真からトーキング動画を生成

静止したポートレート写真を、動きのあるトーキング動画に変換します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Animate this photo to create a talking head video. The person should say: Hello, I am Dr. Sarah Chen, and I will be guiding you through todays medical seminar. Please ensure you have your notes ready. Make the lip movements natural and add subtle head movements."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/portrait-photo.jpg"]
  }'
3. 音声に合わせてリップシンク

ポートレート写真または動画を、既存の音声トラックに同期させます。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a lip-sync video using this portrait photo and audio file. Synchronize the lip movements perfectly to the speech. Add natural blinking and subtle expressions that match the audio tone."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/presenter-headshot.jpg"],
    "audio_url": "https://example.com/voiceover-script.mp3"
  }'
4. 企業広報担当者の動画

企業コミュニケーション向けに、プロフェッショナルなビジネス広報コンテンツを作成します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate a corporate spokesperson video. Middle-aged professional male in a suit, neutral office background. Script: At TechCorp, we believe in innovation that matters. Our commitment to sustainability drives everything we do. Join us in building a better tomorrow. Delivery should be warm, trustworthy, and professional. 16:9 aspect ratio for website embedding."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
5. トレーニング動画のプレゼンター

AI インストラクターを使って、教育動画やオンボーディング動画のコンテンツを生成します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a training video presenter. Friendly instructor appearance, casual professional attire. Script: Welcome to module three of your safety training. Today we will cover emergency procedures. First, locate your nearest exit. Second, familiarize yourself with the evacuation route. Remember, safety is everyones responsibility. Tone should be clear, encouraging, and educational."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
6. ニュースキャスター風の動画

放送品質のニュースプレゼンター動画を作成します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate a news anchor style talking head video. Professional female news presenter, polished appearance, studio background with subtle graphics. Script: Good evening. Tonight we bring you breaking coverage of the technology summit where world leaders announced new AI guidelines. Industry experts call this a historic moment. Speaking style should be authoritative, clear, and broadcast-professional."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
7. 製品解説プレゼンター

AI ホストを使って、製品のデモ動画や解説動画を作成します。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a product explainer video with a talking head presenter. Young, energetic tech reviewer appearance. Script: Let me show you the amazing features of the new SmartWatch Pro. This device tracks your heart rate, monitors sleep patterns, and even measures stress levels. The battery lasts seven days on a single charge. Its a game-changer for fitness enthusiasts. Delivery should be enthusiastic and engaging, like a YouTube tech review."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
8. 多言語プレゼンター

国際的な視聴者向けに、複数の言語でトーキングヘッドコンテンツを生成します。

# English version
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video in English. Professional presenter appearance. Script: Welcome to our global platform. We connect businesses across continents. Keep the same presenter appearance for consistency with other language versions."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "multilang-campaign-001",
    "mode": "max"
  }'

# Spanish version (same session for consistency)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create the same talking head video but in Spanish. Use the same presenter from the previous video. Script: Bienvenidos a nuestra plataforma global. Conectamos empresas a traves de los continentes. Match the tone and delivery style of the English version."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "multilang-campaign-001",
    "mode": "max"
  }'

# French version (same session for consistency)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Now create the French version with the same presenter. Script: Bienvenue sur notre plateforme mondiale. Nous connectons les entreprises a travers les continents. Maintain visual consistency with previous versions."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "multilang-campaign-001",
    "mode": "max"
  }'
9. カスタムアバターのプレゼンター

ブランドイメージを一貫して伝える、パーソナライズされた AI アバターの広報担当者を作成します。

# Initial avatar creation
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a custom AI avatar presenter for our brand. Female, late 20s, professional but approachable appearance, dark hair, wearing a navy blazer. This will be our consistent brand spokesperson. Generate a reference image first."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "brand-avatar-001",
    "mode": "max"
  }'

# Use avatar for video
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Now create a talking head video using this avatar. Script: Hi, I am Maya, your AI assistant from TechBrand. I am here to help you get the most out of our products. Lets explore what we can do together. Keep her appearance consistent with the avatar we created."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "brand-avatar-001",
    "mode": "max"
  }'
10. 感情表現のバリエーション

特定の感情表現や話し方を使ったトーキングヘッド動画を生成します。

# Empathetic customer service
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video with empathetic expression. Customer service representative appearance. Script: We understand this has been a frustrating experience for you. Your satisfaction is our top priority. Let me personally ensure we resolve this issue today. Expression should convey genuine concern, understanding, and warmth. Soft, caring tone."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "expression-variations",
    "mode": "max"
  }'

# Excited product launch
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Now create a talking head video with excited, energetic expression. Same presenter. Script: I am thrilled to announce our biggest launch ever! This is the moment weve all been waiting for. Get ready to experience something incredible. Expression should show genuine excitement, big smile, energetic delivery with dynamic gestures."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "expression-variations",
    "mode": "max"
  }'

# Serious announcement
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video with serious, professional expression. Same presenter. Script: We need to address some important changes to our policies. Effective immediately, all accounts will require two-factor authentication. This measure protects your data and ensures platform security. Expression should be serious, authoritative, but not alarming. Measured, deliberate delivery."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "expression-variations",
    "mode": "max"
  }'

ベストプラクティス

スクリプトの作成
  • 会話調にする:形式的な文章ではなく、自然な話し言葉でスクリプトを書きます
  • 短縮形を使う:自然な話し方にするため、「We are」ではなく「We're」を使います
  • セグメントに分ける:長いコンテンツは、複数の短いクリップに分割します
  • 間を入れる:カンマやピリオドを使って、自然な間を示します
  • 専門用語を避ける:視聴者が専門用語を想定している場合を除きます
映像品質
  • 高解像度の素材:リップシンクには、鮮明で明るく撮影されたポートレート写真を使用します
  • 正面を向いたアングル:被写体がカメラを見ている場合に、最良の結果が得られます
  • 自然な表情:開始画像は、無表情または軽い笑顔が最適です
  • すっきりした背景:シンプルな背景を使うと、よりきれいな仕上がりになります
音声に関する考慮事項
  • クリアな音声素材:リップシンク機能には、高品質な音声を使用します
  • 音量を一定にする:処理前に音声レベルを正規化します
  • 自然な速度:話す速度が速すぎると、リップシンクの品質に影響することがあります
ブランドの一貫性
  • session_id を使用する:複数の動画で一貫性を保ちます
  • 外見を記録する:今後の利用に備えて、プレゼンターの説明を記録しておきます
  • 背景を統一する:ブランド認知のため、設定を一貫させます

トーキングヘッド動画のプロンプトのヒント

トーキングヘッドコンテンツを作成するときは、プロンプトに次の詳細を含めてください。

  1. プレゼンターの外見:年齢、性別、服装、プロフェッショナルなスタイル
  2. 台本:話すテキストの正確な内容
  3. トーン/話し方:プロフェッショナル、親しみやすい、エネルギッシュ、真剣など
  4. 背景:オフィス、スタジオ、ニュートラル、カスタム環境
  5. アスペクト比:プラットフォームに応じて 16:9、9:16、または 1:1
  6. 感情表現:ニュートラル、嬉しそう、真剣、共感的
  7. 言語:必要に応じて言語とアクセントを指定
プロンプトの構成例
"Create a talking head video with [presenter description].
Background: [setting/environment].
Script: [exact text to be spoken].
Delivery style: [tone and expression].
Format: [aspect ratio] for [platform/use case]."

モードの選択

生成を始める前に、ユーザーに尋ねてください。

「速さと低コストを重視しますか、それとも高品質を重視しますか?」

モード最適な用途速度品質
max最終的な本番動画、クライアントへの納品物遅い最高
eco手早い下書き、台本のテスト、コンセプトのレビュー速い良好

複数ターンでの動画の反復

session_id を使用して、トーキングヘッド動画を反復してください。

# Initial video
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a talking head video with a professional presenter for a tech company intro"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "company-intro-video"
  }'

# Iterate based on feedback
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Make the presenter look younger and more approachable, change to casual business attire"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "company-intro-video"
  }'

# Update script
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Same presenter, but change the script to: Hey there! Welcome to InnovateTech. Were a team of passionate builders creating the future of AI. Ready to join us?"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "company-intro-video"
  }'

動画シリーズの生成

コースやキャンペーン向けに、一貫性のある動画シリーズを作成します。

# Module 1
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a training series presenter. Instructor appearance, friendly and knowledgeable. Module 1 script: Welcome to the Python fundamentals course. In this first module, we will cover variables and data types. By the end, you will write your first Python program."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "python-course-series",
    "mode": "max"
  }'

# Module 2 (same presenter)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Same instructor for Module 2. Script: Welcome back. Today we dive into control flow. You will learn about if statements, loops, and how to make your programs make decisions. Lets get started."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "python-course-series",
    "mode": "max"
  }'

# Module 3 (same presenter)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Continue with Module 3, same instructor. Script: Great progress so far. Module 3 covers functions. Functions help you organize code and avoid repetition. This is where your code starts to feel professional."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "python-course-series",
    "mode": "max"
  }'

エラー処理

エラー原因解決策
Failed to create prediction: HTTP 422残高不足eachlabs.ai で残高を追加します
コンテンツポリシー違反禁止されているコンテンツコンテンツポリシーに準拠するようプロンプトを調整します
タイムアウト複雑な生成クライアントのタイムアウトを最低 10 分に設定します
ソース画像の品質が低い画像が小さすぎる、またはぼやけている高解像度で鮮明なポートレート写真を使用します
音声の同期に関する問題音声品質の問題明瞭で一貫性のある音声ファイルを使用します

関連スキル

  • each-sense - コア API のドキュメント
  • voice-audio - 音声生成と音声処理
  • video-generation - 一般的な動画作成
  • image-generation - ポートレート画像とアバター画像の作成

コメント