{
  "name": "Create AI screencast videos with Claude, VEED, OpenAI and automated slides",
  "nodes": [
    {
      "id": "13577dc8-b30d-4120-81a4-a8280f3a943d",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -8688,
        1152
      ]
    },
    {
      "id": "e8d92c4e-cedd-4698-a3fe-5c9606d176d0",
      "name": "⚙️ Workflow Configuration",
      "type": "n8n-nodes-base.code",
      "position": [
        -8448,
        1152
      ]
    },
    {
      "id": "9fe355e6-8b80-4a17-8d29-b3a32fb34d3e",
      "name": "🧠 Build Claude Prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        -8208,
        1152
      ]
    },
    {
      "id": "fae078a0-d3f9-4325-94f9-fa9483821ddc",
      "name": "🤖 Claude: Generate Content",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -7968,
        1152
      ]
    },
    {
      "id": "cd6f7651-edc4-49d1-9116-6ef00097a95b",
      "name": "📋 Parse Claude Response",
      "type": "n8n-nodes-base.code",
      "position": [
        -7728,
        1152
      ]
    },
    {
      "id": "f25fcb40-3760-497f-a1eb-b97ce2153c75",
      "name": "🔀 Split into Flows",
      "type": "n8n-nodes-base.code",
      "position": [
        -7488,
        1152
      ]
    },
    {
      "id": "b3311e20-c60a-4861-831f-06dabea2e736",
      "name": "🔀 Avatar Flow?",
      "type": "n8n-nodes-base.if",
      "position": [
        -7248,
        992
      ]
    },
    {
      "id": "aa0d9826-2a31-4925-96a5-a1d30ad24ffc",
      "name": "🔀 Slides Flow?",
      "type": "n8n-nodes-base.if",
      "position": [
        -7248,
        1280
      ]
    },
    {
      "id": "8a9d78e0-6705-47df-87f7-2411678ad536",
      "name": "🖼️ Has Custom Avatar URL?",
      "type": "n8n-nodes-base.if",
      "position": [
        -7008,
        976
      ]
    },
    {
      "id": "cddbac85-2a6c-4193-bfc0-2f730eeeec81",
      "name": "📸 Use Custom Avatar URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -6768,
        880
      ]
    },
    {
      "id": "41801caa-a26a-4947-9e30-5922655eda29",
      "name": "🎨 Generate Avatar (OpenAI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -6768,
        1040
      ]
    },
    {
      "id": "7d238092-fd81-4a27-95c3-d98546231e5b",
      "name": "📸 Extract Avatar Image",
      "type": "n8n-nodes-base.code",
      "position": [
        -6528,
        1040
      ]
    },
    {
      "id": "295f2711-5cae-43d3-9a08-22b1361d8e69",
      "name": "☁️ Upload Avatar Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -6288,
        1040
      ]
    },
    {
      "id": "14792c9c-7d3a-4c0c-b625-d02f33b2b042",
      "name": "💾 Store Avatar URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -6048,
        1040
      ]
    },
    {
      "id": "c4117185-27de-451a-9c95-25b79e10719f",
      "name": "🔊 Generate Audio (ElevenLabs)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -5808,
        880
      ]
    },
    {
      "id": "9d065c26-bc23-424e-ae5c-68b57923beeb",
      "name": "🎵 Convert Audio",
      "type": "n8n-nodes-base.code",
      "position": [
        -5568,
        880
      ]
    },
    {
      "id": "72856d5c-9ea4-400c-b09b-2cf8b275c868",
      "name": "☁️ Upload Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -5328,
        880
      ]
    },
    {
      "id": "393b9768-cd46-4d09-836b-3a0e560eb1f7",
      "name": "💾 Store Audio URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -5088,
        880
      ]
    },
    {
      "id": "be454543-e697-4a13-bfd5-f08973299a79",
      "name": "🎬 Generate Talking Head (VEED)",
      "type": "n8n-nodes-veed.veed",
      "position": [
        -4848,
        880
      ]
    },
    {
      "id": "9473479f-59dd-47f0-b8c6-69e2954c506b",
      "name": "📹 Extract VEED Video URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -4608,
        880
      ]
    },
    {
      "id": "11339015-c5f7-4ca3-ab9c-2442cb776d2d",
      "name": "📑 Expand Slides",
      "type": "n8n-nodes-base.code",
      "position": [
        -7008,
        1264
      ]
    },
    {
      "id": "17b296a6-06a4-4278-8d2a-7e51041a3c02",
      "name": "🖼️ Generate Slide (FAL)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -6768,
        1264
      ]
    },
    {
      "id": "6ae783dd-ec4f-4e56-8df4-23131f91c374",
      "name": "📸 Extract Slide URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -6528,
        1264
      ]
    },
    {
      "id": "6dbce0fa-fed1-49ef-b493-5596edcbb66f",
      "name": "📚 Aggregate Slides",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -6288,
        1264
      ]
    },
    {
      "id": "077c1515-7115-4b97-8cb8-ae81bda24f49",
      "name": "📊 Format Slides",
      "type": "n8n-nodes-base.code",
      "position": [
        -6048,
        1264
      ]
    },
    {
      "id": "cdf6652a-af63-4b25-8a80-cd3a24abf401",
      "name": "🔗 Merge Avatar + Slides",
      "type": "n8n-nodes-base.merge",
      "position": [
        -4336,
        1248
      ]
    },
    {
      "id": "81a456a0-c159-49c4-921d-b0f7f4f56989",
      "name": "📦 Prepare Creatomate Request",
      "type": "n8n-nodes-base.code",
      "position": [
        -4096,
        1248
      ]
    },
    {
      "id": "ccad00db-4d1d-41a5-b8cc-97b5f87feba4",
      "name": "🎬 Render Video (Creatomate)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3856,
        1248
      ]
    },
    {
      "id": "4191f759-8483-4afc-858c-b90a2708faed",
      "name": "📊 Extract Render Info",
      "type": "n8n-nodes-base.code",
      "position": [
        -3616,
        1248
      ]
    },
    {
      "id": "63117ee3-6093-476f-bc71-f04f03a5ace6",
      "name": "⏳ Wait for Render",
      "type": "n8n-nodes-base.wait",
      "position": [
        -3376,
        1248
      ]
    },
    {
      "id": "fc9d27bf-161a-4c20-a69e-b57ab2de84a5",
      "name": "🔍 Check Render Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3136,
        1248
      ]
    },
    {
      "id": "9453860e-bd09-4c49-aadd-3fd0265a322f",
      "name": "📋 Process Status",
      "type": "n8n-nodes-base.code",
      "position": [
        -2896,
        1248
      ]
    },
    {
      "id": "1a4cd2af-d41d-45e4-8919-f7cc2ebd9dc1",
      "name": "✅ Render Done?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2656,
        1248
      ]
    },
    {
      "id": "f187bbfe-113e-401f-afe8-1b3b3b97c43b",
      "name": "⬇️ Download Final Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2400,
        1232
      ]
    },
    {
      "id": "8ce985b7-d611-432a-aa89-8d1c8dd765e6",
      "name": "📤 Upload to Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -2160,
        1232
      ]
    },
    {
      "id": "1e069bb5-bff6-466e-a1ff-c78c1dc66733",
      "name": "✅ Prepare Final Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -1920,
        1232
      ]
    },
    {
      "id": "74c77f17-0d7e-4d51-a8ee-d8e5604055c1",
      "name": "📝 Log to Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1680,
        1232
      ]
    },
    {
      "id": "6db7cf56-8872-47a8-858a-4b5a2b176769",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -9184,
        832
      ],
      "parameters": {
        "width": 420,
        "height": 860,
        "content": "## How it works\n\nThis workflow generates professional screencast-style videos with a talking head avatar and AI-generated slides.\n\n1. You provide a topic and configure your preferences\n2. Claude write"
      }
    },
    {
      "id": "37b73559-9cc9-49dc-bf8a-3c9dae26eec3",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5808,
        608
      ],
      "parameters": {
        "width": 224,
        "height": 256,
        "content": "### Avatar and audio generation\n\nThis branch creates the talking head presenter.\n\nElevenLabs converts the script to natural speech, then VEED animates the avatar image to lip-sync with the audio. The "
      }
    },
    {
      "id": "fa38ed6f-d9e5-4ffd-a739-f0fdb284b300",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7248,
        1424
      ],
      "parameters": {
        "width": 224,
        "height": 256,
        "content": "### Slide image generation\n\nThis branch creates the presentation slides.\n\nFAL Flux Pro generates 5-7 high-quality images from Claude's prompts. Each slide is 16:9 landscape format with bold headline t"
      }
    },
    {
      "id": "9ae4e28a-2b7f-4fb9-8cae-28393bd44e7e",
      "name": "Section: Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -8448,
        1056
      ],
      "parameters": {
        "width": 236,
        "height": 80,
        "content": "**1. Configuration** — Set your topic, API keys, voice, and slide style preferences"
      }
    },
    {
      "id": "4b31528d-dcb6-450f-a9fc-9804e53a98c0",
      "name": "Section: AI Script",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7968,
        1040
      ],
      "parameters": {
        "width": 236,
        "height": 96,
        "content": "**2. AI script and slides** — Claude generates voiceover script, slide prompts, avatar description, and social caption"
      }
    },
    {
      "id": "86a87841-6473-4363-9412-28ce4897e212",
      "name": "Section: Avatar Generation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7248,
        880
      ],
      "parameters": {
        "width": 228,
        "height": 96,
        "content": "**3. Avatar generation** — Creates or uses custom avatar image via OpenAI, uploads to temporary storage"
      }
    },
    {
      "id": "37ba3125-7899-446b-815c-579a0a5d16ab",
      "name": "Section: Talking Head",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4848,
        784
      ],
      "parameters": {
        "width": 220,
        "height": 80,
        "content": "**4. Talking head** — VEED creates lip-synced video from avatar and audio"
      }
    },
    {
      "id": "a9733add-34b7-4574-9bed-643417c1cb37",
      "name": "Section: Video Composition",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4338,
        1120
      ],
      "parameters": {
        "width": 230,
        "height": 112,
        "content": "**5. Video composition** — Creatomate merges slides as background with talking head overlay, then polls until render completes"
      }
    },
    {
      "id": "9e1dd537-f219-411c-a4f5-6990adfb79d8",
      "name": "Section: Output",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2400,
        1120
      ],
      "parameters": {
        "width": 220,
        "height": 96,
        "content": "**6. Output** — Downloads final video, uploads to Google Drive, and logs results to Google Sheets"
      }
    }
  ],
  "connections": {
    "✅ Render Done?": {
      "main": [
        [
          {
            "node": "⬇️ Download Final Video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "⏳ Wait for Render",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔀 Avatar Flow?": {
      "main": [
        [
          {
            "node": "🖼️ Has Custom Avatar URL?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔀 Slides Flow?": {
      "main": [
        [
          {
            "node": "📑 Expand Slides",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🎵 Convert Audio": {
      "main": [
        [
          {
            "node": "☁️ Upload Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📊 Format Slides": {
      "main": [
        [
          {
            "node": "🔗 Merge Avatar + Slides",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "📑 Expand Slides": {
      "main": [
        [
          {
            "node": "🖼️ Generate Slide (FAL)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "⏳ Wait for Render": {
      "main": [
        [
          {
            "node": "🔍 Check Render Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "☁️ Upload Audio": {
      "main": [
        [
          {
            "node": "💾 Store Audio URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📋 Process Status": {
      "main": [
        [
          {
            "node": "✅ Render Done?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "💾 Store Audio URL": {
      "main": [
        [
          {
            "node": "🎬 Generate Talking Head (VEED)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📤 Upload to Drive": {
      "main": [
        [
          {
            "node": "✅ Prepare Final Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "💾 Store Avatar URL": {
      "main": [
        [
          {
            "node": "🔊 Generate Audio (ElevenLabs)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📚 Aggregate Slides": {
      "main": [
        [
          {
            "node": "📊 Format Slides",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔀 Split into Flows": {
      "main": [
        [
          {
            "node": "🔀 Avatar Flow?",
            "type": "main",
            "index": 0
          },
          {
            "node": "🔀 Slides Flow?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✅ Prepare Final Data": {
      "main": [
        [
          {
            "node": "📝 Log to Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📸 Extract Slide URL": {
      "main": [
        [
          {
            "node": "📚 Aggregate Slides",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📊 Extract Render Info": {
      "main": [
        [
          {
            "node": "⏳ Wait for Render",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔍 Check Render Status": {
      "main": [
        [
          {
            "node": "📋 Process Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🧠 Build Claude Prompt": {
      "main": [
        [
          {
            "node": "🤖 Claude: Generate Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📸 Extract Avatar Image": {
      "main": [
        [
          {
            "node": "☁️ Upload Avatar Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "☁️ Upload Avatar Image": {
      "main": [
        [
          {
            "node": "💾 Store Avatar URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📋 Parse Claude Response": {
      "main": [
        [
          {
            "node": "🔀 Split into Flows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📸 Use Custom Avatar URL": {
      "main": [
        [
          {
            "node": "🔊 Generate Audio (ElevenLabs)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔗 Merge Avatar + Slides": {
      "main": [
        [
          {
            "node": "📦 Prepare Creatomate Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "⬇️ Download Final Video": {
      "main": [
        [
          {
            "node": "📤 Upload to Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📹 Extract VEED Video URL": {
      "main": [
        [
          {
            "node": "🔗 Merge Avatar + Slides",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🖼️ Generate Slide (FAL)": {
      "main": [
        [
          {
            "node": "📸 Extract Slide URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "⚙️ Workflow Configuration": {
      "main": [
        [
          {
            "node": "🧠 Build Claude Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🎨 Generate Avatar (OpenAI)": {
      "main": [
        [
          {
            "node": "📸 Extract Avatar Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🤖 Claude: Generate Content": {
      "main": [
        [
          {
            "node": "📋 Parse Claude Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🎬 Render Video (Creatomate)": {
      "main": [
        [
          {
            "node": "📊 Extract Render Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🖼️ Has Custom Avatar URL?": {
      "main": [
        [
          {
            "node": "📸 Use Custom Avatar URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "🎨 Generate Avatar (OpenAI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📦 Prepare Creatomate Request": {
      "main": [
        [
          {
            "node": "🎬 Render Video (Creatomate)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "⚙️ Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔊 Generate Audio (ElevenLabs)": {
      "main": [
        [
          {
            "node": "🎵 Convert Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🎬 Generate Talking Head (VEED)": {
      "main": [
        [
          {
            "node": "📹 Extract VEED Video URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}