8
n8n 中文网amn8n.com

使用Midjourney、GPT-4o-mini和Canvas API生成图形壁纸

中级

这是一个Design, AI, Marketing领域的自动化工作流,包含 14 个节点。主要使用 If, Set, Code, Wait, Switch 等节点,结合人工智能技术实现智能自动化。 通过Midjourney、GPT-4o-mini和Canvas API生成图形壁纸

前置要求
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "mN7jDJoWHtJuyKpS",
  "meta": {
    "instanceId": "1e003a7ea4715b6b35e9947791386a7d07edf3b5bf8d4c9b7ee4fdcbec0447d7"
  },
  "name": "使用Midjourney、GPT-4o-mini和Canvas API生成图形壁纸",
  "tags": [],
  "nodes": [
    {
      "id": "11cef766-dd10-46ea-98cf-11eb8d95e157",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        80
      ],
      "parameters": {
        "width": 520,
        "height": 200,
        "content": "## 使用Midjourney、GPT-4o-mini和Canvas API生成图形壁纸"
      },
      "typeVersion": 1
    },
    {
      "id": "ba7143d7-442d-4153-9cfd-bb36448d4c91",
      "name": "Midjourney生成器",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1200,
        320
      ],
      "parameters": {
        "url": "https://api.piapi.ai/api/v1/task",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"midjourney\",\n  \"task_type\": \"imagine\",\n  \"input\": {\n    \"prompt\": \"{{ $json.prompt }}\",\n    \"aspect_ratio\": \"1:1\",\n    \"process_mode\": \"turbo\",\n    \"skip_prompt_check\": false\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $('Basic Params').item.json['x-api-key'] }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "117b5929-e98c-456a-9bfd-fe1deee77abc",
      "name": "当点击测试工作流时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        300,
        320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "dfcf5c57-536c-4fb4-967b-24fd375db57c",
      "name": "获取提示词",
      "type": "n8n-nodes-base.code",
      "position": [
        960,
        320
      ],
      "parameters": {
        "jsCode": "const image_prompt=$('Basic Params').first().json.image_prompt;\nconst show_prompt =$input.first().json.choices[0].message.content;\n\nconst prompt = image_prompt.replace(/'xxx'/, `'${show_prompt}'`)\nreturn {show_prompt,prompt};"
      },
      "typeVersion": 2
    },
    {
      "id": "1c641437-de26-4e55-9b34-0cb13d8d1cd3",
      "name": "获取Midjourney任务",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1140,
        580
      ],
      "parameters": {
        "url": "=https://api.piapi.ai/api/v1/task/{{ $json.data.task_id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $('Basic Params').item.json['x-api-key'] }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "38fda20c-fef6-484c-ac75-c8f2fbaaca15",
      "name": "等待Midjourney生成",
      "type": "n8n-nodes-base.wait",
      "position": [
        940,
        580
      ],
      "webhookId": "af79053d-1291-4dd2-889e-4593dbbb2512",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "1d5eaf9a-caf8-4b08-a35c-281b400c9198",
      "name": "确定是否获取到图片URL",
      "type": "n8n-nodes-base.if",
      "position": [
        1340,
        580
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "e97a02cc-8d1d-4500-bce5-0a296c792b76",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "completed"
            },
            {
              "id": "50b63a7a-52b5-4766-a859-96ac1ff949ec",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "failed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "983acf91-c5ba-4335-b43e-d7a8a1a6b918",
      "name": "检查图片生成状态",
      "type": "n8n-nodes-base.switch",
      "position": [
        1520,
        320
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5f61ee56-4ebe-411f-95e6-b47d9741e7a2",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.data.status }}",
                    "rightValue": "completed"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "50455a13-5914-4f96-b977-d1c6461807bc",
      "name": "在Canvas中设计",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1920,
        320
      ],
      "parameters": {
        "url": "https://api.canvas.switchboard.ai",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"template\": \"social-3-1\",\n    \"sizes\": [\n        {\n         \"width\": 1000,\n         \"height\": 1500\n        }\n    ],\n    \"elements\": {\n        \"text1\": {\n            \"text\": \"{{ $('Get Prompt').item.json.show_prompt.replace(/;/g, \";\\\\n \")}}\"\n        },\n         \"rectangle1\": {\n                 \"fillColor\": \"#fff\"\n             },\n        \"image1\": {\n            \"url\": \"{{ $json.data.output.temporary_image_urls[0] }}\"\n        }\n    }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-API-Key",
              "value": "45ba3916-2f10-497d-815b-7ffc9b69001f"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0fd5d40c-aebc-4ec3-b9b5-027126b39452",
      "name": "获取图片URL",
      "type": "n8n-nodes-base.set",
      "position": [
        1720,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d52d19d1-3a37-47bb-ad23-e809323c0c54",
              "name": "data.output.temporary_image_urls",
              "type": "array",
              "value": "={{ $json.data.output.temporary_image_urls }}"
            },
            {
              "id": "49bed53e-675d-4ea0-947c-ffcbfae0ee97",
              "name": "data.output.image_url",
              "type": "string",
              "value": "={{ $json.data.output.image_url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e36d4bd6-2d34-447c-984e-515c48f3632e",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        500
      ],
      "parameters": {
        "width": 580,
        "height": 280,
        "content": "## 基本参数"
      },
      "typeVersion": 1
    },
    {
      "id": "1e04fe5d-a1f4-4fe9-a3d2-9c6aeaf05d96",
      "name": "Gpt-4o-mini API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        740,
        320
      ],
      "parameters": {
        "url": "https://api.piapi.ai/v1/chat/completions",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"model\": \"gpt-4o-mini\",\n    \"messages\": [\n       {\n          \"role\": \"system\",\n          \"content\": \"You are a helpful assistant.\"\n        },\n        {\n          \"role\": \"user\",\n          \"content\": \"Please {{ $json.style }}, based on the theme of {{ $json.theme }} and the scenario of {{ $json.scenario }}, according to the output case and language context. Examples are  {{ $json.example }},Return a sentence directly, nothing else,Don't add a serial number, just a prompt that can be used for input,Do not add any quotation marks.\"}\n      ]\n  }",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Basic Params').first().json['x-api-key'] }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4eaf0f57-9458-42cb-b736-c737f134320b",
      "name": "基本参数",
      "type": "n8n-nodes-base.set",
      "position": [
        540,
        320
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"x-api-key\":\"\",\n  \"theme\": \"Hope\",\n  \"scenario\": \"Don't know about the future, confused and feel lost about AI agent\",\n  \"style\":\"Cinematic Grandeur,Sci-Tech Aesthetic, 3D style\",\n  \"example\":\"1. March. Because of your faith, it will happen.2. Something in me will save me.3. To everyone carrying a heavy heart in silence. You are going to be okay.4. Tomorrow will be better.\",\n  \"image_prompt\":\"A cinematic sci-fi metropolis where Deep Neural Nets control a hyper-connected society. Holographic interfaces glow in the air as robotic agents move among humans, symbolizing Industry 4.0. The scene contrasts organic human emotion with cold machine precision, rendered in a hyper-realistic 3D style with futuristic lighting. Epic wide shots showcase the grandeur of this civilization’s industrial evolution.\"\n}\n"
      },
      "typeVersion": 3.4
    },
    {
      "id": "6750b606-4222-4cda-bcaa-5d4f2b4f9ec8",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        560
      ],
      "parameters": {
        "width": 380,
        "height": 200,
        "content": "## Canvas API节点中的设计"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "09b5a8e6-bdc8-47bb-a9e3-95b090ff3f13",
  "connections": {
    "Get Prompt": {
      "main": [
        [
          {
            "node": "Midjourney Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic Params": {
      "main": [
        [
          {
            "node": "Gpt-4o-mini API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image Url": {
      "main": [
        [
          {
            "node": "Design in Canvas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gpt-4o-mini API": {
      "main": [
        [
          {
            "node": "Get Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Midjourney Task": {
      "main": [
        [
          {
            "node": "Determine Whether the Image URL was Fetched",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Midjourney Generator": {
      "main": [
        [
          {
            "node": "Wait for Midjourney Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking Test workflow": {
      "main": [
        [
          {
            "node": "Basic Params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Image  Generation Status": {
      "main": [
        [
          {
            "node": "Get Image Url",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Midjourney Generation": {
      "main": [
        [
          {
            "node": "Get Midjourney Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Determine Whether the Image URL was Fetched": {
      "main": [
        [
          {
            "node": "Check Image  Generation Status",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for Midjourney Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 设计, 人工智能, 营销

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量14
分类3
节点类型8
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流