Generar videos promocionales de IA para productos usando GPT-4o, Fal.ai y supervisión humana

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 72 nodos.Utiliza principalmente nodos como If, Set, Code, Wait, Switch. Usar GPT-4o, Fal.ai y supervisión humana para generar videos promocionales de productos de AI

Requisitos previos
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de OpenAI
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": "5ec543f78db8e552b46818580d4137dda2f58675a1a45426c44ae175fc35ac62"
  },
  "nodes": [
    {
      "id": "0b4de412-a17e-4ba8-8edb-6d86a5229b2d",
      "name": "Disparador programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1600,
        272
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                4
              ],
              "triggerAtHour": 12
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
      "name": "Agente de IA: Generar ideas de temas",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1952,
        336
      ],
      "parameters": {
        "text": "=I'm running an online store for ceramics.\nPlease come up with 5 ideas for a topic for a short social media marketing post.\nPrimarily adjust it to the current season, considering the current month (Today is {{ $today.format('dd/LL/yyyy') }}) and our customers are in the northern hemisphere.\n\nCome up with a background scenery (e.g. beach, city, park, garden, cabin, office,...), a specific situation (e.g. picnic, day at the beach, party, regular office day,..) and a target audience (e.g. families, party singles, outdoor couples,startups,..)",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "aff6dd98-6667-4da5-8b6d-732551e639b9",
      "name": "IA: Generar eslóganes",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2352,
        1152
      ],
      "parameters": {
        "text": "={{ $json.prompt }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "27f11b17-8575-4ea2-b75f-f6f0190cf76f",
      "name": "LLM",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1920,
        592
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "67b8909a-b459-4a4c-aaff-17890ffe368e",
      "name": "LLM1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2352,
        1376
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {
          "temperature": 0.9
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e931c247-83c9-4313-a334-7c7224344738",
      "name": "Pensando",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        2048,
        592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "370b2f6e-3de9-43b3-a375-075d8dc758fd",
      "name": "Pensando1",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        2448,
        1376
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c3bafdc2-d550-4e6c-9fd0-a037daeacae4",
      "name": "Extraer JSON",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2176,
        592
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"scenery\": \"lorem ipsum\",\n    \"activity\": \"lorem ipsum\",\n    \"audience\": \"lorem ipsum\"\n  }\n]\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "99281da0-7453-4c6a-847c-2bb1042a41b8",
      "name": "Extraer JSON1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2560,
        1376
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"tagLine\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "844a4693-4548-48e0-8e6f-729dfa250234",
      "name": "Consultar estado1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        2464,
        1904
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}/status",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "be7a4fd6-fcf8-4784-9ac1-0503805ca388",
      "name": "Esperar1",
      "type": "n8n-nodes-base.wait",
      "position": [
        2864,
        2000
      ],
      "webhookId": "150069ed-885b-497f-a32a-09e7088136e6",
      "parameters": {
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "37b96d9a-a388-42de-92a4-fe67328f5df3",
      "name": "Obtener resultado1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2864,
        1872
      ],
      "parameters": {
        "url": "={{ $json.response_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "9111812d-361d-40d6-9a62-284078a317ee",
      "name": "Generación de imagen Fal.ai",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2272,
        1904
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/flux-pro/kontext",
        "method": "POST",
        "options": {},
        "jsonBody": "={{$json}}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b1811460-de61-4096-88d6-32db3f9d39a3",
      "name": "Ir a humano - Contenido",
      "type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
      "position": [
        2960,
        1152
      ],
      "webhookId": "bd084af6-4f7e-4084-bd75-66fe43dd069f",
      "parameters": {
        "fields": {
          "value": {
            "scenery": "={{ $json.scenery }}",
            "tagLine": "={{ $json.tagLine }}",
            "activity": "={{ $json.activity }}",
            "audience": "={{ $json.audience }}",
            "products": "={{ $json.products }}"
          },
          "schema": [
            {
              "id": "audience",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "audience (textShort)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenery",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "scenery (textShort)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "activity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "activity (textShort)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "style",
              "type": "object",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "style (checkboxes)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "products",
              "type": "array",
              "display": true,
              "required": false,
              "displayName": "products (imageGrid)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tagLine",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "tagLine (textShort)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "metaJson": "={{ $json.metaJson }}",
        "metaSelect": "json",
        "additionalFields": {
          "updateForReviewId": "={{ $json.reviewToUpdate }}"
        },
        "reviewTemplateID": {
          "__rl": true,
          "mode": "list"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "08ca1a40-709c-4d86-b4f3-7d78ead1af58",
      "name": "Reejecutar entrada",
      "type": "n8n-nodes-base.set",
      "position": [
        3344,
        1328
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "18a68238-8c1e-4fbd-abdf-b4866fac4f9a",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $json.reviewId }}"
            },
            {
              "id": "6639c2fc-8b32-4f78-9869-b38e680bd2a3",
              "name": "prompt",
              "type": "string",
              "value": "={{ ($json.messages || [])?.[0]?.content || $('Tagline Prompt').item.json.prompt }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3552fa2c-5e24-4798-98db-0ff6bf643d9d",
      "name": "¿Está listo?",
      "type": "n8n-nodes-base.if",
      "position": [
        2704,
        1888
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ac50759b-e2f3-4efd-a2af-f28b7d209b45",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e355e2a4-94d9-407d-88d3-b269aad22ffa",
      "name": "Prompt de eslogan",
      "type": "n8n-nodes-base.set",
      "position": [
        2144,
        1152
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "467bbd06-d02f-4dc5-8597-573b2f762666",
              "name": "prompt",
              "type": "string",
              "value": "=I'm running an online store for ceramics.\nPlease come up with a short tagline to use in a social media marketing post. I'll put it as a layer on top of an image. Again, can be really short!\nIt must not include commas!\nCampaign and image have the following attributes:\nTarget Audience: {{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.audience }}\nActivity Shown: {{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.activity }}\nImage Scenery: {{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.scenery }}\n\nExamples:\n\n{{ ($json.tagLine || [\"Summer Time!\"]).unique().join(\"\\n\") }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b8af975a-fbc0-4b55-ba08-2c0ac8fffbfc",
      "name": "Subida a Cloudinary",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3216,
        1872
      ],
      "parameters": {
        "url": "=https://api.cloudinary.com/v1_1/{{ $json.environment }}/image/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "value": "={{ $('Fetch Result1').item.json.images[0].url }}"
            },
            {
              "name": "upload_preset",
              "value": "={{ $json.uploadPreset }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a54dad12-eb4c-4ec9-8324-b22d47f42938",
      "name": "Tarea: Publicarlo",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1872,
        3472
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6158d06b-5b81-432f-a0cd-e16b740b227c",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        32
      ],
      "parameters": {
        "color": 5,
        "width": 1100,
        "height": 724,
        "content": "## 1. Generate campaign ideas\nWe ask the LLM to generate ideas for our upcoming marketing campaign based on the current date/season.\nIn gotoHuman we choose our favorite and approve."
      },
      "typeVersion": 1
    },
    {
      "id": "c75d5bb5-870f-4b11-a73f-88a6a41e4b55",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2384,
        208
      ],
      "parameters": {
        "color": 7,
        "width": 308,
        "height": 304,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "b87823fe-e050-4b3b-9121-0f0749ecb487",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        816
      ],
      "parameters": {
        "color": 5,
        "width": 1756,
        "height": 728,
        "content": "## 2. Generate tag line (self-improving) & pick settings for image generation\nWe are going to place a text label (tag line) on top of our video and we ask AI to generate it for us.\nTo **allow our workflow to learn over time**, we are fetching previously approved tag lines from gotoHuman to incl. in our prompt as positive examples.\n\nIn gotoHuman we edit the scenery of the image, pick the desired style and product to show. We can also manually edit the tag line OR ask AI to retry (we can change the prompt as well)"
      },
      "typeVersion": 1
    },
    {
      "id": "dce551be-7f46-4dd9-9353-b4bbcf3cf00f",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2848,
        1024
      ],
      "parameters": {
        "color": 7,
        "width": 324,
        "height": 304,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "9c07b86a-e416-4305-a757-7ae2c9c87451",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        1584
      ],
      "parameters": {
        "color": 5,
        "width": 2516,
        "height": 760,
        "content": "## 3. Generate reference product image\nUsing the approved settings we ask Fal.ai to generate the image that our short video clip will be based on.\nWe then use Cloudinary to put the tag line as a boxed label on top of it.\nIn gotoHuman, we check the image and can ask for a retry. Clicking the chat button allows us to edit the prompt before retrying which is very useful with images."
      },
      "typeVersion": 1
    },
    {
      "id": "15018783-9a60-462b-a9f9-04bbd105a797",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3680,
        1760
      ],
      "parameters": {
        "color": 7,
        "width": 308,
        "height": 320,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "c7a635e5-d557-4dc1-91f3-262228cfb5c7",
      "name": "Nota adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        3200
      ],
      "parameters": {
        "color": 5,
        "width": 360,
        "height": 648,
        "content": "## 5. Post to social media\nWe receive the URL of the final human-approved video clip in the response from gotoHuman and can now use it to publish it.\nAlternatively, you can download the video clip from gotoHuman and post it manually."
      },
      "typeVersion": 1
    },
    {
      "id": "cfe4a9aa-d31d-4f9f-9c8a-9318ed46ae62",
      "name": "Nota adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        1040
      ],
      "parameters": {
        "color": 7,
        "width": 228,
        "height": 304,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "2c5385cf-31b7-4ddb-aae2-0a836685caa7",
      "name": "Consultar estado",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        2480,
        2720
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}/status",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "cb44f47a-fb6c-40ef-a0fc-2edcad10ec18",
      "name": "Esperar",
      "type": "n8n-nodes-base.wait",
      "position": [
        2896,
        2816
      ],
      "webhookId": "150069ed-885b-497f-a32a-09e7088136e6",
      "parameters": {
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "78500e8d-4d77-4b7a-8927-df8d1a90a86c",
      "name": "Obtener resultado",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2896,
        2688
      ],
      "parameters": {
        "url": "={{ $json.response_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "94a4e219-e3b9-48e0-a74a-212c2a2d65cc",
      "name": "¿Está listo?1",
      "type": "n8n-nodes-base.if",
      "position": [
        2720,
        2704
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ac50759b-e2f3-4efd-a2af-f28b7d209b45",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "76b372f9-ded9-4004-979f-8792ffca7396",
      "name": "Subida a Cloudinary1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3200,
        2688
      ],
      "parameters": {
        "url": "=https://api.cloudinary.com/v1_1/{{ $('Set Cloudinary options').item.json.environment }}/video/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "value": "={{ $json.video.url }}"
            },
            {
              "name": "upload_preset",
              "value": "={{ $('Set Cloudinary options').item.json.uploadPreset }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "35c9e4ea-b95e-4d2f-b8b6-888a7da2533e",
      "name": "Nota adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3680,
        2560
      ],
      "parameters": {
        "color": 7,
        "width": 308,
        "height": 304,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "788fd78c-32f9-4bd2-98fa-c1679e64f3d5",
      "name": "Ir a humano - Video",
      "type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
      "position": [
        3792,
        2688
      ],
      "webhookId": "2a80c59b-c47c-46c5-95bf-bccc5c8b7d1c",
      "parameters": {
        "fields": {
          "value": {
            "video": "={{ $json.video }}"
          },
          "schema": [
            {
              "id": "video",
              "type": "object",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "video (video)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "refImage"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "metaJson": "={{ $json.metaJson }}",
        "metaSelect": "json",
        "additionalFields": {
          "updateForReviewId": "={{ $json.reviewToUpdate }}"
        },
        "reviewTemplateID": {
          "__rl": true,
          "mode": "list"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "da321f97-5080-4bd0-966c-a000c7dfb288",
      "name": "Reejecutar video",
      "type": "n8n-nodes-base.set",
      "position": [
        4160,
        2928
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "978b3fc1-f62d-4ab3-ac10-4cd55c1e7cba",
              "name": "prompt",
              "type": "string",
              "value": "={{ ($json.messages || [])?.[0]?.content || $('Fetch Result1').item.json.prompt }}"
            },
            {
              "id": "1e20d82c-e7d0-4449-8260-badca14041d5",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $json.reviewId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ddeefad3-16e7-4802-bfa0-6c67ba887e9f",
      "name": "Nota adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        2400
      ],
      "parameters": {
        "color": 5,
        "width": 2512,
        "height": 744,
        "content": "## 4. Turn image into video clip\nWe use Fal.ai again to generate a short video clip based on our reference image, basically making it more vivid.\nAgain, we use Cloudinary to put the tag line on top of the video.\nIn gotoHuman, we check the video and again, can ask for a retry (also allowing prompt edits)"
      },
      "typeVersion": 1
    },
    {
      "id": "ffe45096-6a0f-4455-a634-2c4d85c3adfc",
      "name": "Ir a humano - Imagen",
      "type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
      "position": [
        3792,
        1872
      ],
      "webhookId": "2a80c59b-c47c-46c5-95bf-bccc5c8b7d1c",
      "parameters": {
        "fields": {
          "value": {
            "refImage": "={{ $json.refImage }}"
          },
          "schema": [
            {
              "id": "refImage",
              "type": "array",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "refImage (imageGrid)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "refImage"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "metaJson": "={{ $json.metaJson }}",
        "metaSelect": "json",
        "additionalFields": {
          "updateForReviewId": "={{ $json.reviewToUpdate }}"
        },
        "reviewTemplateID": {
          "__rl": true,
          "mode": "list"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "78a65ba0-135f-49a9-b63e-a5cad481dc1b",
      "name": "Nota adhesiva10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        512
      ],
      "parameters": {
        "color": 7,
        "width": 244,
        "height": 256,
        "content": "![Source example](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6877ff9cd93f480ff6eb4def_677c04b5cd6a77eb434526bf9c0eaaca_gotoHuman%20full%20logo.svg)"
      },
      "typeVersion": 1
    },
    {
      "id": "16bd1622-e025-420f-9d16-10a17231ac76",
      "name": "Disparador manual remoto",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1600,
        624
      ],
      "webhookId": "9cc44543-3b16-44bb-92e8-7c8bff09d8fe",
      "parameters": {
        "path": "9cc44543-3b16-44bb-92e8-7c8bff09d8fe",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "9d234743-ee8c-4f27-ac26-10b093ced6da",
      "name": "Generación de video Fal.ai",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2272,
        2720
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/kling-video/v2.1/standard/image-to-video",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ $json }}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "be670590-b4c2-40c6-945f-446de81bedbe",
      "name": "Establecer prompt inicial de imagen",
      "type": "n8n-nodes-base.code",
      "position": [
        1872,
        1904
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "let style;\nswitch ($json.responseValues.style.value[0].id) {\n  case \"interior\":\n    style = \"Professional product photography in warm, natural lighting, shot with modern rustic furniture. If there is light, it is soft, diffused light creating gentle shadows and highlights. The composition has a casual, lived-in aesthetic with items arranged in an organic, unstaged manner. Color palette consists of warm neutrals - cream, beige, sage green, and natural wood tones. The lighting is soft and even with no harsh shadows, creating a cozy, authentic atmosphere. Shot from a slightly elevated angle looking down, with shallow depth of field keeping the background softly blurred. The overall mood is clean, contemporary farmhouse style with professional commercial photography quality but maintaining an approachable, everyday feel.\";\n    break;\n  case \"garden\":\n    style = \"Bright, vibrant product photography shot in natural outdoor garden setting with soft, warm lighting. Product is placed on stone or concrete surface, surrounded by lush green lawn, blooming flowers (lavender or similar spiky blooms) in foreground, and other flowers in contrasting colors in raised wooden planters in the background. The lighting is soft and diffused, creating a pleasant golden hour glow with gentle shadows. The composition has shallow depth of field with the background slightly blurred, emphasizing the products while maintaining the beautiful garden context. The overall aesthetic is fresh, organic, and naturally lit with rich saturated colors. Professional commercial photography style with natural, lifestyle garden setting.\"\n    break;\n  default:\n    style = \"Bright, cheerful overhead photography of the given scenery. Shot from shlightly above with even, natural lighting. Features colorful items arranged casually across the surface. Uses vibrant, saturated colors with a warm, sunny aesthetic. Clean, modern interior design photography style with high contrast and sharp detail. Playful, lifestyle-oriented composition that evokes outdoor eating and drinking and summer gatherings. Professional food styling with items arranged in an organic, lived-in manner rather than perfectly positioned.\"\n    break;\n}\nconst scene = $json.responseValues.scenery.value\nconst activity = $json.responseValues.activity.value\nconst prompt = `Show the passed ceramics product in the following context. Only show it once and pay attention to show it in a realistic perspective when it's standing\\n\\n<Style>${style}</Style>\\n\\n<Scenery>${scene}</Scenery>\\n\\n<ActivityShown> ${activity}</ActivityShown>`\n\nreturn {\"prompt\": prompt}"
      },
      "typeVersion": 2
    },
    {
      "id": "e7a9304a-8de8-4268-bc94-33fce6e4a6b1",
      "name": "Establecer prompt inicial de video",
      "type": "n8n-nodes-base.code",
      "position": [
        1872,
        2720
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "return {\n  \"prompt\": \"Please put some natural movement to this image for a short clip. Only move what would be naturally moving, like plants gently moving in the wind, or very very slowly moving shadows of clouds (clouds not shown). If outdoors add 1-2 tiny insects flying around.\"\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "68571c4c-ae4b-44ea-b76a-86336e9fe3ab",
      "name": "Establecer solicitud de imagen",
      "type": "n8n-nodes-base.code",
      "position": [
        2080,
        1904
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "return {\n  \"prompt\": $json.prompt,\n  \"image_url\": $('gotoHuman - Content').first().json.responseValues.products.selected[0],\n  \"aspect_ratio\": \"3:4\"\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "4219c653-f1cc-42eb-a57f-e1964bfc4540",
      "name": "Establecer solicitud de video",
      "type": "n8n-nodes-base.code",
      "position": [
        2080,
        2720
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "return {\n  \"prompt\": $json.prompt,\n  \"image_url\": $(\"Approved or Retry ?\").first().json.responseValues.refImage.value[0].url,\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "03360e1e-e677-4869-b198-e4693a59cbc2",
      "name": "Reejecutar imagen",
      "type": "n8n-nodes-base.set",
      "position": [
        4176,
        2128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "324cc185-bac4-4ddd-a0ef-d1d33d6cb1a6",
              "name": "prompt",
              "type": "string",
              "value": "={{ ($json.messages || [])?.[0]?.content || $('Fetch Result1').item.json.prompt }}"
            },
            {
              "id": "1e20d82c-e7d0-4449-8260-badca14041d5",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $json.reviewId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "26a54e6b-fb02-4605-afee-70bb04aea5f4",
      "name": "Establecer opciones de Cloudinary",
      "type": "n8n-nodes-base.set",
      "position": [
        3040,
        1872
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "231a5488-b990-403f-8b35-1864946060f7",
              "name": "environment",
              "type": "string",
              "value": ""
            },
            {
              "id": "7a3ca199-8b7f-4bd2-99c9-710cb3001b53",
              "name": "uploadPreset",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "92c28c4f-89a9-4525-a92a-b82d9dbd54e3",
      "name": "URL de imagen con etiqueta Line",
      "type": "n8n-nodes-base.set",
      "position": [
        3392,
        1872
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2af40631-10e0-4dd2-8d9e-999d9f3fc242",
              "name": "url",
              "type": "string",
              "value": "=https://res.cloudinary.com/{{ $('Set Cloudinary options').item.json.environment }}/image/upload/w_800,f_auto,q_auto/b_white,l_text:bungee_60_bold:{{$('gotoHuman - Content').item.json.responseValues.tagLine.value.urlEncode()}},g_center,y_40,w_600,c_fit,co_rgb:E26D5C/fl_layer_apply,bo_40px_solid_white,g_south,y_40/v{{ $json.version }}/{{ $json.public_id }}.{{ $json.format }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "abb9a9f3-4ea6-4615-8c95-6bc748541c64",
      "name": "Datos a enviar3",
      "type": "n8n-nodes-base.set",
      "position": [
        3568,
        1872
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0a11b75c-8d6a-46f5-8c20-0d414b27ec09",
              "name": "refImage",
              "type": "object",
              "value": "={{\n{\n  ai: { prompt: $('Fetch Result1').item.json.prompt },\n  content:[\n    {\n      \"url\": $json.url\n    }\n  ]\n}\n}}"
            },
            {
              "id": "25d65a8b-6a69-4ff3-9f52-8d65a97900ba",
              "name": "metaJson",
              "type": "string",
              "value": "={\n  \"_gthWorkflow\": {\n    \"runId\": \"{{ $('gotoHuman - Content').item.json.workflowRunId }}\",\n    \"prevSteps\": [\"{{ $('gotoHuman - Content').item.json.reviewId }}\"]\n  }\n}"
            },
            {
              "id": "aef20fd5-1451-4b2d-99f6-e1cdf0c62f82",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $('Rerun Image').isExecuted ? $('Rerun Image').item.json.reviewToUpdate : null }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "48ddbcb6-2f40-4cdd-acf2-1c037c835c0e",
      "name": "URL de clip con etiqueta Line",
      "type": "n8n-nodes-base.set",
      "position": [
        3376,
        2688
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f3bf1bef-15ed-49f4-9c41-2d576cc2ee35",
              "name": "url",
              "type": "string",
              "value": "=https://res.cloudinary.com/{{ $('Set Cloudinary options').item.json.environment }}/video/upload/w_800,f_auto,q_auto/b_white,l_text:bungee_60_bold:{{$('gotoHuman - Content').item.json.responseValues.tagLine.value.urlEncode()}},g_center,y_40,w_600,c_fit,co_rgb:E26D5C/fl_layer_apply,bo_40px_solid_white,g_south,y_40/v{{ $json.version }}/{{ $json.public_id }}.{{ $json.format }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1ab3d4d9-0a3b-4a83-929f-d35e71c3c6e0",
      "name": "Datos a enviar4",
      "type": "n8n-nodes-base.set",
      "position": [
        3552,
        2688
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "955a0f62-741a-480c-ad24-c3c7fb69ddda",
              "name": "video",
              "type": "object",
              "value": "={{\n{\n  ai: { prompt: $('Set Initial Video Prompt').item.json.prompt },\n  content:\n    {\n      \"url\": $json.url\n    }\n}\n}}"
            },
            {
              "id": "a1c343cd-90d2-4df7-bb10-7e59641aa518",
              "name": "metaJson",
              "type": "string",
              "value": "={\n  \"_gthWorkflow\": {\n    \"runId\": \"{{ $('gotoHuman - Image').item.json.workflowRunId }}\",\n    \"prevSteps\": [\"{{ $('gotoHuman - Image').item.json.reviewId }}\"]\n  }\n}"
            },
            {
              "id": "a44a817a-1a43-4544-b0d9-6debd1d321eb",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $('Rerun Video').isExecuted ? $('Rerun Video').item.json.reviewToUpdate : null }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7cbfd32c-7e8c-415e-a942-1e16596c06aa",
      "name": "Ir a humano - Temas",
      "type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
      "position": [
        2496,
        336
      ],
      "webhookId": "946e30b4-a7c4-4579-803a-5457cd4bf559",
      "parameters": {
        "fields": {
          "value": {
            "topics": "={{ $json.topics }}"
          },
          "schema": [
            {
              "id": "topics",
              "type": "object",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "topics (checkboxes)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "topics"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "metaJson": "={{ $json.metaJson }}",
        "metaSelect": "json",
        "additionalFields": {},
        "reviewTemplateID": {
          "__rl": true,
          "mode": "list"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9d5231af-cfca-4e53-815a-c45e303412fc",
      "name": "Nota adhesiva12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3040,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 960,
        "height": 656,
        "content": "![e](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6893ca394b196bb6438732a3_topics-step.JPG)"
      },
      "typeVersion": 1
    },
    {
      "id": "08b74b94-a645-48c8-933b-94952e67ee2b",
      "name": "Nota adhesiva13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3680,
        832
      ],
      "parameters": {
        "color": 7,
        "width": 624,
        "height": 752,
        "content": "![e](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6893ca39c3a320231f3a9271_content-step.JPG)"
      },
      "typeVersion": 1
    },
    {
      "id": "b3362a00-ab06-4d42-84e2-8b10b122f620",
      "name": "Nota adhesiva14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4464,
        1664
      ],
      "parameters": {
        "color": 7,
        "width": 1040,
        "height": 672,
        "content": "![e](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6893ca39392754f280752980_image-step.JPG)"
      },
      "typeVersion": 1
    },
    {
      "id": "f1eca5be-d6ba-4cca-a516-a53b6dd4ee8f",
      "name": "Nota adhesiva15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4464,
        2464
      ],
      "parameters": {
        "color": 7,
        "width": 1040,
        "height": 672,
        "content": "![e](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6893ca39f9d345b58541c664_video-step.JPG)"
      },
      "typeVersion": 1
    },
    {
      "id": "e6394a0b-3046-42bf-ae49-41c921594307",
      "name": "Nota adhesiva16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5552,
        1664
      ],
      "parameters": {
        "color": 7,
        "width": 912,
        "height": 672,
        "content": "![e](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6893ca39d91d94647ceb31c6_image-ai-chat.JPG)"
      },
      "typeVersion": 1
    },
    {
      "id": "132ba3dd-668b-4033-a63e-41b980248131",
      "name": "Nota adhesiva22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3984,
        2448
      ],
      "parameters": {
        "width": 256,
        "content": "## ⚠️ Instructions\n[ ] Select your gotoHuman credentials from the list\n\n[ ] Select review template \"Review Clip\" from list"
      },
      "typeVersion": 1
    },
    {
      "id": "c0311862-d85a-4708-bc66-05f47985d107",
      "name": "Obtener ejemplos aprobados",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1904,
        1152
      ],
      "parameters": {
        "url": "https://api.gotohuman.com/queryResponses",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "formId"
            },
            {
              "name": "fieldIds",
              "value": "tagLine"
            },
            {
              "name": "approvedValuesOnly",
              "value": "true"
            },
            {
              "name": "groupByField",
              "value": "true"
            }
          ]
        },
        "nodeCredentialType": "gotoHumanApi"
      },
      "typeVersion": 4.2
    },
    {
      "id": "851f3fc3-1b22-482d-a2f8-f692dd753f6f",
      "name": "Datos a enviar",
      "type": "n8n-nodes-base.set",
      "position": [
        2240,
        336
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "18f6bd6c-398e-4d1d-9675-d5d9da6e36c0",
              "name": "topics",
              "type": "string",
              "value": "={{ $json.output }}"
            },
            {
              "id": "907f7a29-3989-48ad-9b51-1f2c5c1adef0",
              "name": "metaJson",
              "type": "string",
              "value": "={   \"_gthWorkflow\": {     \"runName\": \"{{ $('Remote manual trigger').isExecuted ? $('Remote manual trigger').item.json.body.responseValues.campaignName.value : \"Campaign \" + $('Schedule Trigger').item.json.Month + \" \" + $('Schedule Trigger').item.json.Year + \", \" + $('Schedule Trigger').item.json['Day of month'] }}\"   } }"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ea4b6668-03b9-44a5-9c73-2c94fa5d366f",
      "name": "Datos a enviar2",
      "type": "n8n-nodes-base.set",
      "position": [
        2720,
        1152
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "eaf1edaa-2b7b-442b-a580-9dc85718f09d",
              "name": "audience",
              "type": "string",
              "value": "={{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.audience }}"
            },
            {
              "id": "c8247039-cbc0-47a6-87f2-413e29662da9",
              "name": "scenery",
              "type": "string",
              "value": "={{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.scenery }}"
            },
            {
              "id": "23a332d1-bc17-48c5-96d1-8591df95baed",
              "name": "activity",
              "type": "string",
              "value": "={{ $('gotoHuman - Topics').item.json.responseValues.topics.value[0].label.activity }}"
            },
            {
              "id": "e2b16b68-cfc9-4ff6-8947-14b3d58eebb2",
              "name": "products",
              "type": "array",
              "value": "={{ \n[\n{url: \"https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6889f47fb9639ff10b8a1350_vasecolored.jpg\"},\n{url: \"https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6889f4aa3875b777178936ab_vasegreen.webp\"},\n{url: \"https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/6889f4c8534e9193b60cc22f_vaseyellow.webp\"}\n]\n}}"
            },
            {
              "id": "bfb472ad-4059-44a3-bc45-12a1536f2f92",
              "name": "tagLine",
              "type": "object",
              "value": "={{\n{\nai: {prompt: $('Tagline Prompt').item.json.prompt},\ncontent: $json.output.tagLine\n}\n}}"
            },
            {
              "id": "412dd833-bc29-41a4-ad53-0be4993b74d0",
              "name": "metaJson",
              "type": "string",
              "value": "={\n  \"_gthWorkflow\": {\n    \"runId\": \"{{ $('gotoHuman - Topics').item.json.workflowRunId }}\",\n    \"prevSteps\": [\"{{ $('gotoHuman - Topics').item.json.reviewId }}\"]\n  }\n}"
            },
            {
              "id": "228c5199-503a-43d8-8af8-4b8d064ab3b2",
              "name": "reviewToUpdate",
              "type": "string",
              "value": "={{ $('Rerun input').isExecuted ? $('Rerun input').item.json.reviewToUpdate : null }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "061aed50-8abb-4e19-94d9-584431620442",
      "name": "¿Aprobado?",
      "type": "n8n-nodes-base.if",
      "position": [
        2784,
        336
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6d70d537-257b-4da9-8841-51e75472ae44",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.response }}",
              "rightValue": "approved"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7dcf5976-3db1-4ef7-b44e-0b6f3aa64b28",
      "name": "¿Aprobado o reintentar?",
      "type": "n8n-nodes-base.switch",
      "position": [
        3216,
        1152
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Approved",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "0e1a0eaf-64e6-4004-952e-8d1b85c28fe8",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.response === \"approved\")  }}",
                    "rightValue": "true"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Rerun tagline",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "3e87dd5e-ac87-4d1f-a3b6-f0a31ea1bab6",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.type === \"chat\") }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "87011dbc-b82b-4bf6-8cc7-c5fa84463013",
      "name": "¿Aprobado o reintentar ?",
      "type": "n8n-nodes-base.switch",
      "position": [
        4032,
        1872
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Good",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "0e1a0eaf-64e6-4004-952e-8d1b85c28fe8",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.type === \"review\") && ($json.response === \"approved\")  }}",
                    "rightValue": "true"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Rerun",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "3e87dd5e-ac87-4d1f-a3b6-f0a31ea1bab6",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.type === \"chat\") }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "4bd71e90-8f3c-4520-a3cd-e68a32d308df",
      "name": "¿Aprobado o reintentar  ?",
      "type": "n8n-nodes-base.switch",
      "position": [
        4032,
        2688
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Good",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "0e1a0eaf-64e6-4004-952e-8d1b85c28fe8",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.type === \"review\") && ($json.response === \"approved\")  }}",
                    "rightValue": "true"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Rerun",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "3e87dd5e-ac87-4d1f-a3b6-f0a31ea1bab6",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ($json.type === \"chat\") }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "2dd8fe28-83b2-442b-ada6-38663a836b5e",
      "name": "Nota adhesiva25",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        48
      ],
      "parameters": {
        "width": 880,
        "height": 1408,
        "content": "## Create AI product videos with Fal.ai using [gotoHuman](https://www.gotohuman.com) for supervision\nLet's say we are a shop selling ceramics and want to showcase one of our products on social media each week.\nThis mainly demonstrates how to use **gotoHuman** to supervise each step of the workflow.\n\n@[youtube](mjjkPjCubns)\n\n### ⚠️ How to set up\n[ ] In n8n, install gotoHuman node **before** importing this template or some settings will be missing (Just add the node to a blank canvas before importing)\n\n[ ] Create gotoHuman account, copy API key\n\n[ ] In gotoHuman, import review templates from IDs: `Z7V1jyImY1pho9eY039R,0GBaOCWd27tqV562kkCL,E2wlCVPWmk2UnLHVt4uu,DitPdbIapS4rBxBTIYGt,Z2T7nFwkXVFQlD6z50eV`\n(copy&paste this whole comma-separated list of IDs)\n![x](https://cdn.prod.website-files.com/6605a2979ff17b2cd1939cd4/689484a8c752885e94ef212e_import-menu.JPG)\n[ ] Follow further instructions in the yellow notes below\n\n### Requirements\n- gotoHuman account for human supervision\n- OpenAI account for ideation and tag line generation\n- Fal.ai account for image/video generation\n- Cloudinary account for adding a text layer on top of image/video\n\n### How to customize\n- Adjust/Replace the workflow triggers as needed\n- Change the prompt in the topics generation node\n- Replace the product image URLs used in the \"gotoHuman - Content\" node\n- Adjust the available styles for image generation in the gotoHuman review template and the prompts they link to in the \"Set Initial Image Prompt\" node\n- Remove Cloudinary if you do not need a text overlay\n- Adjust the prompt used for video generation in the \"Set Initial Video Prompt\" node"
      },
      "typeVersion": 1
    },
    {
      "id": "d05548c1-463f-4082-982c-d074a9742e10",
      "name": "Nota adhesiva21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3984,
        1664
      ],
      "parameters": {
        "width": 256,
        "content": "## ⚠️ Instructions\n[ ] Select your gotoHuman credentials from the list\n\n[ ] Select review template \"Review Ref Image\" from list"
      },
      "typeVersion": 1
    },
    {
      "id": "a0bda33c-c741-415d-896d-466558dd40a9",
      "name": "Nota adhesiva23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2192,
        1744
      ],
      "parameters": {
        "width": 256,
        "content": "## ⚠️ Instructions\n[ ] You need a Fal.ai account\n[ ] Choose \"Generic Credential Type\" > \"Header Auth\" > Name: `Authorization`, Value: `Key YOUR-API-KEY` "
      },
      "typeVersion": 1
    },
    {
      "id": "7db74fa7-cd53-4878-9ea9-0834940b3dc1",
      "name": "Nota adhesiva24",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2976,
        1664
      ],
      "parameters": {
        "width": 336,
        "height": 208,
        "content": "## ⚠️ Instructions\n[ ] You need a cloudinary.com account\n[ ] In Cloudinary, find your environment/cloud name\n[ ] In Cloudinary, [add an upload preset](https://console.cloudinary.com/settings/upload/presets). Enter a name, set signing mode to **Unsigned** and enter asset folder name. Leave rest as is. Save.\n[ ] In this node, enter names of environment and upload preset (no credential req.)"
      },
      "typeVersion": 1
    },
    {
      "id": "398ec2f5-e380-4ac4-9f67-70ad43853685",
      "name": "Nota adhesiva20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3168,
        912
      ],
      "parameters": {
        "width": 256,
        "content": "## ⚠️ Instructions\n[ ] Select your gotoHuman credentials from the list\n\n[ ] Select review template \"Product,...\" from list"
      },
      "typeVersion": 1
    },
    {
      "id": "13b8c8d6-8939-4a95-9ff8-24ab5b9a63bb",
      "name": "Nota adhesiva19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1616,
        1120
      ],
      "parameters": {
        "width": 256,
        "height": 240,
        "content": "## ⚠️ Instructions\n[ ] Select credential type \"gotoHuman API\"\n\n[ ] Select your gotoHuman credentials from the list\n\n[ ] For `formId` enter the ID of your gotoHuman review template \"Product,...\""
      },
      "typeVersion": 1
    },
    {
      "id": "c37b2041-5d08-4298-b952-38524a2f040d",
      "name": "Nota adhesiva17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1312,
        624
      ],
      "parameters": {
        "content": "## ⚠️ Instructions\n[ ] Add the webhook URL shown in this node to the settings of the review template \"Create Campaign\" in gotoHuman"
      },
      "typeVersion": 1
    },
    {
      "id": "1f0b871b-f801-4518-9068-b8b9823e234a",
      "name": "Nota adhesiva18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2704,
        128
      ],
      "parameters": {
        "width": 256,
        "content": "## ⚠️ Instructions\n[ ] Add gotoHuman credentials with your API key\n\n[ ] Select review template \"Topic Ideas\" from list"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Remote manual trigger": [
      {
        "body": {
          "type": "trigger",
          "formId": "the-trigger-form-id",
          "formName": "Create Campaign",
          "reviewId": "the-trigger-id",
          "accountId": "your-account-id",
          "respondingUser": "hello@acme.org",
          "responseValues": {
            "campaignName": {
              "value": "Late Summer Campaign"
            }
          }
        },
        "webhookUrl": "https://xxx.app.n8n.cloud/webhook-test/x-y-z",
        "executionMode": "test"
      }
    ]
  },
  "connections": {
    "27f11b17-8575-4ea2-b75f-f6f0190cf76f": {
      "ai_languageModel": [
        [
          {
            "node": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "67b8909a-b459-4a4c-aaff-17890ffe368e": {
      "ai_languageModel": [
        [
          {
            "node": "aff6dd98-6667-4da5-8b6d-732551e639b9",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "cb44f47a-fb6c-40ef-a0fc-2edcad10ec18": {
      "main": [
        [
          {
            "node": "2c5385cf-31b7-4ddb-aae2-0a836685caa7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be7a4fd6-fcf8-4784-9ac1-0503805ca388": {
      "main": [
        [
          {
            "node": "844a4693-4548-48e0-8e6f-729dfa250234",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e931c247-83c9-4313-a334-7c7224344738": {
      "ai_tool": [
        [
          {
            "node": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "061aed50-8abb-4e19-94d9-584431620442": {
      "main": [
        [
          {
            "node": "c0311862-d85a-4708-bc66-05f47985d107",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3552fa2c-5e24-4798-98db-0ff6bf643d9d": {
      "main": [
        [
          {
            "node": "37b96d9a-a388-42de-92a4-fe67328f5df3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "be7a4fd6-fcf8-4784-9ac1-0503805ca388",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "370b2f6e-3de9-43b3-a375-075d8dc758fd": {
      "ai_tool": [
        [
          {
            "node": "aff6dd98-6667-4da5-8b6d-732551e639b9",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "94a4e219-e3b9-48e0-a74a-212c2a2d65cc": {
      "main": [
        [
          {
            "node": "78500e8d-4d77-4b7a-8927-df8d1a90a86c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "cb44f47a-fb6c-40ef-a0fc-2edcad10ec18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "03360e1e-e677-4869-b198-e4693a59cbc2": {
      "main": [
        [
          {
            "node": "68571c4c-ae4b-44ea-b76a-86336e9fe3ab",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da321f97-5080-4bd0-966c-a000c7dfb288": {
      "main": [
        [
          {
            "node": "4219c653-f1cc-42eb-a57f-e1964bfc4540",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "08ca1a40-709c-4d86-b4f3-7d78ead1af58": {
      "main": [
        [
          {
            "node": "aff6dd98-6667-4da5-8b6d-732551e639b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "851f3fc3-1b22-482d-a2f8-f692dd753f6f": {
      "main": [
        [
          {
            "node": "7cbfd32c-7e8c-415e-a942-1e16596c06aa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c3bafdc2-d550-4e6c-9fd0-a037daeacae4": {
      "ai_outputParser": [
        [
          {
            "node": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "78500e8d-4d77-4b7a-8927-df8d1a90a86c": {
      "main": [
        [
          {
            "node": "76b372f9-ded9-4004-979f-8792ffca7396",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c5385cf-31b7-4ddb-aae2-0a836685caa7": {
      "main": [
        [
          {
            "node": "94a4e219-e3b9-48e0-a74a-212c2a2d65cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ea4b6668-03b9-44a5-9c73-2c94fa5d366f": {
      "main": [
        [
          {
            "node": "b1811460-de61-4096-88d6-32db3f9d39a3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "abb9a9f3-4ea6-4615-8c95-6bc748541c64": {
      "main": [
        [
          {
            "node": "ffe45096-6a0f-4455-a634-2c4d85c3adfc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ab3d4d9-0a3b-4a83-929f-d35e71c3c6e0": {
      "main": [
        [
          {
            "node": "788fd78c-32f9-4bd2-98fa-c1679e64f3d5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "99281da0-7453-4c6a-847c-2bb1042a41b8": {
      "ai_outputParser": [
        [
          {
            "node": "aff6dd98-6667-4da5-8b6d-732551e639b9",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "37b96d9a-a388-42de-92a4-fe67328f5df3": {
      "main": [
        [
          {
            "node": "26a54e6b-fb02-4605-afee-70bb04aea5f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "844a4693-4548-48e0-8e6f-729dfa250234": {
      "main": [
        [
          {
            "node": "3552fa2c-5e24-4798-98db-0ff6bf643d9d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e355e2a4-94d9-407d-88d3-b269aad22ffa": {
      "main": [
        [
          {
            "node": "aff6dd98-6667-4da5-8b6d-732551e639b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9111812d-361d-40d6-9a62-284078a317ee": {
      "main": [
        [
          {
            "node": "844a4693-4548-48e0-8e6f-729dfa250234",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9d234743-ee8c-4f27-ac26-10b093ced6da": {
      "main": [
        [
          {
            "node": "2c5385cf-31b7-4ddb-aae2-0a836685caa7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0b4de412-a17e-4ba8-8edb-6d86a5229b2d": {
      "main": [
        [
          {
            "node": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b8af975a-fbc0-4b55-ba08-2c0ac8fffbfc": {
      "main": [
        [
          {
            "node": "92c28c4f-89a9-4525-a92a-b82d9dbd54e3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "68571c4c-ae4b-44ea-b76a-86336e9fe3ab": {
      "main": [
        [
          {
            "node": "9111812d-361d-40d6-9a62-284078a317ee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4219c653-f1cc-42eb-a57f-e1964bfc4540": {
      "main": [
        [
          {
            "node": "9d234743-ee8c-4f27-ac26-10b093ced6da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ffe45096-6a0f-4455-a634-2c4d85c3adfc": {
      "main": [
        [
          {
            "node": "87011dbc-b82b-4bf6-8cc7-c5fa84463013",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "788fd78c-32f9-4bd2-98fa-c1679e64f3d5": {
      "main": [
        [
          {
            "node": "4bd71e90-8f3c-4520-a3cd-e68a32d308df",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7dcf5976-3db1-4ef7-b44e-0b6f3aa64b28": {
      "main": [
        [
          {
            "node": "be670590-b4c2-40c6-945f-446de81bedbe",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "08ca1a40-709c-4d86-b4f3-7d78ead1af58",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "76b372f9-ded9-4004-979f-8792ffca7396": {
      "main": [
        [
          {
            "node": "48ddbcb6-2f40-4cdd-acf2-1c037c835c0e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7cbfd32c-7e8c-415e-a942-1e16596c06aa": {
      "main": [
        [
          {
            "node": "061aed50-8abb-4e19-94d9-584431620442",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87011dbc-b82b-4bf6-8cc7-c5fa84463013": {
      "main": [
        [
          {
            "node": "e7a9304a-8de8-4268-bc94-33fce6e4a6b1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "03360e1e-e677-4869-b198-e4693a59cbc2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b1811460-de61-4096-88d6-32db3f9d39a3": {
      "main": [
        [
          {
            "node": "7dcf5976-3db1-4ef7-b44e-0b6f3aa64b28",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4bd71e90-8f3c-4520-a3cd-e68a32d308df": {
      "main": [
        [
          {
            "node": "a54dad12-eb4c-4ec9-8324-b22d47f42938",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "da321f97-5080-4bd0-966c-a000c7dfb288",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "16bd1622-e025-420f-9d16-10a17231ac76": {
      "main": [
        [
          {
            "node": "9363d3d6-ef9a-4bc5-9418-8f0887549e20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aff6dd98-6667-4da5-8b6d-732551e639b9": {
      "main": [
        [
          {
            "node": "ea4b6668-03b9-44a5-9c73-2c94fa5d366f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "48ddbcb6-2f40-4cdd-acf2-1c037c835c0e": {
      "main": [
        [
          {
            "node": "1ab3d4d9-0a3b-4a83-929f-d35e71c3c6e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "26a54e6b-fb02-4605-afee-70bb04aea5f4": {
      "main": [
        [
          {
            "node": "b8af975a-fbc0-4b55-ba08-2c0ac8fffbfc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0311862-d85a-4708-bc66-05f47985d107": {
      "main": [
        [
          {
            "node": "e355e2a4-94d9-407d-88d3-b269aad22ffa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "92c28c4f-89a9-4525-a92a-b82d9dbd54e3": {
      "main": [
        [
          {
            "node": "abb9a9f3-4ea6-4615-8c95-6bc748541c64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be670590-b4c2-40c6-945f-446de81bedbe": {
      "main": [
        [
          {
            "node": "68571c4c-ae4b-44ea-b76a-86336e9fe3ab",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7a9304a-8de8-4268-bc94-33fce6e4a6b1": {
      "main": [
        [
          {
            "node": "4219c653-f1cc-42eb-a57f-e1964bfc4540",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9363d3d6-ef9a-4bc5-9418-8f0887549e20": {
      "main": [
        [
          {
            "node": "851f3fc3-1b22-482d-a2f8-f692dd753f6f",
            "type": "main",
            "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 - Creación de contenido, IA Multimodal

¿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.

Flujos de trabajo relacionados recomendados

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos72
Categoría2
Tipos de nodos15
Descripción de la dificultad

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

Autor
gotoHuman

gotoHuman

@gotohuman

Approve critical actions in gotoHuman’s customizable review interface and edit AI outputs manually or by looping back to your workflow. Ensure AI-generated content is on-brand, messages to customers are accurate, and high-stakes decisions are made by humans.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34