サブマジック+自動投稿

上級

これはMultimodal AI分野の自動化ワークフローで、21個のノードを含みます。主にIf, Code, Wait, HttpRequest, GoogleSheetsなどのノードを使用。 Submagic、Postiz、OpenAIを使って動画に自動字幕を追加してInstagramとTikTokに投稿

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
  • Google Drive API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "6LCQ1CdkcxmGPWYs",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Submagic + Autopost",
  "tags": [],
  "nodes": [
    {
      "id": "0a25a595-fde8-41b1-b748-4aaa76dfa3c7",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -16,
        0
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "<<<GOOGLE_DRIVE_FOLDER_ID>>>",
          "cachedResultUrl": "<<<GOOGLE_DRIVE_FOLDER_URL>>>",
          "cachedResultName": "<<<GOOGLE_DRIVE_FOLDER_NAME>>>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "603fe943-e36c-44f0-82fc-0d419e2571f8",
      "name": "Submagicに投稿",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        0
      ],
      "parameters": {
        "url": "https://api.submagic.co/v1/projects",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "title",
              "value": "My First Video"
            },
            {
              "name": "language",
              "value": "en"
            },
            {
              "name": "videoUrl",
              "value": "={{ $json.webViewLink }}"
            },
            {
              "name": "templateName",
              "value": "Hormozi 2"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "713c3d1c-b739-4298-b3ac-29bd76dde2a9",
      "name": "Submagicから字幕付き動画を取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        672,
        0
      ],
      "parameters": {
        "url": "=https://api.submagic.co/v1/projects/{{ $json.id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "5744f643-fb29-4975-85c3-77d85ea6a35e",
      "name": "字幕付き動画をダウンロード",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1136,
        0
      ],
      "parameters": {
        "url": "={{ $json.downloadUrl }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "14e5ea48-6b99-4742-a520-fac3335dcdf6",
      "name": "Postizにアップロード",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1376,
        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"
      },
      "typeVersion": 4.2
    },
    {
      "id": "57225264-85f2-4c4c-82f7-9a63022d6d94",
      "name": "Instagramに投稿",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2480,
        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"
      },
      "typeVersion": 4.2
    },
    {
      "id": "814fb8ae-7536-4da9-9217-88e00cb0749c",
      "name": "ログを更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1568,
        0
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "Video Description / Prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video Description / Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Caption",
              "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": "<<<SHEET_ID>>>",
          "cachedResultUrl": "<<<GOOGLE_SHEET_URL>>>",
          "cachedResultName": "<<<SHEET_NAME>>>"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<<<GOOGLE_SHEET_ID>>>",
          "cachedResultUrl": "<<<GOOGLE_SHEET_URL>>>",
          "cachedResultName": "<<<SHEET_NAME>>>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "00c8896b-6b79-43fc-b541-13c097ddb72f",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2064,
        224
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5",
          "cachedResultName": "gpt-5"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "30f23841-c8ae-476c-881e-61a05d848e0f",
      "name": "キャプションエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2144,
        0
      ],
      "parameters": {
        "text": "={{ $json['Image Prompt'] }}",
        "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 that encourages parents and children to try Larrydoodle — a free online doodle drawing creator for kids. With Larrydoodle, children can design custom coloring pages, print them out, and start coloring instantly.\n\nCaption Guidelines\nKeep captions short, playful, and engaging for parents and kids.\nEmphasize the fun, creativity, and ease of using Larrydoodle.\nRotate the call-to-action (CTA) across posts, using one of these variations:\nCreate your own custom coloring pages for free today at larrydoodle.com\nTry it free and start creating now\nComment below what you created and share your creations with us by tagging #larrydoodle or tagging us in your Instagram Stories (make it lively and inviting)\n\nTone: friendly, imaginative, and encouraging.\n\nOutput 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": "45b0d6d7-a4e2-4bb4-ba0c-47a44437ca64",
      "name": "コード",
      "type": "n8n-nodes-base.code",
      "position": [
        1968,
        0
      ],
      "parameters": {
        "jsCode": "// inputData contains all rows from the previous node\nreturn [items[items.length - 1]];"
      },
      "typeVersion": 2
    },
    {
      "id": "b8abfe9e-c12c-4571-8d84-590c1f73c87f",
      "name": "シートで行を取得",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1760,
        0
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<<<SHEET_ID>>>",
          "cachedResultUrl": "<<<GOOGLE_SHEET_URL>>>",
          "cachedResultName": "<<<SHEET_NAME>>>"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<<<GOOGLE_SHEET_ID>>>",
          "cachedResultUrl": "<<<GOOGLE_SHEET_URL>>>",
          "cachedResultName": "<<<SHEET_NAME>>>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "b361b439-9d7f-45fe-8354-e31be2ba001e",
      "name": "条件分岐",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "df5cad6d-dcb6-4f43-b8f6-4a5e97950c46",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1204ab08-7196-45a1-a235-0bab382627cf",
      "name": "15秒待機",
      "type": "n8n-nodes-base.wait",
      "position": [
        864,
        224
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "4dde6f5a-ebed-4285-a5ba-eb378ec68293",
      "name": "15秒待機1",
      "type": "n8n-nodes-base.wait",
      "position": [
        464,
        0
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "f51a5eb7-771f-4cc1-b046-7e208d8a6213",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        -272
      ],
      "parameters": {
        "color": 5,
        "width": 256,
        "height": 800,
        "content": "Google Drive Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "57355d6c-4880-43ae-be0d-12728e64eb96",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -272
      ],
      "parameters": {
        "color": 7,
        "width": 256,
        "height": 800,
        "content": "Post to Submagic"
      },
      "typeVersion": 1
    },
    {
      "id": "c7de4f8e-7fb8-4d60-933d-1e7ae596d47b",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -272
      ],
      "parameters": {
        "color": 3,
        "width": 656,
        "height": 800,
        "content": "Caption with Submagic"
      },
      "typeVersion": 1
    },
    {
      "id": "fcde94bd-9a82-41a4-8e04-b136aec57293",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        -272
      ],
      "parameters": {
        "color": 4,
        "width": 608,
        "height": 800,
        "content": "Upload to Postiz"
      },
      "typeVersion": 1
    },
    {
      "id": "1366f8ab-0f70-418f-baee-228c764a198c",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        -272
      ],
      "parameters": {
        "color": 5,
        "width": 688,
        "height": 800,
        "content": "Caption for IG"
      },
      "typeVersion": 1
    },
    {
      "id": "10f05958-6526-4c41-9e1a-428d1841081f",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2432,
        -272
      ],
      "parameters": {
        "color": 2,
        "width": 320,
        "height": 800,
        "content": "Post to IG"
      },
      "typeVersion": 1
    },
    {
      "id": "cc4a6414-b84e-40c9-8675-2f19a0dad2ab",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        -400
      ],
      "parameters": {
        "width": 672,
        "height": 992,
        "content": "🎥 Auto-Caption & Autopost Videos to Instagram & TikTok\n\nDescription\nAutomate your short-form content pipeline! This workflow takes any video uploaded to a specific Google Drive folder, generates engaging captions with Submagic, and then auto-posts the finished video (with AI-generated captions) directly to Instagram or TikTok via Postiz. Captions are further refined with OpenAI for brand-ready social text. Finally, each published video is logged into a Google Sheet for tracking.\n\n👉 Watch step-by-step build of this workflow on: www.youtube.com/@automatewithmarc\n\nHow It Works\n\nGoogle Drive Trigger – Detects new video uploads.\n\nSubmagic API – Adds styled captions automatically.\n\nWait + Poll – Monitors job status until the captioned video is ready.\n\nDownload Video – Retrieves the finished captioned video.\n\nUpload to Postiz – Sends the file to Postiz for multi-platform posting.\n\nCaption Agent (OpenAI) – Generates optimized Instagram/TikTok captions.\n\nPost to Instagram/TikTok – Publishes the video with caption.\n\nUpdate Log – Saves video details, captions, and status into Google Sheets.\n\nWhy You’ll Love It\n\n⚡ Hands-off publishing — videos go from raw to posted automatically.\n\n📝 AI captions + Submagic styling — engaging text and visual consistency.\n\n📊 Content tracking — every post logged in Google Sheets.\n\n🎯 Perfect for Reels & TikToks — optimized for fast workflows and social reach.\n\nRequirements\n\nGoogle Drive account\n\nSubmagic API key\n\nPostiz account (for IG/TikTok posting)\n\nOpenAI API key (for caption generation)\n\nGoogle Sheets account"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "b361b439-9d7f-45fe-8354-e31be2ba001e": {
      "main": [
        [
          {
            "node": "5744f643-fb29-4975-85c3-77d85ea6a35e",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1204ab08-7196-45a1-a235-0bab382627cf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45b0d6d7-a4e2-4bb4-ba0c-47a44437ca64": {
      "main": [
        [
          {
            "node": "30f23841-c8ae-476c-881e-61a05d848e0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "814fb8ae-7536-4da9-9217-88e00cb0749c": {
      "main": [
        [
          {
            "node": "b8abfe9e-c12c-4571-8d84-590c1f73c87f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1204ab08-7196-45a1-a235-0bab382627cf": {
      "main": [
        [
          {
            "node": "713c3d1c-b739-4298-b3ac-29bd76dde2a9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30f23841-c8ae-476c-881e-61a05d848e0f": {
      "main": [
        [
          {
            "node": "57225264-85f2-4c4c-82f7-9a63022d6d94",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4dde6f5a-ebed-4285-a5ba-eb378ec68293": {
      "main": [
        [
          {
            "node": "713c3d1c-b739-4298-b3ac-29bd76dde2a9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "603fe943-e36c-44f0-82fc-0d419e2571f8": {
      "main": [
        [
          {
            "node": "4dde6f5a-ebed-4285-a5ba-eb378ec68293",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "14e5ea48-6b99-4742-a520-fac3335dcdf6": {
      "main": [
        [
          {
            "node": "814fb8ae-7536-4da9-9217-88e00cb0749c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00c8896b-6b79-43fc-b541-13c097ddb72f": {
      "ai_languageModel": [
        [
          {
            "node": "30f23841-c8ae-476c-881e-61a05d848e0f",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "b8abfe9e-c12c-4571-8d84-590c1f73c87f": {
      "main": [
        [
          {
            "node": "45b0d6d7-a4e2-4bb4-ba0c-47a44437ca64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0a25a595-fde8-41b1-b748-4aaa76dfa3c7": {
      "main": [
        [
          {
            "node": "603fe943-e36c-44f0-82fc-0d419e2571f8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5744f643-fb29-4975-85c3-77d85ea6a35e": {
      "main": [
        [
          {
            "node": "14e5ea48-6b99-4742-a520-fac3335dcdf6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "713c3d1c-b739-4298-b3ac-29bd76dde2a9": {
      "main": [
        [
          {
            "node": "b361b439-9d7f-45fe-8354-e31be2ba001e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数21
カテゴリー1
ノードタイプ9
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者
Automate With Marc

Automate With Marc

@marconi

Automating 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で表示

このワークフローを共有

カテゴリー

カテゴリー: 34