UGC Video Generation について
each::sense APIでユーザー生成コンテンツ風の動画を作るスキルです。カジュアルな推薦コメント、開封、レビュー、チュートリアル、日常動画を制作するクリエイターやマーケター向けです。
主な機能
- 01推薦コメント・製品レビュー
- 02開封・リアクション動画
- 03ビフォーアフター動画
- 04チュートリアル・使い方動画
- 05日常・GRWM形式
- 06画像参照による一貫性
活用シーン
- 01製品体験コメントの素材制作
- 02EC向け開封動画の作成
- 03フィットネスや美容の変化を紹介
- 04手順付き製品チュートリアルの制作
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill ugc-video-generationインストール後、Claude Code で/ugc-video-generationを入力して読み込まれたか確認します。
同梱ファイルreferences/SSE-EVENTS.md
詳細
UGC 動画生成
each::sense API を使用して、ユーザー生成コンテンツ(UGC)風のリアルな動画を生成します。自然で親しみやすい雰囲気の、体験談、開封動画、製品レビュー、チュートリアル、セルフィー風コンテンツを作成できます。
概要
UGC 動画の特徴は、実際の人がスマートフォンで撮影したかのような、自然でカジュアルな雰囲気です。このスキルでは、次の動画を生成できます。
- 体験談動画:本心からの推薦に感じられる、トーキングヘッド形式のコンテンツ
- 開封動画:初めての製品紹介や開封
- 製品レビュー:率直に感じられる評価やデモンストレーション
- ビフォーアフター動画:変化の紹介や比較
- チュートリアル動画:使い方や手順を説明するコンテンツ
- 日常の一コマ:製品を自然に取り入れたライフスタイルコンテンツ
- GRWM(Get Ready With Me):個人的なルーティンを紹介するコンテンツ
- リアクション動画:自然な反応や初めての感想
クイックスタート
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 UGC testimonial video of a woman in her 30s talking about how this skincare product changed her skin. Casual iPhone footage look, natural lighting, filmed in her bathroom. She should be excited but genuine."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
UGC 動画の形式
| 形式 | 説明 | 最適な用途 |
|---|---|---|
| 体験談 | トーキングヘッド形式で、カメラに向かって話す | 製品の推薦、サービスのレビュー |
| 開封 | 初めて製品を紹介する | E コマース、サブスクリプションボックス、テクノロジー |
| チュートリアル | 手順ごとのデモンストレーション | 美容、DIY、ソフトウェア、料理 |
| レビュー | 製品の詳細な評価 | 電子機器、アプリ、サービス |
| ビフォーアフター | 変化を紹介する | フィットネス、美容、住宅改修 |
| 日常の一コマ | ライフスタイルへの取り入れ | ウェルネス、生産性、ファッション |
| GRWM | 個人的なルーティンの紹介 | 美容、ファッション、ライフスタイル |
| リアクション | 初めての印象に対する反応 | エンターテインメント、製品、新しい発見 |
ユースケースの例
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 UGC testimonial video. A young professional man in his late 20s sits on his couch, talking directly to camera. He shares how the meal prep service saved him hours every week. iPhone selfie camera angle, living room setting with natural window light. Casual clothes, authentic delivery - not scripted feeling. He should occasionally look away thinking, then back at camera. 15-20 seconds."}],
"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": "Generate an unboxing video UGC style. A college-age woman opens a subscription beauty box on her bed. POV angle showing her hands and reactions. She pulls items out one by one, showing genuine excitement and surprise. Natural bedroom lighting, casual setting with some clutter visible. She comments on each product as she discovers it. iPhone footage aesthetic, 20-25 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
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 before/after UGC video for a fitness app. Split format or transition style. Person films themselves in mirror - first clip shows them at the start of their journey (tired, unsure), then cut/transition to 3 months later (confident, energetic, visible progress). Bathroom or bedroom mirror, natural phone recording style. Include authentic facial expressions - nervous in before, proud in after. 15 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
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": "Create a UGC tutorial video showing how to use a face serum. POV hands-on demonstration. Woman applies product step by step - cleanser first, then serum application technique, gentle patting motions. Bathroom counter setup, ring light visible in reflection for authenticity. She explains each step casually like talking to a friend. Some minor mistakes are okay - keeps it real. 25-30 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
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": "Generate a UGC product review video. Man in his 40s reviews wireless earbuds from his home office. He shows the product, tests features, shares honest pros and cons. Webcam quality footage, casual home office background with some personalization visible. He demonstrates the fit, tests the sound, mentions battery life from his experience. Conversational tone, not overly polished. 30 seconds."}],
"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": "Create a day-in-the-life UGC video featuring a productivity app. Quick montage style - morning routine checking the app with coffee, using it during commute, referencing it during work, end of day review. Young professional woman, various locations throughout her day. iPhone footage, some clips handheld, some propped up. Natural lighting varies by scene. Lifestyle content feel, 20-25 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
7. GRWM(Get Ready With Me)
個人的なルーティンのコンテンツを生成します。
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 GRWM (Get Ready With Me) UGC video. Woman does her morning skincare and makeup routine while casually chatting to camera. Bathroom vanity setup, phone propped against mirror. She applies each product naturally, mentioning what she uses and why. Soft morning light, slightly messy counter with various products. Relaxed, friendly vibe like catching up with a friend. 30-35 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
8. リアクション動画
初めて見たときの自然な反応を捉えます。
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 reaction video UGC style. Teen reacts to trying a new snack for the first time. Selfie angle, bedroom background with posters visible. Initial skepticism, first bite, genuine surprise at the taste, enthusiastic recommendation. Raw, unfiltered reactions - could be positive or comically disgusted. Natural facial expressions, authentic Gen-Z energy. 15 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
9. 画像参照によるキャラクターの一貫性
image_urls を使って、動画を通してプレゼンターの一貫性を保ちます。
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 UGC testimonial video using the person in the reference image. They should be in their kitchen, talking about their experience with a cooking app. Natural morning light, casual pajamas, coffee in hand. Genuine enthusiasm about how the app helped them learn to cook. iPhone front camera angle, 20 seconds."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/your-presenter-reference.jpg"],
"mode": "max"
}'
10. ビジュアル参照を使った製品重視の UGC
製品画像を含め、製品の外観を一貫させます。
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 an unboxing and first impressions UGC video featuring this product. Young woman opens the package at her desk, examines the product from the reference image, tests it out, shares initial thoughts. Home office setting, afternoon light from window, laptop visible in background. Authentic excitement, genuine reactions. 25 seconds."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/your-product-image.jpg"],
"mode": "max"
}'
UGC らしさを自然に表現するためのベストプラクティス
視覚的なリアリティ
- プロンプトに「iPhone で撮影した映像」や「スマートフォンのカメラ画質」を指定します
- 自然光の変化(日差しの差し込む窓辺、浴室の照明など)を含めます
- わずかな手ブレや不完全な構図を許容します
- 少し散らかっていたり、個性が表れていたりする、実際の生活空間を見せます
演技のリアリティ
- 「心からの」または「自然な」反応を求めます
- 自然な間、考え込む瞬間、視線をそらす様子を含めます
- 台本を読んでいるようではなく、会話のような話し方を指定します
- 多少の不完全さを許容します。リアリティが高まります
場所のリアリティ
- 寝室、浴室、キッチン、オフィスなど、実際の生活空間を使います
- 生活感のある背景要素を含めます
- 場所に合った照明を使います(美容ならリングライト、ライフスタイルなら自然光)
- 製品が自然に使われる状況を見せます
プロンプトのヒント
iPhone で撮影したような映像にするには
次のようなフレーズを含めます。
- 「iPhone のセルフィーカメラのアングル」
- 「フロントカメラからの視点」
- 「スマートフォンを台の上に置いて撮影」
- 「スマートフォンを手持ちで撮影した映像」
- 「縦型動画」
自然な照明にするには
次のように指定します。
- 「窓から差し込む自然光」
- 「朝の浴室の照明」
- 「午後の柔らかな光」
- 「背景に見えるリングライト」(美容コンテンツ向け)
カジュアルな設定の場合
次のように説明します:
- 「ベッドが整えられていない様子が見える寝室」
- 「商品が散らばったバスルームの洗面台」
- 「くつろいだ雰囲気のリビングルームのソファ」
- 「朝の支度をするキッチンカウンター」
自然な話し方にする場合
次のようにリクエストします:
- 「友人と話すような会話調」
- 「大げさすぎない、自然なリアクション」
- 「自然な間や考え込む瞬間」
- 「つなぎ言葉を少し含むカジュアルな話し方」
モードの選択
| モード | 最適な用途 | 品質 |
|---|---|---|
max | 最終コンテンツ、キャンペーン素材 | 最高品質、処理時間は長め |
eco | 下書き、コンセプトのテスト、反復作業 | 高速、低コスト |
# High quality for final assets
"mode": "max"
# Quick draft for concept testing
"mode": "eco"
セッション ID を使った複数ターンの反復
session_id を使うと、シリーズ全体でコンテキストを維持し、一貫性のあるコンテンツを作成できます。
最初の動画
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 UGC testimonial. Young woman talks about discovering a new vitamin brand. Casual, in her kitchen, morning light. She explains why she decided to try it."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "ugc-campaign-001",
"mode": "max"
}'
続編の動画(同じ出演者)
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 follow-up video with the same presenter. Now she has been using the vitamins for 2 weeks. Same kitchen setting but different outfit. She shares her experience so far - more energy, better sleep. Still casual and genuine."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "ugc-campaign-001",
"mode": "max"
}'
シリーズの締めくくり
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": "Final video in the series with our presenter. One month update. She gives her honest final review, would she recommend it? Kitchen setting, but this time shes making her morning smoothie while talking. Natural integration of the product into her routine."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "ugc-campaign-001",
"mode": "max"
}'
エラー処理
| エラー | 原因 | 解決方法 |
|---|---|---|
| 401 Unauthorized | API キーが無効、または設定されていません | EACHLABS_API_KEY が正しく設定されていることを確認します |
| 400 Bad Request | リクエスト本文の形式が正しくありません | JSON の構文と必須パラメーターを確認します |
| 413 Payload Too Large | 画像ファイルが大きすぎます | 画像を圧縮するか、より小さいファイルを使用します |
| 429 Rate Limited | リクエストが多すぎます | バックオフを実装し、リクエスト頻度を下げます |
| 500 Server Error | 処理に失敗しました | 指数バックオフで再試行します |
再試行の例
# Simple retry with delay
for i in 1 2 3; do
response=$(curl -s -w "%{http_code}" -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 quick UGC testimonial video, casual selfie style, 10 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco"
}')
http_code="${response: -3}"
if [ "$http_code" = "200" ]; then
echo "Success"
break
fi
echo "Attempt $i failed with code $http_code, retrying..."
sleep $((i * 2))
done
関連スキル
- 動画生成:一般的な動画作成機能
- 画像生成:一貫したキャラクターの参照画像を作成
- 音声:UGC コンテンツ用のナレーションを生成
- 動画編集:生成した UGC 動画を後処理して編集
コメント
Markdown 対応