Gemini、FAL、Google Workspaceを使って製品動画を自動生成
上級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、16個のノードを含みます。主にWait, Filter, GoogleDrive, HttpRequest, GoogleSheetsなどのノードを使用。 Gemini、FAL、Google Workspaceを使って製品動画の自動生成
前提条件
- •Google Drive API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
使用ノード (16)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "783d2046f405cc6ecb20ef185376ed1023323a3da628b9d8156b1fb75c75e037"
},
"nodes": [
{
"id": "06fc66f7-c12e-443c-bfdb-1339128e0dec",
"name": "Google Sheets Trigger",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
0,
368
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "id",
"value": "=xxxx"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "=xxxxxx"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "yThtJbXk01Imf6iZ",
"name": "Google Sheets Trigger account"
}
},
"typeVersion": 1
},
{
"id": "4f833098-8f46-457f-9e47-5e273b831de4",
"name": "ファイルをダウンロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
464,
368
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $json.link_image }}",
"__regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "7ksMk3zwMvT2CToN",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "27356824-4c60-47f8-9c25-846d2716bd25",
"name": "ファイルから抽出",
"type": "n8n-nodes-base.extractFromFile",
"position": [
688,
368
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "8d2848d5-b2e5-49a7-9480-526ae86212b6",
"name": "ファイルに変換",
"type": "n8n-nodes-base.convertToFile",
"position": [
1168,
368
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "=candidates[0].content.parts[0].inlineData.data"
},
"typeVersion": 1.1
},
{
"id": "2491f22b-31e8-4190-91ce-b3ef4889ae14",
"name": "ファイルをアップロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
1424,
368
],
"parameters": {
"name": "={{ $now }}",
"driveId": {
"__rl": true,
"mode": "id",
"value": "=My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "=xxxxx"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "7ksMk3zwMvT2CToN",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "dac990c2-64a1-4e13-b9d4-ffbeb890f90c",
"name": "シートの行を更新",
"type": "n8n-nodes-base.googleSheets",
"position": [
2816,
368
],
"parameters": {
"columns": {
"value": {
"STT": "={{ $('Google Sheets Trigger').item.json.STT }}",
"status": "finished",
"link_video": "={{ $json.webViewLink }}"
},
"schema": [
{
"id": "STT",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "STT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "link_image",
"type": "string",
"display": true,
"required": false,
"displayName": "link_image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "note",
"type": "string",
"display": true,
"required": false,
"displayName": "note",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "string",
"display": true,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "link_video",
"type": "string",
"display": true,
"required": false,
"displayName": "link_video",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"STT"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WCta4mwXQB0vY1Etre78IrVouruy6gRRe1mToswv6v8/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "=xxxx"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "urlO8dciDPm5B2zv",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "82b056de-b2ac-4575-95b0-6bf1a10f4549",
"name": "付箋 — 概要",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"color": 5,
"width": 680,
"height": 320,
"content": "## Workflow Overview\n**Purpose:** Auto-generate branded product/ad videos directly from Google Sheets rows.\n**Trigger:** A new row is added with an image link (Google Sheets Trigger - rowAdded).\n**Steps:**\n1) Download image from Google Drive → Extract base64.\n2) Call Gemini API to create an ad-style image variant.\n3) Convert & upload the generated image to Drive (images folder).\n4) Send the image to FAL (image-to-video) to create a short clip.\n5) Poll FAL response URL until status = completed, then download the video.\n6) Upload video to Drive (videos folder) and update the sheet with the video link.\n\n**Result:** A fully automated pipeline: a spreadsheet row → final video asset."
},
"typeVersion": 1
},
{
"id": "e93e737c-4712-46ed-9511-3a054cd34818",
"name": "付箋 — セットアップ",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
0
],
"parameters": {
"color": 3,
"width": 680,
"height": 280,
"content": "## Setup Checklist\n- APIs & Keys: Google Sheets, Google Drive, **Gemini API key**, **FAL API key** (use Credentials; do not hardcode).\n- Google Drive: set folder IDs in the two **Upload file** nodes (image/video destinations).\n- Sheet columns (minimum): `STT`, `link_image`, `link_video`, `status`, `note`.\n- Trigger: runs when a new row is added.\n- Quick Test: add a row with a valid `link_image` → image generated → video uploaded → `link_video` written back."
},
"typeVersion": 1
},
{
"id": "9d4202cd-993b-4f9c-b190-4058e827c9f9",
"name": "付箋 — 注意点とヒント",
"type": "n8n-nodes-base.stickyNote",
"position": [
2208,
0
],
"parameters": {
"color": 4,
"width": 680,
"height": 300,
"content": "## Notes & Tips\n- Security: keep `x-goog-api-key` and FAL `Authorization` in Credentials (`{{$credentials...}}`).\n- Polling: FAL is async; poll `response_url` until `status == completed` before downloading the video.\n- Links: if an API needs a direct file URL, use Drive direct-download (`uc?export=download&id=<FILE_ID>`).\n- Prompts: tweak Gemini text for brand voice; change FAL `prompt` (e.g., replace \"slow moving\").\n- Error Handling: add `If` + `Wait` + retries; log failures to the sheet (`status`, `note`).\n- Scale: paste multiple rows to batch-generate creatives."
},
"typeVersion": 1
},
{
"id": "c1d73203-257e-4988-816d-393a3ca6fb6a",
"name": "フィルター",
"type": "n8n-nodes-base.filter",
"position": [
208,
368
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ca5a2759-ec88-45a8-b037-58341ec5da2c",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "run"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "618d9398-d6f6-4b6a-8c8b-de030f213c49",
"name": "待機",
"type": "n8n-nodes-base.wait",
"position": [
1856,
368
],
"webhookId": "214d0cab-c68b-473d-8eba-cc1c11420c0a",
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "28ff8eda-a56e-4314-a980-b95ac06cb740",
"name": "モデルで製品画像を作成",
"type": "n8n-nodes-base.httpRequest",
"position": [
912,
368
],
"parameters": {
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Create a image with model and product attached to create ads videos with this require: {{ JSON.stringify($('Filter').item.json.note).slice(1,-1) }}\"\n },\n {\n \"inline_data\": {\n \"mime_type\": \"image/jpeg\",\n \"data\": \"{{ $json.data }}\"\n }\n }\n ]\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "x-goog-api-key",
"value": "xxxxxx"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "f6cbccbc-9b32-40c2-9735-0915e44e684e",
"name": "動画を作成",
"type": "n8n-nodes-base.httpRequest",
"position": [
1648,
368
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/ltxv-13b-098-distilled/image-to-video",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "prompt",
"value": "=slow motion, {{ $('Filter').item.json.note }}"
},
{
"name": "image_url",
"value": "={{ $json.webContentLink }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Key xxxxx"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "0b700727-2e6b-4ce8-989d-ab18f1a5d887",
"name": "動画リンクを取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
2080,
368
],
"parameters": {
"url": "={{ $json.response_url }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Key xxxx"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "c5c00e9c-b56a-459b-a00c-151316707c4f",
"name": "動画をダウンロード",
"type": "n8n-nodes-base.httpRequest",
"position": [
2336,
368
],
"parameters": {
"url": "={{ $json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "306165a7-4320-4fcc-a03f-6cd424074c29",
"name": "動画をアップロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
2592,
368
],
"parameters": {
"name": "={{ $now }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "=xxxx"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "7ksMk3zwMvT2CToN",
"name": "Google Drive account"
}
},
"typeVersion": 3
}
],
"pinData": {},
"connections": {
"618d9398-d6f6-4b6a-8c8b-de030f213c49": {
"main": [
[
{
"node": "0b700727-2e6b-4ce8-989d-ab18f1a5d887",
"type": "main",
"index": 0
}
]
]
},
"c1d73203-257e-4988-816d-393a3ca6fb6a": {
"main": [
[
{
"node": "4f833098-8f46-457f-9e47-5e273b831de4",
"type": "main",
"index": 0
}
]
]
},
"2491f22b-31e8-4190-91ce-b3ef4889ae14": {
"main": [
[
{
"node": "f6cbccbc-9b32-40c2-9735-0915e44e684e",
"type": "main",
"index": 0
}
]
]
},
"f6cbccbc-9b32-40c2-9735-0915e44e684e": {
"main": [
[
{
"node": "618d9398-d6f6-4b6a-8c8b-de030f213c49",
"type": "main",
"index": 0
}
]
]
},
"306165a7-4320-4fcc-a03f-6cd424074c29": {
"main": [
[
{
"node": "dac990c2-64a1-4e13-b9d4-ffbeb890f90c",
"type": "main",
"index": 0
}
]
]
},
"4f833098-8f46-457f-9e47-5e273b831de4": {
"main": [
[
{
"node": "27356824-4c60-47f8-9c25-846d2716bd25",
"type": "main",
"index": 0
}
]
]
},
"c5c00e9c-b56a-459b-a00c-151316707c4f": {
"main": [
[
{
"node": "306165a7-4320-4fcc-a03f-6cd424074c29",
"type": "main",
"index": 0
}
]
]
},
"0b700727-2e6b-4ce8-989d-ab18f1a5d887": {
"main": [
[
{
"node": "c5c00e9c-b56a-459b-a00c-151316707c4f",
"type": "main",
"index": 0
}
]
]
},
"8d2848d5-b2e5-49a7-9480-526ae86212b6": {
"main": [
[
{
"node": "2491f22b-31e8-4190-91ce-b3ef4889ae14",
"type": "main",
"index": 0
}
]
]
},
"27356824-4c60-47f8-9c25-846d2716bd25": {
"main": [
[
{
"node": "28ff8eda-a56e-4314-a980-b95ac06cb740",
"type": "main",
"index": 0
}
]
]
},
"06fc66f7-c12e-443c-bfdb-1339128e0dec": {
"main": [
[
{
"node": "c1d73203-257e-4988-816d-393a3ca6fb6a",
"type": "main",
"index": 0
}
]
]
},
"28ff8eda-a56e-4314-a980-b95ac06cb740": {
"main": [
[
{
"node": "8d2848d5-b2e5-49a7-9480-526ae86212b6",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
LinkedInおよびXウイルスのなコンテンツ自動エンジン
AIを使ってLinkedInとXにウイルスのなコンテンツを自動生成して公開する
If
Set
Wait
+
If
Set
Wait
156 ノードDiptamoy Barman
コンテンツ作成
OpenAI、RunwayML、ElevenLabsを使って無顔の短い動画を自動化
OpenAI、RunwayML、ElevenLabs を使ってアニメ顔の短い動画を自動化:スクリプトからソーシャルメディアへ
Set
Code
Wait
+
Set
Code
Wait
56 ノードLeeWei
コンテンツ作成
WordPressブログの自動化プロフェッショナル版(先端研究)v2.1マーケットプラグイン
GPT-4o、Perplexity AI、そして多言語対応を使ったSEO最適化ブログ作成の自動化
If
Set
Xml
+
If
Set
Xml
125 ノードDaniel Ng
コンテンツ作成
私のワークフロー
Apify、GPT-4o、Facebook 広告ライブラリを使用して競合広告の研究と画像生成
Set
Wait
Limit
+
Set
Wait
Limit
32 ノードNick Saraev
コンテンツ作成
再生リスト詳細設定ボットコピー
Suno、GPT-4、Runway、Creatomate を使って AI 生成の YouTube ミュージックプレイリストを作成
If
Set
Code
+
If
Set
Code
203 ノードJoseph
コンテンツ作成
Apify、GPT-4、Google Driveを使用して、競合からAI Facebook広告のバリエーションを生成
Apify、GPT-4、Google Driveを使用して競合他社のAI Facebook広告バリエーションを生成
Set
Wait
Limit
+
Set
Wait
Limit
29 ノードElectrabot
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数16
カテゴリー2
ノードタイプ9
作成者
Cong Nguyen
@cong-nguyenI’m a developer specialized in building web and mobile applications with AI integration and intelligent automation. With a solid background in data science, I help businesses build smarter digital solutions using cutting-edge technologies.
外部リンク
n8n.ioで表示 →
このワークフローを共有