Instagram動画をフォームトリガーでGoogle Driveにダウンロードし、テーブルに記録

上級

これはMiscellaneous, Multimodal AI分野の自動化ワークフローで、19個のノードを含みます。主にIf, Wait, FormTrigger, GoogleDrive, HttpRequestなどのノードを使用。 Instagram動画をフォームトリガーでGoogle Driveへダウンロードし、そしてテーブルへ記録

前提条件
  • Google Drive API認証情報
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
  },
  "nodes": [
    {
      "id": "73ea2951-e7dd-4f7c-81cd-78be7ef9b912",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -720,
        520
      ],
      "webhookId": "99c989d4-d7e6-42d9-9f05-5235e2624149",
      "parameters": {
        "options": {},
        "formTitle": "Instagram to MP4",
        "formFields": {
          "values": [
            {
              "fieldLabel": "URL",
              "placeholder": "https://instagram.com/",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Instagram to MP4 Converter"
      },
      "typeVersion": 2.2
    },
    {
      "id": "0995485e-76cb-408c-b23b-bc908ffdd1a4",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        960,
        320
      ],
      "parameters": {
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "qUtlCnYpk7bXXaYp",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "323532c9-796f-4fd0-9595-dafbff9428d4",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -200,
        540
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bcc58e3d-9609-4ec3-adb9-bc6098205818",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "success"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "03ab7c27-ec4a-4d5c-b447-0a70bd9ca951",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        140,
        780
      ],
      "webhookId": "410a255f-0e20-4697-9584-b59829a5bfb8",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "8bd40b8e-ebea-40c9-b206-f2b2b38a0672",
      "name": "Google Drive Set Permission",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        620,
        240
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "resource": "file",
        "operation": "share",
        "permissionsUi": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "qEkQ8MFn0uSHgAqY",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "1562303f-831d-43e2-a2ab-c5fdb1a0933e",
      "name": "Upload To Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        320,
        240
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "qEkQ8MFn0uSHgAqY",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "1e588ad2-260f-4540-8e46-2eeb455aab95",
      "name": "Google Sheets Append Row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        620,
        780
      ],
      "parameters": {
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c6703dc6-ed48-41eb-ad85-594fdf819e0a",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        240
      ],
      "parameters": {
        "height": 500,
        "content": "## 🟢 **1. On form submission**\n- **Purpose:** Acts as the trigger for the workflow.  \n- **Functionality:** Displays a form with a single field (`URL`) where users can enter the instagram video link.  \n- **Output:** Passes the entered URL to the next node for processing."
      },
      "typeVersion": 1
    },
    {
      "id": "700f9fa7-5914-45c4-83cb-f62de6cf5400",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        240
      ],
      "parameters": {
        "height": 500,
        "content": "## 🌐 **2.Instagram Downloader API Request**\n- **Purpose:** Fetch downloadable MP4 link.  \n- **Functionality:** Sends a `POST` request to **Instagram Video Downloader API**, passing the URL from the form.  \n- **Output:** Receives a JSON response containing downloadable media links.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "62b9b97a-0281-49b3-92ef-b1861ccc22a3",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        240
      ],
      "parameters": {
        "height": 500,
        "content": "## 🔍 **3. If**\n- **Purpose:** Check for API errors.  \n- **Functionality:** Evaluates if the response contains an `error` field.  \n- **Output:** \n  - ✅ **True Path:** Proceeds to download the MP4.  \n  - ❌ **False Path:** Goes to error handling (Wait + Sheets logging).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1f2524e9-d5f1-47f3-b53e-774846700adb",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "height": 440,
        "content": "## ⬇️ **4. MP4 Downloader**\n- **Purpose:** Download the video file.  \n- **Functionality:** Uses the media URL from the previous API response to download the MP4 video.  \n- **Output:** Stores the raw MP4 binary for upload.\n\n-"
      },
      "typeVersion": 1
    },
    {
      "id": "8fb52ee3-5af6-47b1-85f1-22e815cc7dbb",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        0
      ],
      "parameters": {
        "height": 400,
        "content": "## ☁️ **5. Upload To Google Drive**\n- **Purpose:** Store video in Google Drive.  \n- **Functionality:** Uploads the downloaded MP4 into the specified Drive folder.  \n- **Output:** Returns a file ID for the uploaded file.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ccf032b8-e2c6-468d-9441-8814d6f90235",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        0
      ],
      "parameters": {
        "height": 380,
        "content": "## 🔑 **6. Google Drive Set Permission**\n- **Purpose:** Make the file publicly accessible.  \n- **Functionality:** Sets file permissions to `Anyone with the link can view`.  \n- **Output:** Provides a sharable `webViewLink`.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "85411455-f2f5-4cb0-8e75-2dec95783723",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        20
      ],
      "parameters": {
        "height": 460,
        "content": "## 📄 **7. Google Sheets**\n- **Purpose:** Log successful conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Instagram link  \n  - `Drive_URL` → Sharable Google Drive MP4 link  \n- **Output:** Saves a permanent log of successful downloads."
      },
      "typeVersion": 1
    },
    {
      "id": "8caff77e-012c-4742-922f-6f5f2b004f46",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        540
      ],
      "parameters": {
        "height": 360,
        "content": "## ⏱️ **8. Wait**\n- **Purpose:** Delay before logging failures.  \n- **Functionality:** Pauses workflow execution to avoid instant sheet logging when API errors occur.  \n- **Output:** Prevents rapid consecutive writes to Google Sheets."
      },
      "typeVersion": 1
    },
    {
      "id": "a7c6d5a3-1e4a-47a3-8b56-3c8db4d2d541",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        420
      ],
      "parameters": {
        "height": 480,
        "content": "## 📑 **9. Google Sheets Append Row**\n- **Purpose:** Log failed conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Instagram link  \n  - `Drive_URL` → `N/A` (indicating download failure)  \n- **Output:** Tracks failed attempts separately.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "5ee123ce-c57c-4dae-b4a0-254986cc1da4",
      "name": "MP4 Downloader",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        60,
        260
      ],
      "parameters": {
        "url": "={{ $json.data[0].downloadUrl }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "1475e1e1-f06d-42ab-aab8-2efa657cfaa7",
      "name": "Instagram Downloader API Request",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        -500,
        520
      ],
      "parameters": {
        "url": "https://instagram-downloader51.p.rapidapi.com/download.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.URL }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "instagram-downloader51.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "yourkey"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "24f49a97-8191-4778-9782-fb86ab86f816",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        -300
      ],
      "parameters": {
        "width": 1000,
        "height": 1200,
        "content": "# 📥 Instagram to MP4 Converter Workflow\n\nThis **n8n workflow** automates the process of converting Instagram video URLs into downloadable MP4 files and storing them in **Google Drive**, while maintaining a detailed log of success and failure cases in **Google Sheets**.\n\n---\n\n## 🔧 Key Features\n\n- 📝 **Form Input**  \n  Accepts Instagram video links through a user-friendly web form.\n\n- 🌐 **Instagram Downloader API**  \n  Sends a `POST` request to retrieve downloadable video links via a third-party API.\n\n- ⬇️ **Video Download**  \n  Downloads the MP4 file from the extracted media link.\n\n- ☁️ **Google Drive Upload**  \n  Uploads the video to a Google Drive folder and sets public viewing permissions.\n\n- 📄 **Success Logging**  \n  Appends successful conversions (original URL + sharable Drive link) to a Google Sheet.\n\n- ❌ **Failure Handling**  \n  If the download fails, logs the original URL with a `Drive_URL` marked as `N/A` in a separate Google Sheets row.\n\n- ⏱️ **Wait Node**  \n  Adds a delay before logging failures to avoid rapid writes or API rate issues.\n\n---\n\n## ✅ Success Path\n1. Form submission →  \n2. API returns video link →  \n3. Video downloaded →  \n4. Uploaded to Google Drive →  \n5. Share link generated →  \n6. Logged to Google Sheets.\n\n## ❌ Failure Path\n1. API fails or returns error →  \n2. Wait →  \n3. Log failed attempt in Google Sheets with `N/A` Drive link.\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "323532c9-796f-4fd0-9595-dafbff9428d4": {
      "main": [
        [
          {
            "node": "5ee123ce-c57c-4dae-b4a0-254986cc1da4",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "03ab7c27-ec4a-4d5c-b447-0a70bd9ca951",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "03ab7c27-ec4a-4d5c-b447-0a70bd9ca951": {
      "main": [
        [
          {
            "node": "1e588ad2-260f-4540-8e46-2eeb455aab95",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5ee123ce-c57c-4dae-b4a0-254986cc1da4": {
      "main": [
        [
          {
            "node": "1562303f-831d-43e2-a2ab-c5fdb1a0933e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "73ea2951-e7dd-4f7c-81cd-78be7ef9b912": {
      "main": [
        [
          {
            "node": "1475e1e1-f06d-42ab-aab8-2efa657cfaa7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1562303f-831d-43e2-a2ab-c5fdb1a0933e": {
      "main": [
        [
          {
            "node": "8bd40b8e-ebea-40c9-b206-f2b2b38a0672",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8bd40b8e-ebea-40c9-b206-f2b2b38a0672": {
      "main": [
        [
          {
            "node": "0995485e-76cb-408c-b23b-bc908ffdd1a4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1475e1e1-f06d-42ab-aab8-2efa657cfaa7": {
      "main": [
        [
          {
            "node": "323532c9-796f-4fd0-9595-dafbff9428d4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - その他, マルチモーダルAI

有料ですか?

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

関連ワークフロー

TikTokの動画を署名なしでGoogle Driveにダウンロードし、テーブルに自動記録
TikTokの動画を無 watermark 版でGoogleドライブにダウンロードし、自動のにテーブルにログを記録
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 ノードEvoort Solutions
コンテンツ作成
画像 Transform AI、Google Sheets、および Google Driveを使用して画像を生成し、アップロードする
画像変換GPT、Google Sheets、Driveを使用して画像の生成・アップロード
If
Code
Wait
+
If
Code
Wait
23 ノードEvoort Solutions
コンテンツ作成
YouTube動画をMP3に変換する(RapidAPI、Google Drive保存、Sheetsログ記録を使用)
YouTube動画をMP3に変換するには、RapidAPI、Google Driveの保存、Sheetsでのログ記録を使用します
If
Code
Wait
+
If
Code
Wait
19 ノードEvoort Solutions
ファイル管理
Spotifyの音楽をGoogleドライブにダウンロードし、自動のにテーブルに記録
Spotifyの楽曲をGoogleデリカレントダウンロードし、ダウンロード履歴をテーブルに自動記録
If
Code
Wait
+
If
Code
Wait
25 ノードEvoort Solutions
ファイル管理
TikTok の文字起こし
RapidAPIとGoogle Sheetsを使ってTikTok動画の自動文字起こし
If
Code
Wait
+
If
Code
Wait
21 ノードEvoort Solutions
コンテンツ作成
画像生成と人間の審査を使用して LinkedIn および Facebook 向けに AI 駆動型ソーシャルメディアコンテンツを作成
画像生成と人間の審査を使用して LinkedIn と Facebook 向けの AI 駆動のソーシャルメディアコンテンツを作成
If
Set
Slack
+
If
Set
Slack
63 ノードDidac Fernandez
その他
ワークフロー情報
難易度
上級
ノード数19
カテゴリー2
ノードタイプ7
難易度説明

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

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34