{
  "name": "Podcast to X (Twitter) pipeline with OpenAI Whisper, GPT-4o & Slack approval",
  "nodes": [
    {
      "id": "ad312cb5-6f9a-44bd-bca6-595eccd6b466",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -288
      ],
      "parameters": {
        "width": 644,
        "height": 640,
        "content": "# Podcast Summary & Social Post with Human-in-the-Loop\n\nThis workflow automatically fetches the latest podcast episode, transcribes the audio, generates a summary using AI, and posts it to X (Twitter)"
      }
    },
    {
      "id": "e0655577-b632-4075-8720-de523c2d429a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -128
      ],
      "parameters": {
        "width": 1072,
        "height": 384,
        "content": "## RSS Fetch & Date Formatting"
      }
    },
    {
      "id": "33590a87-32cc-46dc-874b-56ec01b886b5",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -128
      ],
      "parameters": {
        "width": 640,
        "height": 384,
        "content": "## Audio Chunking\nHandles large file downloads by splitting them into chunks."
      }
    },
    {
      "id": "9242f889-8bac-4285-a911-cb3097e9949a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        -128
      ],
      "parameters": {
        "width": 1024,
        "height": 384,
        "content": "## Transcribe & Summarize (AI)\nUses Whisper for transcription and GPT-4o for summarization."
      }
    },
    {
      "id": "4d004742-6874-442f-9667-6396f58279f4",
      "name": "[Step 0] Schedule — Daily 09:",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        16,
        32
      ]
    },
    {
      "id": "9a4b1f61-0446-4ea4-af42-7022469284d5",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2752,
        -128
      ],
      "parameters": {
        "width": 528,
        "height": 384,
        "content": "## Approval & Posting\nWait for Slack approval before posting to X."
      }
    },
    {
      "id": "4e445fa6-a33b-400d-a1f8-6264a5384036",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2448,
        -112
      ],
      "parameters": {
        "width": 288,
        "height": 352,
        "content": "## Prompt Customization\n\nYou can change the prompt language to match your podcast (e.g., Japanese, Spanish)."
      }
    },
    {
      "id": "a22f2cbd-ae46-4936-86cb-81cf2555b1bf",
      "name": "[Step 11] LLM — Summarize as News Bullets",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2480,
        32
      ]
    },
    {
      "id": "4a0b4604-15fa-4f5f-ab1a-9d5297be36a4",
      "name": "[Step 12] Slack — Review & Approve",
      "type": "n8n-nodes-base.slack",
      "position": [
        2832,
        32
      ]
    },
    {
      "id": "7abdbb60-1889-4ae8-940f-a8ac8465d0de",
      "name": "[Step 13] X (Twitter) — Post Tweet",
      "type": "n8n-nodes-base.twitter",
      "position": [
        3056,
        32
      ]
    },
    {
      "id": "0b26a5a8-28a8-4e73-ba7e-954b2444c108",
      "name": "[Step 10] Text — Merge Transcript & Pass Date",
      "type": "n8n-nodes-base.code",
      "position": [
        2256,
        32
      ]
    },
    {
      "id": "d7c60c9a-6bf6-4eec-8c71-8b1f76a6cd26",
      "name": "[Step 9] Text — Attach Part Number",
      "type": "n8n-nodes-base.set",
      "position": [
        2032,
        32
      ]
    },
    {
      "id": "9a0fd855-8305-43da-b633-8468436ba500",
      "name": "[Step 8] Speech-to-Text — Transcribe Chunks",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1808,
        32
      ]
    },
    {
      "id": "ab38e80b-96ec-4416-916d-038b09398797",
      "name": "[Step 7] HTTP — Download Chunk",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1584,
        32
      ]
    },
    {
      "id": "6e506503-d297-43f6-b072-f8fd2c6e75e4",
      "name": "[Step 6] Chunk — Plan Byte Ranges",
      "type": "n8n-nodes-base.code",
      "position": [
        1360,
        32
      ]
    },
    {
      "id": "f864aaf4-a53b-467b-98e4-f483d47f5d0d",
      "name": "[Step 5] HTTP — Probe Content-Range (0–0)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1136,
        32
      ]
    },
    {
      "id": "0db83e42-83c7-44da-89a9-79ddbba85f45",
      "name": "[Step 4] Item — Select Enclosure URL & Date",
      "type": "n8n-nodes-base.set",
      "position": [
        912,
        32
      ]
    },
    {
      "id": "5367e60e-b3e6-4165-9254-248783aec81b",
      "name": "[Step 3] Date — Format as YYYY-MM-DD",
      "type": "n8n-nodes-base.code",
      "position": [
        688,
        32
      ]
    },
    {
      "id": "da3005f1-35b0-4e57-a8ea-19b10ff514e7",
      "name": "[Step 2] RSS — Take Latest Item",
      "type": "n8n-nodes-base.limit",
      "position": [
        464,
        32
      ]
    },
    {
      "id": "1bf40255-13f7-45e7-8e4a-9e848f893a31",
      "name": "[Step 1] RSS — Fetch Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        240,
        32
      ]
    }
  ],
  "connections": {
    "[Step 1] RSS — Fetch Feed": {
      "main": [
        [
          {
            "node": "[Step 2] RSS — Take Latest Item",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 0] Schedule — Daily 09:": {
      "main": [
        [
          {
            "node": "[Step 1] RSS — Fetch Feed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 7] HTTP — Download Chunk": {
      "main": [
        [
          {
            "node": "[Step 8] Speech-to-Text — Transcribe Chunks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 2] RSS — Take Latest Item": {
      "main": [
        [
          {
            "node": "[Step 3] Date — Format as YYYY-MM-DD",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 6] Chunk — Plan Byte Ranges": {
      "main": [
        [
          {
            "node": "[Step 7] HTTP — Download Chunk",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 12] Slack — Review & Approve": {
      "main": [
        [
          {
            "node": "[Step 13] X (Twitter) — Post Tweet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 9] Text — Attach Part Number": {
      "main": [
        [
          {
            "node": "[Step 10] Text — Merge Transcript & Pass Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 3] Date — Format as YYYY-MM-DD": {
      "main": [
        [
          {
            "node": "[Step 4] Item — Select Enclosure URL & Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 11] LLM — Summarize as News Bullets": {
      "main": [
        [
          {
            "node": "[Step 12] Slack — Review & Approve",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 4] Item — Select Enclosure URL & Date": {
      "main": [
        [
          {
            "node": "[Step 5] HTTP — Probe Content-Range (0–0)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 5] HTTP — Probe Content-Range (0–0)": {
      "main": [
        [
          {
            "node": "[Step 6] Chunk — Plan Byte Ranges",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 8] Speech-to-Text — Transcribe Chunks": {
      "main": [
        [
          {
            "node": "[Step 9] Text — Attach Part Number",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Step 10] Text — Merge Transcript & Pass Date": {
      "main": [
        [
          {
            "node": "[Step 11] LLM — Summarize as News Bullets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}