Plantilla de demostración-chatgpt-imagen-1-con-copia-de-drive-y-sheet

Avanzado

Este es unDesign, AI, IT Opsflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como Set, SplitOut, Aggregate, GoogleDrive, HttpRequest, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Usar GPT-image-1 para generar imágenes y guardarlas en Google Drive, con seguimiento de costos

Requisitos previos
  • Credenciales de API de Google Drive
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
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
{
  "id": "0GCQ1fO3d5MBdKmi",
  "meta": {
    "instanceId": "fddb3e91967f1012c95dd02bf5ad21f279fc44715f47a7a96a33433621caa253"
  },
  "name": "template-demo-chatgpt-image-1-with-drive-and-sheet copy",
  "tags": [],
  "nodes": [
    {
      "id": "7d78d4e3-cbb3-4f32-82d9-73c9d7f6c892",
      "name": "Al hacer clic en 'Probar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "disabled": true,
      "position": [
        -480,
        -245
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b32b61bb-c837-4697-9742-a1bb2854b628",
      "name": "Solicitud HTTP",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -260,
        -120
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/images/generations",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "gpt-image-1"
            },
            {
              "name": "prompt",
              "value": "={{ $json.chatInput }}"
            },
            {
              "name": "output_format",
              "value": "jpeg"
            },
            {
              "name": "quality",
              "value": "low"
            },
            {
              "name": "output_compression",
              "value": "={{parseInt('80')}}"
            },
            {
              "name": "size",
              "value": "1024x1024"
            },
            {
              "name": "n",
              "value": "={{parseInt('1')}}"
            },
            {
              "name": "moderation",
              "value": "low"
            }
          ]
        },
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "id": "GgwYNKMKKqKJICYO",
          "name": "OpenAi account - Image"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0ead70d0-9e3b-4f19-afee-b5d4a7b532e9",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        860,
        -20
      ],
      "parameters": {
        "name": "=chatgpt_created_by_n8n_{{ $('HTTP Request').item.json.created }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1sIbMHDtcOafBVdCq0gTEuGvnT63s8Fdy",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1sIbMHDtcOafBVdCq0gTEuGvnT63s8Fdy",
          "cachedResultName": "n8n-demo-gpt_image_1"
        },
        "inputDataFieldName": "=data"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "iQdqjdvLVh5ldUIq",
          "name": "Personal-Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a76c4340-9f34-49d1-a831-1ba4515933ee",
      "name": "Dividir",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -40,
        -120
      ],
      "parameters": {
        "options": {
          "includeBinary": true
        },
        "fieldToSplitOut": "data"
      },
      "typeVersion": 1
    },
    {
      "id": "c8090e15-b9b9-4999-89f0-97d45e6176d6",
      "name": "Convertir a Archivo",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        640,
        -20
      ],
      "parameters": {
        "options": {
          "fileName": "={{ $now.format(\"yyyyMMddHHmmSSS\") }}"
        },
        "operation": "toBinary",
        "sourceProperty": "b64_json"
      },
      "typeVersion": 1.1
    },
    {
      "id": "692a71fb-6fe3-4728-a588-f9283f5ab968",
      "name": "Iterar sobre Elementos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        200,
        -20
      ],
      "parameters": {
        "options": {
          "reset": false
        },
        "batchSize": "=1"
      },
      "executeOnce": false,
      "typeVersion": 3
    },
    {
      "id": "dfa88c15-4d38-4670-9c5a-4e52a9ce9d33",
      "name": "Editar Campos-nombre_archivo",
      "type": "n8n-nodes-base.set",
      "position": [
        420,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "10e6d39e-c44c-4db4-bf88-806b2f36c09f",
              "name": "file_name",
              "type": "string",
              "value": "={{ $now.format(\"yyyyMMddHHmmSSS\") }}"
            },
            {
              "id": "c2610584-aafa-4d90-8977-399e49015c32",
              "name": "b64_json",
              "type": "string",
              "value": "={{ $json.b64_json }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c34c1a91-2601-4750-8134-d31cf377c349",
      "name": "Editar Campos1",
      "type": "n8n-nodes-base.set",
      "position": [
        1080,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "dcfa49d6-a8ed-43a2-9aaa-86751f34e61d",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "d2f7f22d-9453-4b61-bd46-fb3e8d5ad4d8",
              "name": "webViewLink",
              "type": "string",
              "value": "={{ $json.webViewLink }}"
            },
            {
              "id": "b8cf5a41-e354-416e-b548-8d1a274873e0",
              "name": "thumbnailLink",
              "type": "string",
              "value": "={{ $json.thumbnailLink }}"
            },
            {
              "id": "76c11a24-087c-4a6c-a5b4-8901e9436786",
              "name": "file_name",
              "type": "string",
              "value": "={{ $('Edit Fields-file_name').item.json.file_name }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6bd8f7dc-1006-4d7f-b3eb-0a3aaa1b9a84",
      "name": "Hojas de Google",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1300,
        -20
      ],
      "parameters": {
        "columns": {
          "value": {
            "image": "={{ $json.webViewLink }}",
            "prompt": "={{ $('When chat message received').item.json.chatInput }}",
            "image_thumb": "==IMAGE(\"{{ $('Edit Fields1').item.json.thumbnailLink }}\")"
          },
          "schema": [
            {
              "id": "prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "image",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "image_thumb",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "image_thumb",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "cellFormat": "USER_ENTERED"
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88/edit#gid=0",
          "cachedResultName": "工作表1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88/edit?usp=drivesdk",
          "cachedResultName": "n8n-chatgpt-image-1-model"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tufEzuSTEveV3tuA",
          "name": "(Personal)Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "8ee28143-d9e7-4d14-929f-c9b6592c366e",
      "name": "Al recibir mensaje en el chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -480,
        -45
      ],
      "webhookId": "f64b2006-672a-4ad6-8c30-428b76f5a332",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "1e687fde-8465-4490-8738-c9832904f2b5",
      "name": "Hojas de Google1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        700,
        -400
      ],
      "parameters": {
        "columns": {
          "value": {
            "prompt": "={{ $('When chat message received').item.json.chatInput }}",
            "datetime": "={{ $('HTTP Request').item.json.created.toDateTime('s').format('yyyy-MM-dd HH:mm:ss') }}",
            "input token": "={{ $('HTTP Request').item.json.usage.input_tokens }}",
            "output token": "={{ $('HTTP Request').item.json.usage.output_tokens }}",
            "input estimated price": "={{    (     ($('HTTP Request').item.json.usage.input_tokens || 0) * 10 / 1000000   ).toFixed(6)  }}",
            "total estimated price": "={{ \n  (\n    (($('HTTP Request').item.json.usage.input_tokens || 0) * 10 / 1000000) +\n    (($('HTTP Request').item.json.usage.output_tokens || 0) * 40 / 1000000)\n  ).toFixed(6)\n}}",
            "output estimated price": "={{    (     ($('HTTP Request').item.json.usage.output_tokens || 0) * 40 / 1000000   ).toFixed(6)  }}"
          },
          "schema": [
            {
              "id": "prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "datetime",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "datetime",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "input token",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "input token",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "input estimated price",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "input estimated price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "output token",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "output token",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "output estimated price",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "output estimated price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "total estimated price",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "total estimated price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 929800828,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88/edit#gid=929800828",
          "cachedResultName": "usage"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11K1tui8itMzcSZqHOmzvFnM0G-ihn1uiLUZ_o478j88/edit?usp=drivesdk",
          "cachedResultName": "n8n-chatgpt-image-1-model"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tufEzuSTEveV3tuA",
          "name": "(Personal)Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "5e1f6dd3-6c1a-4838-86c7-2a3c0cf05c3d",
      "name": "Agregar",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        480,
        -400
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "f14edb71-0778-40dc-9f2d-4cfc72b8a351",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -600
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 240,
        "content": "## Created by darrell_tw_ \n\nAn engineer now focus on AI and Automation\n\n### contact me with following:\n[X](https://x.com/darrell_tw_)\n[Threads](https://www.threads.net/@darrell_tw_)\n[Instagram](https://www.instagram.com/darrell_tw_/)\n[Website](https://www.darrelltw.com/)"
      },
      "typeVersion": 1
    },
    {
      "id": "6bbe2346-287b-491d-bf20-a76d39a6e297",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -340
      ],
      "parameters": {
        "width": 660,
        "height": 480,
        "content": "## Use Chat to input prompts for image generation"
      },
      "typeVersion": 1
    },
    {
      "id": "8dd6607a-16cf-424d-902a-04c43e68f424",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -200
      ],
      "parameters": {
        "color": 2,
        "width": 1260,
        "height": 420,
        "content": "## Process image array data with Loop\nRegardless of single or multiple images\nThey will be in the data[] array\nJust use Loop to process them\n\nImages will be uploaded to Drive and saved as a row in the Sheet with links and thumbnails"
      },
      "typeVersion": 1
    },
    {
      "id": "f8d0819a-e38a-4f7a-aa79-594ebca465a0",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -480
      ],
      "parameters": {
        "color": 6,
        "width": 480,
        "height": 260,
        "content": "## After processing, save Cost to Sheet"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "cf533114-4aa9-4b06-8247-3c06f9dcbc79",
  "connections": {
    "5e1f6dd3-6c1a-4838-86c7-2a3c0cf05c3d": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a76c4340-9f34-49d1-a831-1ba4515933ee": {
      "main": [
        [
          {
            "node": "692a71fb-6fe3-4728-a588-f9283f5ab968",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c34c1a91-2601-4750-8134-d31cf377c349": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0ead70d0-9e3b-4f19-afee-b5d4a7b532e9": {
      "main": [
        [
          {
            "node": "c34c1a91-2601-4750-8134-d31cf377c349",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "a76c4340-9f34-49d1-a831-1ba4515933ee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "692a71fb-6fe3-4728-a588-f9283f5ab968",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c8090e15-b9b9-4999-89f0-97d45e6176d6": {
      "main": [
        [
          {
            "node": "0ead70d0-9e3b-4f19-afee-b5d4a7b532e9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "692a71fb-6fe3-4728-a588-f9283f5ab968": {
      "main": [
        [
          {
            "node": "5e1f6dd3-6c1a-4838-86c7-2a3c0cf05c3d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "dfa88c15-4d38-4670-9c5a-4e52a9ce9d33",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dfa88c15-4d38-4670-9c5a-4e52a9ce9d33": {
      "main": [
        [
          {
            "node": "c8090e15-b9b9-4999-89f0-97d45e6176d6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8ee28143-d9e7-4d14-929f-c9b6592c366e": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d78d4e3-cbb3-4f32-82d9-73c9d7f6c892": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "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 - Diseño, Inteligencia Artificial, Operaciones de TI

¿Es de pago?

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

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos16
Categoría3
Tipos de nodos11
Descripción de la dificultad

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

Autor
darrell_tw

darrell_tw

@darrelltw

Martech Engineer with automation. here is my website: https://www.darrelltw.com/

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34