{
  "name": "Video Ads Automation - Real Estate",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "video-brief",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "trigger-brief",
      "name": "1.0 Webhook - Recibe Brief",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        0,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "brief-completo",
              "leftValue": "={{ $json.brief_completo }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "check-brief",
      "name": "1.1 \u00bfBrief Completo?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        220,
        300
      ]
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "messages": {
          "values": [
            {
              "content": "=Eres experto en marketing digital para {{$json.industria}}.\n\nAnaliza este brief y genera una estrategia de comunicaci\u00f3n concreta para obtenci\u00f3n de leads calificados en pauta digital:\n\n**Brief:**\n- Producto/Servicio: {{$json.producto}}\n- P\u00fablico objetivo: {{$json.publico_objetivo}}\n- Objetivo del video: {{$json.objetivo}}\n- Tipo de video: {{$json.tipo_video}}\n- Canal target: {{$json.canal}}\n\n**Genera:**\n1. Posicionamiento de marca\n2. Mensajes clave (3-5)\n3. Estilo visual recomendado\n4. Restricciones (con/sin texto en pantalla, etc.)\n5. Tono de comunicaci\u00f3n\n\nResponde en formato estructurado."
            }
          ]
        },
        "options": {}
      },
      "id": "llm-estrategia",
      "name": "2.0 LLM - Estrategia Comunicaci\u00f3n",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.4,
      "position": [
        440,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "messages": {
          "values": [
            {
              "content": "=Bas\u00e1ndote en esta estrategia de comunicaci\u00f3n:\n\n{{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n\nGenera un prompt de avatar para el protagonista del video:\n\n1. **Perfil demogr\u00e1fico**: Edad, nacionalidad, g\u00e9nero\n2. **Apariencia f\u00edsica**: Tono de piel, complexi\u00f3n, rasgos\n3. **Estilo de vestimenta**: Seg\u00fan contexto del video\n4. **Comportamiento UGC**: C\u00f3mo habla, gesticula, mira a c\u00e1mara\n5. **Entorno recomendado**: D\u00f3nde est\u00e1 grabando\n\nEl avatar debe verse hiperrealista, como contenido org\u00e1nico de redes, NO como comercial producido.\n\nFormato: Prompt listo para usar en generador de im\u00e1genes IA."
            }
          ]
        },
        "options": {}
      },
      "id": "llm-avatar",
      "name": "2.1 LLM - Descripci\u00f3n Avatar",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.4,
      "position": [
        660,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "messages": {
          "values": [
            {
              "content": "=Bas\u00e1ndote en esta estrategia:\n\n{{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n\nCrea un gui\u00f3n de {{$json.duracion_segundos || 45}} segundos:\n\n**Requisitos:**\n- Hook de impacto en primeros 3 segundos\n- Diferenciador y valor agregado del producto\n- Precio y caracter\u00edsticas m\u00e1s importantes\n- Lenguaje nativo mexicano, sin palabras rebuscadas\n- Termina con CTA claro\n\n**Formato de salida:**\nCada l\u00ednea con [EMOCI\u00d3N/ENTONACI\u00d3N] antes del texto.\n\nEjemplo:\n[Sorpresa genuina] \"\u00bfSab\u00edas que puedes operarte los ojos sin pagar de golpe?\"\n[Confianza] \"Yo lo hice. Pagu\u00e9 en 12 meses.\""
            }
          ]
        },
        "options": {}
      },
      "id": "llm-guion",
      "name": "2.2 LLM - Gui\u00f3n con Emociones",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.4,
      "position": [
        880,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "CONFIGURAR_CHAT_ID",
        "text": "=\ud83c\udfac **REVISI\u00d3N REQUERIDA: GUI\u00d3N**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Gui\u00f3n generado:**\n{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.message.content}}\n\n\u2705 Responde APROBADO para continuar\n\u274c Responde con cambios espec\u00edficos",
        "additionalFields": {}
      },
      "id": "notify-guion",
      "name": "2.3 Notificar - Aprobar Gui\u00f3n",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1100,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "messages": {
          "values": [
            {
              "content": "=Bas\u00e1ndote en:\n- Estrategia: {{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n- Avatar: {{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\n\nGenera un PROMPT MADRE para direcci\u00f3n cinematogr\u00e1fica del video comercial:\n\n**Incluir:**\n- Formato: {{$json.formato || \"9:16\"}}\n- Duraci\u00f3n: {{$json.duracion_segundos || 45}} segundos\n- Estilo visual espec\u00edfico\n- Paleta de colores\n- Tipo de tomas (close-up, medium, wide)\n- Atm\u00f3sfera y mood\n- Iluminaci\u00f3n\n- Reglas (con/sin texto en pantalla)\n\n**Formato de salida:** Prompt listo para InVideo AI."
            }
          ]
        },
        "options": {}
      },
      "id": "llm-cinematografico",
      "name": "3.0 LLM - Prompt Cinematogr\u00e1fico",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.4,
      "position": [
        1320,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "messages": {
          "values": [
            {
              "content": "=Usando:\n- Prompt cinematogr\u00e1fico: {{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\n- Gui\u00f3n: {{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.message.content}}\n- Avatar: {{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\n\nGenera prompts ESCENA POR ESCENA:\n\n**Para cada escena incluir:**\n1. N\u00famero de escena\n2. Duraci\u00f3n (segundos)\n3. Qu\u00e9 se VE (descripci\u00f3n visual detallada)\n4. Qu\u00e9 se DICE (l\u00ednea del gui\u00f3n)\n5. Emoci\u00f3n del personaje\n6. \u00bfAvatar habla a c\u00e1mara o voz en off?\n7. Prompt espec\u00edfico para generador de imagen/video\n\n**Formato:** JSON array para f\u00e1cil procesamiento."
            }
          ]
        },
        "options": {
          "response_format": {
            "type": "json_object"
          }
        }
      },
      "id": "llm-escenas",
      "name": "3.1 LLM - Escenas Detalladas",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.4,
      "position": [
        1540,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "https://api.replicate.com/v1/predictions",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "version",
              "value": "black-forest-labs/flux-1.1-pro"
            },
            {
              "name": "input",
              "value": "={\"prompt\": \"{{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\", \"aspect_ratio\": \"1:1\", \"output_format\": \"png\"}"
            }
          ]
        },
        "options": {}
      },
      "id": "flux-avatar",
      "name": "4.0 FLUX - Generar Avatar",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1760,
        200
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "https://api.replicate.com/v1/predictions",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "version",
              "value": "black-forest-labs/flux-1.1-pro"
            },
            {
              "name": "input",
              "value": "={\"prompt\": \"{{$json.prompt_escena}}\", \"aspect_ratio\": \"9:16\", \"output_format\": \"png\"}"
            }
          ]
        },
        "options": {}
      },
      "id": "flux-storyboard",
      "name": "4.1 FLUX - Storyboard (Loop)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1980,
        200
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "CONFIGURAR_CHAT_ID",
        "text": "=\ud83d\udcf8 **REVISI\u00d3N REQUERIDA: STORYBOARD**\n\nSe generaron {{$json.total_escenas}} im\u00e1genes de storyboard.\n\n\u2705 Responde APROBADO para continuar a video\n\u274c Indica qu\u00e9 escenas regenerar",
        "additionalFields": {}
      },
      "id": "notify-storyboard",
      "name": "4.2 Notificar - Aprobar Storyboard",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        2200,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.invideo.io/v1/videos",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"workflow\": \"text-to-video-v6\",\n  \"input_text\": \"{{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\",\n  \"settings\": {\n    \"resolution\": \"1080p\",\n    \"aspect_ratio\": \"{{$json.formato || '9:16'}}\",\n    \"voice_id\": \"es-MX-female-professional\"\n  },\n  \"assets\": {\n    \"avatar_image\": \"{{$node[\"4.0 FLUX - Generar Avatar\"].json.output}}\",\n    \"storyboard\": {{$node[\"4.1 FLUX - Storyboard (Loop)\"].json.images}}\n  }\n}",
        "options": {}
      },
      "id": "invideo-create",
      "name": "5.0 InVideo - Crear Video Base",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2420,
        200
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notes": "PRINCIPAL - InVideo para video base"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "voz-ok",
              "leftValue": "={{ $json.voz_calidad }}",
              "rightValue": "aceptable",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "check-voz",
      "name": "5.1 \u00bfVoz Autom\u00e1tica OK?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        2640,
        200
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.elevenlabs.io/v1/text-to-speech/{{$json.voice_id}}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"text\": \"{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.guion_texto_plano}}\",\n  \"model_id\": \"eleven_multilingual_v2\",\n  \"voice_settings\": {\n    \"stability\": 0.5,\n    \"similarity_boost\": 0.8\n  }\n}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "id": "elevenlabs-voz",
      "name": "5.2 ElevenLabs - Regenerar Voz",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2860,
        300
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.runwayml.com/v1/generations",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"model\": \"gen-4\",\n  \"prompt\": \"{{$json.prompt_escena_fallida}}\",\n  \"image\": \"{{$json.storyboard_image}}\",\n  \"duration\": 5\n}",
        "options": {}
      },
      "id": "runway-tomas",
      "name": "6.0 Runway - Tomas Relleno",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        3080,
        200
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "upload",
        "folderId": "CONFIGURAR_FOLDER_ID",
        "name": "={{$json.nombre_proyecto}}_assets",
        "options": {}
      },
      "id": "drive-assets",
      "name": "7.0 Drive - Subir Assets para Edici\u00f3n",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        3300,
        200
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "CONFIGURAR_CHAT_ID",
        "text": "=\ud83d\udcc2 **ASSETS LISTOS PARA EDICI\u00d3N**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Carpeta Drive:** {{$json.drive_folder_url}}\n\n**Contenido:**\n- Video base InVideo\n- Audio (autom\u00e1tico o ElevenLabs)\n- Clips de relleno Runway\n- Storyboard completo\n\n\ud83d\udc64 **Operador:** Puede comenzar edici\u00f3n en CapCut\n\n\u2705 Responde EDITADO cuando termine",
        "additionalFields": {}
      },
      "id": "notify-edicion",
      "name": "7.1 Notificar - Listo para CapCut",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        3520,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "CONFIGURAR_CHAT_ID",
        "text": "=\ud83c\udfac **VIDEO LISTO PARA REVISI\u00d3N CLIENTE**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Link:** {{$json.video_preview_url}}\n\nRonda: {{$json.ronda_revision}}/3\n\n\u2705 APROBADO - continuar a entrega\n\u274c Incluir cambios espec\u00edficos",
        "additionalFields": {}
      },
      "id": "notify-cliente",
      "name": "8.0 Notificar - Revisi\u00f3n Cliente",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        3740,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "upload",
        "folderId": "CONFIGURAR_FOLDER_ENTREGA",
        "name": "={{$json.nombre_proyecto}}_FINAL",
        "options": {}
      },
      "id": "drive-final",
      "name": "9.0 Drive - Entrega Final",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        3960,
        200
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "CONFIGURAR_CHAT_ID",
        "text": "=\u2705 **PROYECTO COMPLETADO**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Video Final:** {{$json.drive_final_url}}\n\n\ud83c\udf89 Listo para pauta",
        "additionalFields": {}
      },
      "id": "notify-final",
      "name": "9.1 Notificar - Entrega Completa",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        4180,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={\"status\": \"completed\", \"project\": \"{{$json.nombre_proyecto}}\", \"delivery_url\": \"{{$json.drive_final_url}}\"}"
      },
      "id": "response-final",
      "name": "Respuesta Final",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [
        4400,
        200
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://klingai.com/global/dev/api/v1/videos/text2video",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"prompt\": \"{{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\",\n  \"aspect_ratio\": \"9:16\",\n  \"duration\": \"5\"\n}",
        "options": {}
      },
      "id": "kling-alt",
      "name": "\u26a1 ALT: Kling AI - Video Base",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2420,
        500
      ],
      "disabled": true,
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notes": "ALTERNATIVA - Kling AI (desconectado)\nConectar si InVideo falla o para A/B testing"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.creatify.ai/v1/ugc-videos",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"product_url\": \"{{$json.product_url}}\",\n  \"avatar_id\": \"{{$json.avatar_preset}}\",\n  \"script\": \"{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.guion_texto_plano}}\"\n}",
        "options": {}
      },
      "id": "creatify-ugc",
      "name": "\u26a1 ALT: Creatify - UGC Videos",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2420,
        620
      ],
      "disabled": true,
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notes": "ALTERNATIVA - Creatify para UGC\nUsar cuando tipo_video = 'ugc'"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.lumalabs.ai/dream-machine/v1/generations",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"prompt\": \"{{$json.prompt_escena}}\",\n  \"aspect_ratio\": \"9:16\"\n}",
        "options": {}
      },
      "id": "luma-alt",
      "name": "\u26a1 ALT: Luma Dream Machine",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2640,
        500
      ],
      "disabled": true,
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notes": "ALTERNATIVA - Luma para clips cinematogr\u00e1ficos"
    }
  ],
  "connections": {
    "1.0 Webhook - Recibe Brief": {
      "main": [
        [
          {
            "node": "1.1 \u00bfBrief Completo?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1.1 \u00bfBrief Completo?": {
      "main": [
        [
          {
            "node": "2.0 LLM - Estrategia Comunicaci\u00f3n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.0 LLM - Estrategia Comunicaci\u00f3n": {
      "main": [
        [
          {
            "node": "2.1 LLM - Descripci\u00f3n Avatar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.1 LLM - Descripci\u00f3n Avatar": {
      "main": [
        [
          {
            "node": "2.2 LLM - Gui\u00f3n con Emociones",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.2 LLM - Gui\u00f3n con Emociones": {
      "main": [
        [
          {
            "node": "2.3 Notificar - Aprobar Gui\u00f3n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.3 Notificar - Aprobar Gui\u00f3n": {
      "main": [
        [
          {
            "node": "3.0 LLM - Prompt Cinematogr\u00e1fico",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3.0 LLM - Prompt Cinematogr\u00e1fico": {
      "main": [
        [
          {
            "node": "3.1 LLM - Escenas Detalladas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3.1 LLM - Escenas Detalladas": {
      "main": [
        [
          {
            "node": "4.0 FLUX - Generar Avatar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4.0 FLUX - Generar Avatar": {
      "main": [
        [
          {
            "node": "4.1 FLUX - Storyboard (Loop)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4.1 FLUX - Storyboard (Loop)": {
      "main": [
        [
          {
            "node": "4.2 Notificar - Aprobar Storyboard",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4.2 Notificar - Aprobar Storyboard": {
      "main": [
        [
          {
            "node": "5.0 InVideo - Crear Video Base",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5.0 InVideo - Crear Video Base": {
      "main": [
        [
          {
            "node": "5.1 \u00bfVoz Autom\u00e1tica OK?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5.1 \u00bfVoz Autom\u00e1tica OK?": {
      "main": [
        [
          {
            "node": "6.0 Runway - Tomas Relleno",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "5.2 ElevenLabs - Regenerar Voz",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5.2 ElevenLabs - Regenerar Voz": {
      "main": [
        [
          {
            "node": "6.0 Runway - Tomas Relleno",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6.0 Runway - Tomas Relleno": {
      "main": [
        [
          {
            "node": "7.0 Drive - Subir Assets para Edici\u00f3n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7.0 Drive - Subir Assets para Edici\u00f3n": {
      "main": [
        [
          {
            "node": "7.1 Notificar - Listo para CapCut",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7.1 Notificar - Listo para CapCut": {
      "main": [
        [
          {
            "node": "8.0 Notificar - Revisi\u00f3n Cliente",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8.0 Notificar - Revisi\u00f3n Cliente": {
      "main": [
        [
          {
            "node": "9.0 Drive - Entrega Final",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9.0 Drive - Entrega Final": {
      "main": [
        [
          {
            "node": "9.1 Notificar - Entrega Completa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9.1 Notificar - Entrega Completa": {
      "main": [
        [
          {
            "node": "Respuesta Final",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    {
      "name": "video-automation",
      "createdAt": "2026-03-26T00:00:00.000Z",
      "updatedAt": "2026-03-26T00:00:00.000Z"
    },
    {
      "name": "pulpo",
      "createdAt": "2026-03-26T00:00:00.000Z",
      "updatedAt": "2026-03-26T00:00:00.000Z"
    }
  ],
  "triggerCount": 0,
  "updatedAt": "2026-03-26T00:00:00.000Z",
  "versionId": "1"
}