Generar video blog de personajes bíblicos con GPT-4o y generador de video Veo3 AI

Avanzado

Este es unautomatización que contiene 16 nodos.Utiliza principalmente nodos como Wait, HttpRequest, GoogleSheets, Agent, ScheduleTrigger. Usar GPT-4o y el generador de videos Veo3 AI para generar videos de blog de personajes bíblicos

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI

Categoría

-
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "44b6b0581231cf0648945e97c4b15adf52102210c0661bec54342c7dc57a02c3",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "cbbea0db-2557-48ef-a9ab-04a86a4437fa",
      "name": "Disparador Programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1312,
        -128
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f4047448-a0e8-49e3-85e3-44729e2cf94b",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -256
      ],
      "parameters": {
        "color": 3,
        "width": 540,
        "height": 520,
        "content": "## Save Content"
      },
      "typeVersion": 1
    },
    {
      "id": "e4a99226-f6dc-411e-86bb-681707d482c6",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -400
      ],
      "parameters": {
        "color": 6,
        "width": 320,
        "height": 740,
        "content": "## Create a Video"
      },
      "typeVersion": 1
    },
    {
      "id": "36b4b4b9-9226-4f38-bec6-e6b5d6d73a51",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1360,
        -256
      ],
      "parameters": {
        "color": 5,
        "width": 840,
        "height": 520,
        "content": "# Input: Video Topic"
      },
      "typeVersion": 1
    },
    {
      "id": "36337833-92cb-45ed-ac80-8ffd96b3c8a9",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1232,
        80
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "c8412fba-deac-4e6c-9f22-176ead2a956e",
      "name": "Think1",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        -1104,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "14a1ad4e-9fcb-443a-8627-b4802d1c994e",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -992,
        80
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"caption\": \"\",\n  \"idea\": \"\",\n  \"environment\": \"\",\n  \"status\": \"\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "41cc4339-6112-4939-a2df-a246d80f234c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -832,
        80
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "b5759496-3eaf-4d02-ab7c-82cf41361162",
      "name": "Think",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        -672,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4",
      "name": "Generar Idea de Video",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1152,
        -128
      ],
      "parameters": {
        "text": "Give me an idea to create the content about biblical characters speaking to thecamera and making a vlog",
        "options": {
          "systemMessage": "=** Purpose **\nYou generate viral short-form video ideas inspired by biblical characters or scenes, styled like modern TikTok vlogs. These should feel personal, emotional, and often humorous.\n\n** Think Tool Prompt (used before generation) **\n“How can I take a biblical moment or character and turn it into a relatable, viral, or funny TikTok-style video idea that feels natural, emotional, or modern?”\n\n** Output Requirements **\nYour response must include:\n\n- caption – Short, poetic or funny, TikTok-style. Include emojis and 3–5 hashtags (e.g., #biblevlog #foryou #holycomedy #ancientvibes).\n- idea – 1–2 sentence summary of the action, story, or twist in the video.\n- environment – Describe what the set looks like: light, textures, mood, setting. Think “GoPro meets ancient Jerusalem.”\n- status – Must be \"to create\", without quotation marks\n\n** JSON Output Parser **\nEvery output must strictly follow this format:\n\n{\n  \"caption\": \"\",\n  \"idea\": \"\",\n  \"environment\": \"\",\n  \"status\": \"\"\n}\n\n** Sample Outputs **\n\nExample 1\n{\n  \"caption\": \"When Jesus gives you the silent treatment 🕊️😶 #jesusvlog #holycomedy\",\n  \"idea\": \"Jesus calmly stares at the camera while the disciple keeps asking, 'Are we lost?' – awkward silence builds up.\",\n  \"environment\": \"Desert trail, golden hour light, dry bushes around, warm rocky textures and wind softly blowing.\",\n  \"status\": \"ready for production\"\n}\n\nExample 2\n{\n  \"caption\": \"POV: You just met Mary Magdalene and she’s not what you expected 😳✨ #biblevlog #foryou\",\n  \"idea\": \"A modern-style introduction of Mary Magdalene where she breaks the fourth wall with sarcasm and confidence.\",\n  \"environment\": \"Dusty stone home with narrow light beams, clay walls, fabric drapes blowing slightly in the breeze.\",\n  \"status\": \"ready for production\"\n}\n\nExample 3\n{\n  \"caption\": \"Me trying to explain the flood before it happened 🌧️🐘 #noahvibes #bibletok\",\n  \"idea\": \"Noah explains why he’s building the ark, while others laugh in the background — like a vlog rant.\",\n  \"environment\": \"Half-built wooden structure, cloudy sky, goats wandering around, mud everywhere, distant laughter.\",\n  \"status\": \"concept only\"\n}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "8a94a444-28d0-42ac-8cb6-3040fb8769cc",
      "name": "Generar Prompt para Veo3",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -832,
        -128
      ],
      "parameters": {
        "text": "=Create a prompt for the Veo3 video based on the following information:\n\nIdea: {{ $json.output.idea }}\nEnvironment: {{ $json.output.environment }}",
        "options": {
          "systemMessage": "=** System Message **\n\nYou are a professional cinematic prompt generator for AI video tools. Your task is to convert a short-form video idea and its environment description (inspired by biblical or ancient-world themes) into a highly detailed, camera-aware, emotionally rich prompt suitable for generating a cinematic AI video using Veo3.\n\nYou must understand the emotional tone, visual aesthetics, and storytelling style of short-form TikTok videos that imitate biblical scenes with modern pacing and framing.\n\n** Veo3 Prompt Structure Guidelines **\n\nEach prompt should be natural, cinematic, and visually immersive, including:\n\n- Scene description – Describe the overall environment clearly (terrain, buildings, light, movement).\n- Character focus – If the idea involves a person, include their position, outfit style (biblical era), mood/expression, and framing (e.g., close-up, wide shot).\n- Camera movement – Always include one cinematic camera motion (e.g., slow push-in, handheld tracking, drone pan, orbit, dolly backward).\n- Time of day & lighting – Set the mood with light (e.g., golden hour, harsh daylight, candlelit interior).\n- Atmosphere & texture – Mention dust, wind, fabric movement, shadows, reflections, or imperfections in the scene to increase realism.\n- Style & quality – Include cinematic tone, analog warmth, slightly soft vintage film look, GoPro-like closeness if appropriate.\n\n** Input **\n- You will receive two fields: idea, environment\n- Return only the complete and detailed Veo3 prompt, no additional text.\n\n** Example Output **\nA biblical man stands in front of a half-built wooden ark, gesturing passionately as he explains something to the camera. The camera follows him handheld-style, moving slightly as he paces. In the background, groups of villagers are laughing and pointing. The sky is overcast with low clouds, and goats wander through muddy terrain. The man wears worn, ancient robes, his feet muddy, his tone frustrated but hopeful. The scene has a documentary-style realism, with soft golden highlights breaking through cloud gaps. Light wind moves fabric and rustles dry straw around the ark. Shot in cinematic 24fps with natural tones and slight vintage softness."
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "8e5c1d35-3664-4630-994c-0df329ab0341",
      "name": "Crear Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -288,
        -320
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/veo3",
        "body": "={ \"prompt\": \"{{ $('Generate Veo3 Prompt').item.json.output }}\" }",
        "method": "POST",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1,
              "batchInterval": 2000
            }
          }
        },
        "sendBody": true,
        "contentType": "raw",
        "authentication": "genericCredentialType",
        "rawContentType": "application/json",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "c3080d20-1952-4456-a175-4df985dad72e",
      "name": "Obtener Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -288,
        80
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/veo3/requests/{{ $json.request_id }}\n",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "525a1ba7-d51e-4c1d-bd78-416b3c545339",
      "name": "Esperar 10 Minutos",
      "type": "n8n-nodes-base.wait",
      "position": [
        -288,
        -128
      ],
      "webhookId": "9fdae74d-0f36-4408-9c09-5fb55e66fed1",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "eba3a1ef-cf20-4a49-b7e0-94222d83d331",
      "name": "Almacenar el Video",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        208,
        -80
      ],
      "parameters": {
        "columns": {
          "value": {
            "Video URL": "={{ $json.video.url }}"
          },
          "schema": [
            {
              "id": "Idea",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Idea",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Captions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Environment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Environment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E/edit?usp=drivesdk",
          "cachedResultName": "Veo3 Videos"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "b807cf27-6520-4e72-8136-2919e3adeb94",
      "name": "Guardar Información del Contenido",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -512,
        -128
      ],
      "parameters": {
        "columns": {
          "value": {
            "Idea": "={{ $('Generate Video Idea').first().json.output.idea }}",
            "Status": "={{ $('Generate Video Idea').first().json.output.status }}",
            "Captions": "={{ $('Generate Video Idea').first().json.output.caption }}",
            "Environment": "={{ $('Generate Video Idea').first().json.output.environment }}"
          },
          "schema": [
            {
              "id": "Idea",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Idea",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Captions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Environment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Environment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JsQWTq-ozkDD4VRaUEe34IzVFhig4HlWPIh0ZelyQ2E/edit?usp=drivesdk",
          "cachedResultName": "Veo3 Videos"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "pinData": {
    "Get Video": [
      {
        "video": {
          "url": "https://v3.fal.media/files/panda/7s5NhlkFCz7rHszxLvfyB_output.mp4",
          "file_name": "output.mp4",
          "file_size": 3899896,
          "content_type": "video/mp4"
        }
      }
    ],
    "Create Video": [
      {
        "logs": null,
        "status": "IN_QUEUE",
        "metrics": {},
        "cancel_url": "https://queue.fal.run/fal-ai/veo3/requests/2ba961db-0c1c-4bd3-954c-905b905c1dcb/cancel",
        "request_id": "2ba961db-0c1c-4bd3-954c-905b905c1dcb",
        "status_url": "https://queue.fal.run/fal-ai/veo3/requests/2ba961db-0c1c-4bd3-954c-905b905c1dcb/status",
        "response_url": "https://queue.fal.run/fal-ai/veo3/requests/2ba961db-0c1c-4bd3-954c-905b905c1dcb",
        "queue_position": 0
      }
    ],
    "Generate Video Idea": [
      {
        "output": {
          "idea": "Moses updates his followers on his journey, only to panic when he discovers the tablets are missing again — comedic storytelling ensues.",
          "status": "to create",
          "caption": "When Moses realizes he’s lost the commandments again 📜🙄 #mosesvlog #holycomedy",
          "environment": "Mountainous backdrop with rugged rocks and a bright blue sky, warm sunlight casting shadows; Moses looks bewildered yet determined."
        }
      }
    ],
    "Generate Veo3 Prompt": [
      {
        "output": "In a stunning mountainous landscape, Moses stands atop a rocky outcrop, his expression a mix of bewilderment and determination as he addresses a diverse group of followers below. Dressed in ancient, flowing robes, his long hair blows slightly in the warm sunlight, which casts playful shadows on the rugged terrain. The vibrant blue sky stretches endlessly above, adding to the scene's dramatic feel. As he animatedly updates his followers, his tone oscillates between inspirational and comedic tension, suddenly shifting to panic as he realizes the tablets are missing again. The camera utilizes a slow push-in, capturing his increasing distress and the worried glances of the crowd. Dust kicks up gently around them, illuminated by the warm sunlight, enhancing the scene's comedic chaos. The atmosphere is lively and rich, with a vintage soft film quality evoking a sense of timeless storytelling."
      }
    ]
  },
  "connections": {
    "b5759496-3eaf-4d02-ab7c-82cf41361162": {
      "ai_tool": [
        [
          {
            "node": "8a94a444-28d0-42ac-8cb6-3040fb8769cc",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c8412fba-deac-4e6c-9f22-176ead2a956e": {
      "ai_tool": [
        [
          {
            "node": "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c3080d20-1952-4456-a175-4df985dad72e": {
      "main": [
        [
          {
            "node": "eba3a1ef-cf20-4a49-b7e0-94222d83d331",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8e5c1d35-3664-4630-994c-0df329ab0341": {
      "main": [
        [
          {
            "node": "525a1ba7-d51e-4c1d-bd78-416b3c545339",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "525a1ba7-d51e-4c1d-bd78-416b3c545339": {
      "main": [
        [
          {
            "node": "c3080d20-1952-4456-a175-4df985dad72e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cbbea0db-2557-48ef-a9ab-04a86a4437fa": {
      "main": [
        [
          {
            "node": "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "41cc4339-6112-4939-a2df-a246d80f234c": {
      "ai_languageModel": [
        [
          {
            "node": "8a94a444-28d0-42ac-8cb6-3040fb8769cc",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "36337833-92cb-45ed-ac80-8ffd96b3c8a9": {
      "ai_languageModel": [
        [
          {
            "node": "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4": {
      "main": [
        [
          {
            "node": "8a94a444-28d0-42ac-8cb6-3040fb8769cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a94a444-28d0-42ac-8cb6-3040fb8769cc": {
      "main": [
        [
          {
            "node": "b807cf27-6520-4e72-8136-2919e3adeb94",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b807cf27-6520-4e72-8136-2919e3adeb94": {
      "main": [
        [
          {
            "node": "8e5c1d35-3664-4630-994c-0df329ab0341",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "14a1ad4e-9fcb-443a-8627-b4802d1c994e": {
      "ai_outputParser": [
        [
          {
            "node": "9d2f5cb6-9db8-4eca-bde0-e883e0fa4cd4",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos16
Categoría-
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor

AI Automation Consultant & Founder @ Brezix Studio, helping service businesses streamline operations with custom AI assistants, CRMs, and workflow automation. Skilled in MERN, Next.js, and Python, I design solutions that save time and boost efficiency. Open to collaborations and automation projects that drive growth.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34