mcpField
V
video-localization

video-localization

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

video-localization について

Video Localization は、each::sense を使って動画を他言語の視聴者向けに調整するチームのためのスキルです。吹き替え、音声クローン、リップシンク、字幕生成を一連のローカライズ作業にまとめます。

主な機能

  1. 01動画音声の翻訳と吹き替え
  2. 02話者の声のクローン生成
  3. 03口の動きの同期
  4. 04原文または翻訳字幕の生成
  5. 05複数言語版の作成

活用シーン

  1. 01動画を他言語に吹き替え
  2. 02地域別のマーケティング動画制作
  3. 03研修・Eラーニング動画の翻訳
  4. 04世界向け YouTube 動画の準備

インストール

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

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

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

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

詳細

動画のローカライズ

each::sense を使用して、動画を複数の言語にローカライズし、吹き替えます。このスキルは、世界中のユーザーにコンテンツを配信するための音声翻訳、音声クローニング、リップシンク、字幕生成に対応しています。

主な機能

  • AI 吹き替え:動画の音声を任意の言語に翻訳して吹き替えます
  • 音声クローニング:言語が変わっても話者のアイデンティティを維持します
  • リップシンク:翻訳音声に合わせて唇の動きを同期させます
  • 字幕生成:原文または翻訳先の言語で字幕を自動生成します
  • 多言語版の作成:複数の市場向けにローカライズ版を作成します
  • マーケティングコンテンツのローカライズ:地域の視聴者に合わせて広告コンテンツを調整します
  • E ラーニングの翻訳:研修・教育コンテンツを翻訳します
  • YouTube のローカライズ:動画を海外の視聴者向けに準備します

クイックスタート

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": "Dub this English video into Spanish with lip sync"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/my-video.mp4"]
  }'

対応言語

言語コード吹き替え字幕音声クローニング
英語enはいはいはい
スペイン語esはいはいはい
フランス語frはいはいはい
ドイツ語deはいはいはい
イタリア語itはいはいはい
ポルトガル語ptはいはいはい
中国語zhはいはいはい
日本語jaはいはいはい
韓国語koはいはいはい
ヒンディー語hiはいはいはい
アラビア語arはいはいはい

ユースケースの例

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": "Translate and dub this English video into Spanish. Use a natural-sounding voice that matches the original speaker tone and energy."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/english-video.mp4"]
  }'
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": "Translate this video from English to French with full lip sync. The lip movements should match the French audio perfectly. Maintain the original background music and sound effects."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/presentation-video.mp4"]
  }'
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": "Generate subtitles for this video. First transcribe the English audio, then create Spanish subtitles. Output both SRT files and a video with burned-in Spanish subtitles."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/interview.mp4"]
  }'
4. 動画の多言語版

1 つのワークフローで、複数の市場向けにローカライズ版を作成します。

# Start multi-language localization session
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": "I need to localize this product video into Spanish, French, and German. Start with Spanish dubbing with lip sync."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "session_id": "localization-project-001",
    "video_urls": ["https://example.com/product-demo.mp4"]
  }'

# Continue with French 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": "Now create the French version with the same quality settings."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "session_id": "localization-project-001"
  }'

# Continue with German 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": "Finally, create the German version."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "session_id": "localization-project-001"
  }'
5. 吹き替え用の音声クローニング

吹き替え版でも元の話者の声の特徴を維持します。

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": "Dub this video from English to Japanese using voice cloning. Clone the original speaker voice so they sound like themselves speaking Japanese. Maintain their unique voice characteristics, tone, and speaking style."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/ceo-message.mp4"]
  }'
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": "Localize this marketing video for the Latin American market. Translate to Spanish with a neutral Latin American accent, not Spain Spanish. Apply lip sync and ensure the messaging resonates with the target audience. Keep the energy and excitement of the original."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/brand-ad.mp4"]
  }'
7. 研修動画の翻訳

企業研修や教育コンテンツを翻訳します。

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": "Translate this employee training video from English to Mandarin Chinese. Use clear, professional narration suitable for corporate training. Include both dubbed audio and Chinese subtitles for accessibility. Technical terms should be accurately translated."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/onboarding-training.mp4"]
  }'
8. YouTube 動画のローカライズ

海外の YouTube 視聴者向けにコンテンツを準備します。

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": "Localize this YouTube video for Portuguese-speaking audiences (Brazilian Portuguese). Dub the narration with lip sync, generate Portuguese subtitles in SRT format, and create a localized thumbnail with Portuguese text overlay."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/youtube-tutorial.mp4"]
  }'
9. 広告クリエイティブのローカライズ

地域ごとの市場に合わせて広告コンテンツを調整します。

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": "Localize this 30-second ad for the German market. Translate and dub to German with lip sync. Ensure the call-to-action is culturally appropriate. Keep the same pacing and emotional impact as the original English version."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/product-ad-30s.mp4"]
  }'
10. E ラーニングコンテンツの翻訳

教育コースや教材を翻訳します。

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": "Translate this e-learning module from English to Korean. The instructor should be dubbed with voice cloning to maintain authenticity. Generate Korean subtitles and ensure all on-screen text references are noted for manual localization. Educational terminology must be accurately translated."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/course-module-1.mp4"]
  }'

ベストプラクティス

動画の品質
  • ソースの品質:高品質なソース動画を使用してください(1080p 以上を推奨)
  • 明瞭な音声:背景ノイズを最小限に抑え、ソース音声が明瞭であることを確認してください
  • 単独の話者:話者が 1 人のコンテンツで最良の結果が得られます。複数の話者がいる場合は、より多くの処理が必要です
吹き替えのヒント
  • 自然な話速:AI が唇の動きに合うように話速を調整します
  • 感情の維持:翻訳でも元の感情的なトーンが維持されます
  • 背景音声:元の音楽や効果音は維持されます
リップシンクの最適化
  • 顔の見えやすさ:話者の顔がはっきり見えるようにしてください
  • 安定した照明:顔が十分に照らされていると、リップシンクの結果が向上します
  • 正面向き:正面向き、またはわずかに角度をつけたショットで最良の結果が得られます
字幕作成のベストプラクティス
  • 読書速度:字幕は無理なく読める速度で表示されます
  • 改行:読みやすいように適切に分割されます
  • タイミングの同期:音声やシーンの切り替わりと正確に同期します

モードの選択

ニーズに応じて適切なモードを選択してください。

モード最適な用途速度品質
max最終制作、クライアントへの納品、放送遅いリップシンクと音声の品質が最も高い
eco下書き、社内レビュー、クイックプレビュー速い良好な品質で、処理も速い

推奨:初回レビューには eco モードを使用し、最終納品には max モードを使用してください。

複数ターンのローカライズワークフロー

session_id を使用して、ローカライズプロジェクトを反復的に進めます。

# Initial localization request
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": "Dub this video into Spanish with lip sync"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "dubbing-project-xyz",
    "video_urls": ["https://example.com/source-video.mp4"]
  }'

# Request adjustments based on review
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": "The voice sounds too formal. Can you make it more conversational and energetic?"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "dubbing-project-xyz"
  }'

# Add subtitles to the approved 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": "Add Spanish subtitles to this dubbed version"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "dubbing-project-xyz"
  }'

バッチローカライズ

複数の動画や言語を効率よく処理します:

# Use eco mode for batch processing drafts
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 Spanish dubbed versions of these 3 marketing videos with subtitles"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "eco",
    "video_urls": [
      "https://example.com/video1.mp4",
      "https://example.com/video2.mp4",
      "https://example.com/video3.mp4"
    ]
  }'

エラー処理

エラー原因解決策
Failed to create prediction: HTTP 422残高不足eachlabs.ai でチャージしてください
Video too long元動画が制限を超えています短いセグメントに分割してください
Audio not detected動画に音声がありません動画に音声が含まれていることを確認してください
Face not detectedリップシンクに使える顔が見つかりません話者が映っている動画を使用してください
タイムアウト生成処理が複雑ですクライアントのタイムアウトを最低 10 分に設定してください

技術的な注意事項

  • クライアントのタイムアウト:動画処理では、HTTP クライアントのタイムアウトを最低 10 分に設定してください
  • 動画の長さ:最良の結果を得るには、1 セグメントあたり 10 分未満が最適です
  • 出力形式:生成される動画は、H.264 エンコーディングの MP4 です
  • 字幕形式:字幕出力には SRT ファイルが提供されます

関連スキル

  • each-sense - コア API ドキュメント
  • video-generation - オリジナルの動画コンテンツを作成します
  • video-edit - 動画を編集、補正します
  • voice-audio - 音声合成と音声生成

コメント