ナノバナナ + 自動公開
上級
これはSocial Media, Multimodal AI分野の自動化ワークフローで、20個のノードを含みます。主にIf, Wait, HttpRequest, GoogleSheets, Agentなどのノードを使用。 Nano Banana と GPT-5 による画像編集と Instagram 投稿、タイトル生成の自動化
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
- •Google Drive API認証情報
- •OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "y3AF1pEsxHZOiRC0",
"meta": {
"instanceId": "1c7b08fed4406d546caf4a44e8b942ca317e7e207bb9a5701955a1a6e1ce1843",
"templateCredsSetupCompleted": true
},
"name": "Nano banana + Autopost",
"tags": [],
"nodes": [
{
"id": "b550bf52-81d7-44b7-8a56-6582a635870b",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
0,
0
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "YOUR_FOLDER_URL",
"cachedResultName": "Image Upload Folder"
}
},
"credentials": {},
"typeVersion": 1
},
{
"id": "63942884-b26a-48b2-8063-7b8c59494cf2",
"name": "Nano Banana POSTリクエスト",
"type": "n8n-nodes-base.httpRequest",
"position": [
240,
0
],
"parameters": {
"url": "https://api.wavespeed.ai/api/v3/google/nano-banana/edit",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={\n \"enable_base64_output\": false,\n \"enable_sync_mode\": false,\n \"images\": [\n \"{{ $json.webContentLink }}\"\n ],\n \"output_format\": \"jpeg\",\n \"prompt\": \"Clean up and declutter this apartment unit: remove all mess, trash, and personal items while keeping the original furniture, layout, and design intact. Tidy up surfaces, straighten objects, and make the space look neat and inviting. Enhance the lighting to appear bright and natural, similar to professional real-estate photography, without altering the structure or style of the apartment.\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
"name": "15秒待機",
"type": "n8n-nodes-base.wait",
"position": [
400,
0
],
"webhookId": "319f45e0-26e7-457d-b5c5-560a8bba9f8b",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"name": "Nano Bananaノードから結果を取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
656,
0
],
"parameters": {
"url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
"options": {
"redirect": {
"redirect": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
"name": "シートに行を追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
1152,
0
],
"parameters": {
"columns": {
"value": {
"Image URL": "={{ $json.data.outputs[0] }}",
"Timestamp": "={{ $now }}"
},
"schema": [
{
"id": "Image URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Image URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_NAME",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_ID",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Editted Image Log"
}
},
"credentials": {},
"typeVersion": 4.7
},
{
"id": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
864,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b84517df-a71f-4e28-b744-35bb1e55b85f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "completed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "8538e41c-39e3-4923-9167-cfe17c687cdc",
"name": "さらに15秒待機",
"type": "n8n-nodes-base.wait",
"position": [
928,
176
],
"webhookId": "5e110e46-28c5-4144-9052-16821d0ea666",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
"name": "Postizにアップロード",
"type": "n8n-nodes-base.httpRequest",
"position": [
1600,
0
],
"parameters": {
"url": "https://api.postiz.com/public/v1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "c3184cf0-6101-48a7-9a44-4c800237f544",
"name": "Instagramに投稿",
"type": "n8n-nodes-base.httpRequest",
"position": [
2432,
0
],
"parameters": {
"url": "https://api.postiz.com/public/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"type\": \"now\",\n \"shortLink\": false,\n \"date\": \"{{ new Date($now).toISOString() }}\",\n \"tags\": [],\n \"posts\": [\n {\n \"integration\": { \"id\": \"cmeku38qa00cpo90yfw4ai6lt\" },\n \"value\": [\n {\n \"content\": \"{{ $json.output }}\",\n \"image\": [\n {\n \"id\": \"{{ $node['Upload to Postiz'].json.id }}\",\n \"path\": \"{{ $node['Upload to Postiz'].json.path }}\"\n }\n ]\n }\n ],\n \"settings\": {\n \"post_type\": \"post\"\n }\n }\n ]\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
"name": "ログを更新",
"type": "n8n-nodes-base.googleSheets",
"position": [
1824,
0
],
"parameters": {
"columns": {
"value": {
"Status": "Uploaded to Postiz",
"Timestamp": "={{ $now }}",
"Video Name and Description": "={{ $('Google Drive Trigger').item.json.name }}"
},
"schema": [
{
"id": "Video Name and Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Video Name and Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_NAME",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_ID",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Logs of Captioned Videos to Publish"
}
},
"credentials": {},
"typeVersion": 4.7
},
{
"id": "cb42c1d0-795f-4605-93f3-e13f6944654b",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2112,
208
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5",
"cachedResultName": "gpt-5"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"name": "キャプションエージェント",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2064,
0
],
"parameters": {
"text": "={{ $json['Video Name and Description'] }}",
"options": {
"systemMessage": "=You are an expert Instagram caption writer.\nYour task is to take the image prompt provided by the user and generate a short, engaging caption for Instagram or Tik-Tok Reels\n\nCaption Guidelines\n\n\nTone: friendly, impactful and exciting\n\n##Output Rules\nDo not use special characters like {} ! %$&*\nReturn only one final caption per request.\nDo not include explanations or formatting outside of the caption itself."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "3ab434fd-3256-4687-92fa-0246078c391c",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2032,
-288
],
"parameters": {
"color": 7,
"width": 288,
"height": 800,
"content": "Caption for IG"
},
"typeVersion": 1
},
{
"id": "58a237a0-8a4b-4c75-875d-833731a2c313",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2336,
-288
],
"parameters": {
"color": 2,
"width": 304,
"height": 800,
"content": "Post to IG"
},
"typeVersion": 1
},
{
"id": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
"name": "画像を取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
1392,
0
],
"parameters": {
"url": "={{ $json['Image URL'] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "dff121ad-7120-452e-a4ae-9e33a1dfc4b4",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
-288
],
"parameters": {
"color": 3,
"width": 656,
"height": 800,
"content": "Get Image and Upload"
},
"typeVersion": 1
},
{
"id": "d8d5a377-1a6f-4684-851a-5f51adaf10f3",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
-288
],
"parameters": {
"color": 4,
"width": 784,
"height": 800,
"content": "Get Results from Nano Banana"
},
"typeVersion": 1
},
{
"id": "801e4aaf-ce66-4c03-9fe8-9a0cab42d8ed",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-288
],
"parameters": {
"color": 5,
"height": 800,
"content": "Drive Trigger"
},
"typeVersion": 1
},
{
"id": "4c8622a9-d705-4444-93ed-513a4c033b80",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-288
],
"parameters": {
"width": 368,
"height": 800,
"content": "Drive Trigger"
},
"typeVersion": 1
},
{
"id": "31820743-5d4d-4d93-9553-db353fbcc6ac",
"name": "付箋6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1056,
-368
],
"parameters": {
"color": 7,
"width": 848,
"height": 1536,
"content": "📸 Auto-Edit Google Drive Images with Nano Banana + Social Auto-Post\n\nDrop an image into Google Drive and let this workflow handle the rest: it auto-cleans and enhances the image with Google’s Nano Banana (via Wavespeed API), generates a catchy caption with GPT-5, and publishes directly to your connected social accounts using Postiz.\n\n👉 Watch step-by-step video tutorials of workflows like these on https://www.youtube.com/watch?v=4wk6PYgBtBM&list=PL05w1TE8X3bb1H9lXBqUy98zmTrrPP-s1\n\nWhat it does\n\nTriggers from Google Drive when a new image is uploaded\n\nSends the image to Nano Banana to declutter, brighten, and make it real-estate/photo-listing ready\n\nPolls for the edited result until it’s complete\n\nLogs the edited image URL into Google Sheets for tracking\n\nDownloads and uploads the edited image into Postiz media library\n\nGenerates an engaging caption with GPT-5 Caption Agent\n\nPublishes instantly to Instagram (can be extended to TikTok, LinkedIn, etc.)\n\nPerfect for\n\nReal-estate agents posting property shots\n\nEcommerce sellers updating product catalogs\n\nSocial media marketers needing fast, polished posts\n\nApps & Services\n\nGoogle Drive (Trigger)\n\nWavespeed API – Google Nano Banana (Image editing)\n\nGoogle Sheets (Logging)\n\nPostiz (Social scheduling/posting)\n\nOpenAI GPT-5 (Caption agent)\n\nSetup\n\nConnect your Google Drive and select the upload folder.\n\nAdd your Wavespeed API key for Nano Banana.\n\nConnect Google Sheets for logging.\n\nAdd Postiz API credentials and set the integration ID for your channel(s).\n\nEnter your OpenAI API key for GPT-5 captioning.\n\nCustomization\n\nAdjust the edit prompt for different use cases (e.g., product cleanup, lighting tweaks).\n\nChange Postiz post type to scheduled instead of “now.”\n\nAdd more Postiz posts for multi-platform publishing.\n\nInsert an approval loop (Slack/Email) before posting.\n\nLogs\n\nEdited Image Log (Sheets): stores final image URL + timestamp.\n\nPublishing Log (Sheets): tracks workflow status per asset.\n\nNotes\n\nSticky notes in the template explain each major block.\n\nReplace sample IDs with your own (folder IDs, sheet IDs, Postiz integration).\n\nKeep all API keys in n8n Credentials, not in node parameters."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5b7201de-043e-4ae6-95d0-fb7a33290f68",
"connections": {
"0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f": {
"main": [
[
{
"node": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
"type": "main",
"index": 0
}
],
[
{
"node": "8538e41c-39e3-4923-9167-cfe17c687cdc",
"type": "main",
"index": 0
}
]
]
},
"1f080554-b4ef-42c9-8e6b-ecbeb78dc093": {
"main": [
[
{
"node": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
"type": "main",
"index": 0
}
]
]
},
"c46c1b35-4bf0-4c90-9881-efd520df4b2a": {
"main": [
[
{
"node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"type": "main",
"index": 0
}
]
]
},
"6c3c8e4d-a5ea-4287-8d71-ed732bb3a719": {
"main": [
[
{
"node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"type": "main",
"index": 0
}
]
]
},
"2e6dd8f6-460c-483e-a3d8-385d519ca7da": {
"main": [
[
{
"node": "c3184cf0-6101-48a7-9a44-4c800237f544",
"type": "main",
"index": 0
}
]
]
},
"2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b": {
"main": [
[
{
"node": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
"type": "main",
"index": 0
}
]
]
},
"cb42c1d0-795f-4605-93f3-e13f6944654b": {
"ai_languageModel": [
[
{
"node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"8538e41c-39e3-4923-9167-cfe17c687cdc": {
"main": [
[
{
"node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"type": "main",
"index": 0
}
]
]
},
"4f98a56c-3eb9-4fdc-a606-29b1e10981e7": {
"main": [
[
{
"node": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
"type": "main",
"index": 0
}
]
]
},
"b550bf52-81d7-44b7-8a56-6582a635870b": {
"main": [
[
{
"node": "63942884-b26a-48b2-8063-7b8c59494cf2",
"type": "main",
"index": 0
}
]
]
},
"63942884-b26a-48b2-8063-7b8c59494cf2": {
"main": [
[
{
"node": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
"type": "main",
"index": 0
}
]
]
},
"ff945721-7eaa-453e-a8aa-efd7abac7c6e": {
"main": [
[
{
"node": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - ソーシャルメディア, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
サブマジック+自動投稿
Submagic、Postiz、OpenAIを使って動画に自動字幕を追加してInstagramとTikTokに投稿
If
Code
Wait
+
If
Code
Wait
21 ノードAutomate With Marc
マルチモーダルAI
コンビネーション画像から動画へアシスタント
Telegram、GPT-4.1、およびSeedance/Veo3統合を使用して画像からビデオを生成
If
Wait
Telegram
+
If
Wait
Telegram
22 ノードAutomate With Marc
コンテンツ作成
AIによるInstagram人気Reelのクローン作成エージェント機能+自動公開
AIクローンを使ってInstagram Reelsを自動公開:スクリプトから公開まで(Heygen + Submagic + Blotato)
If
Wait
Http Request
+
If
Wait
Http Request
21 ノードAutomate With Marc
コンテンツ作成
Nano Bananaでニュース要約画像を生成し、Xに人間檢索済みツイートを投稿
ナノバナナを使用してニュース要約画像を生成し、X に人間が審査したツイートを投稿する
If
Wait
Twitter
+
If
Wait
Twitter
25 ノードSulieman Said
ソーシャルメディア
LinkedInコンテンツファクトリー(OpenAI研究とブランド画像生成機能付き)
LinkedInコンテンツファクトリー、OpenAIリサーチとReplicateのブランド画像生成を統合
If
Set
Code
+
If
Set
Code
23 ノードOnur
ソーシャルメディア
Google Maps、GPT-4、WhatsApp を使用したビジネスパートナー獲得の自動化
Google Maps、GPT-4、WhatsAppを使用したビジネスパートナーの開拓の自動化
If
Set
Code
+
If
Set
Code
64 ノードKhairul Muhtadin
AIチャットボット
ワークフロー情報
難易度
上級
ノード数20
カテゴリー2
ノードタイプ8
作成者
Automate With Marc
@marconiAutomating Start-Up and Business processes. Helping non-techies understand and leverage Agentic AI with easy to understand step-by-step tutorials. Check out my educational content: https://www.youtube.com/@Automatewithmarc
外部リンク
n8n.ioで表示 →
このワークフローを共有