8
n8n 한국어amn8n.com

JD를 기반으로 ATS 이력서 제작

고급

이것은Multimodal AI분야의자동화 워크플로우로, 19개의 노드를 포함합니다.주로 Code, Html, Perplexity, FormTrigger, GoogleDrive 등의 노드를 사용하며. Perplexity AI와 PDF로부터 직장 특정 ATS 이력서 생성

사전 요구사항
  • Google Drive API 인증 정보

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "JgekNtar5mXcPtGd",
  "meta": {
    "instanceId": "fca4fa0e5ae247e39cd954acbd193c81c66eeb044912b56566983f18237c0bf6",
    "templateCredsSetupCompleted": true
  },
  "name": "ATS resume maker accoding to JD",
  "tags": [],
  "nodes": [
    {
      "id": "7f200ac3-741e-4c81-af61-b798c317801e",
      "name": "HTML to PDF",
      "type": "@custom-js/n8n-nodes-pdf-toolkit.html2Pdf",
      "position": [
        1664,
        112
      ],
      "parameters": {
        "htmlInput": "={{ $json.cleanedResponse }}"
      },
      "credentials": {
        "customJsApi": {
          "id": "4QZZxZEUk18tr3si",
          "name": "CustomJS account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d6b2bfdf-b0e3-4477-a340-d97235f0ed92",
      "name": "파일 업로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2160,
        112
      ],
      "parameters": {
        "name": "NEW_RESUNME",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1vzNpRjBe1ylcLmJ2TKl4TN40BAeri-HD",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1vzNpRjBe1ylcLmJ2TKl4TN40BAeri-HD",
          "cachedResultName": "Resume"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "rEUMr90NJv8PD8bc",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "c78b7099-9c77-4ade-92b3-0677c5675dd1",
      "name": "폼 트리거",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1344,
        112
      ],
      "webhookId": "285117be-9acd-496f-8320-866d6124a9fe",
      "parameters": {
        "path": "resume-builder",
        "options": {},
        "formTitle": "resume builder",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Paste Resume text",
              "placeholder": "Resume plain text"
            },
            {
              "fieldType": "file",
              "fieldLabel": "Upload Resume PDF",
              "multipleFiles": false,
              "requiredField": true,
              "acceptFileTypes": ".pdf"
            },
            {
              "fieldType": "file",
              "fieldLabel": "Upload JD PDF",
              "multipleFiles": false,
              "requiredField": true,
              "acceptFileTypes": ".pdf"
            }
          ]
        },
        "responseMode": "lastNode"
      },
      "typeVersion": 1
    },
    {
      "id": "45e99a17-500f-4d4d-9c95-42a28c586427",
      "name": "이력서 추출1",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -400,
        112
      ],
      "parameters": {
        "options": {},
        "operation": "pdf",
        "binaryPropertyName": "={{ Object.keys($binary)[0] }}"
      },
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "825fd050-286c-4d9b-982a-b2028709e11b",
      "name": "단일 바이너리 파일 처리1",
      "type": "n8n-nodes-base.code",
      "position": [
        -848,
        112
      ],
      "parameters": {
        "jsCode": "let results = [];\n\nfor (let item of items) {\n    if (item.binary) {\n        // If there's binary data in the item, process each binary file\n        for (let key in item.binary) {\n            // Use the key as the file name\n            let binaryKey = key.replace(/\\s/g, 'Upload_Resume_PDF'); // Replace spaces with underscores for the key\n            results.push({\n                json: {\n                    fileName: binaryKey\n                },\n                binary: {\n                    [binaryKey]: item.binary[key] // Use the modified key for the binary data\n                }\n            });\n        }\n    }\n}\n\nreturn results;"
      },
      "typeVersion": 2
    },
    {
      "id": "86c96480-6969-4ea3-a839-8f235eb5c10c",
      "name": "이력서 + JD 병합1",
      "type": "n8n-nodes-base.code",
      "position": [
        48,
        112
      ],
      "parameters": {
        "jsCode": "return [\n  {\n    json: {\n      merged: $json.text + \" \" + $item(1).$json[\"text\"]\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "84779a64-ecb1-4bf9-b9c3-bd968b3b47cf",
      "name": "이력서 맞춤화1",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        528,
        112
      ],
      "parameters": {
        "model": "sonar-reasoning",
        "options": {},
        "messages": {
          "message": [
            {
              "role": "system",
              "content": "=System (paste exactly as-is):\n\nYou are a professional resume writer. Build a single, ATS-friendly resume by combining and aligning the candidate’s resume with the job description contained in:\n{{ $json.merged }}\n\nRules for content:\n\nTailor the resume to the JD while staying truthful to the candidate’s information. Prioritize skills/keywords the JD demands. Rephrase; do not invent facts.\n\nOmit sections that have no data instead of adding placeholders.\n\nPrefer the candidate’s details when resume and JD conflict; only adjust wording to match JD terminology.\n\nRules for layout & style:\n\nOutput one valid HTML document only (no Markdown, no code fences, no JSON, no citations, no comments, no <think> or similar tags, no text before or after).\n\nUse inline CSS inside <style> in the <head>; no external assets (fonts, scripts, images, icons, tables).\n\nPlain white background, black text, font: Arial, sans-serif.\n\nPage-friendly margins (32–40px), single-column layout, consistent spacing.\n\nName at top center, bold, ~26–30px. Contact line centered beneath, smaller.\n\nSection titles (Summary, Skills, Experience, Projects, Education, Certifications, Links) left-aligned, bold, ~18–20px, with clear top margin.\n\nUse <ul><li> bullet points for skills and achievements. In Experience/Projects, show role/company/location/dates, then concise accomplishment bullets (use metrics where present).\n\nKeep it clean and ATS-safe: no colors, graphics, or fancy layouts.\n\nOutput requirement (critical):\nReturn only:\n\n<!DOCTYPE html>\n<html>…full document with inline <style>…</html>"
            },
            {
              "content": "=Final User Prompt (Strict Version):\n\nYou are a professional resume writer.\nYour task is to generate a single ATS-friendly resume in plain HTML and CSS only.\n\nInput data (resume + job description) is provided here:\n{{ $json.merged }}\n\nMandatory Guidelines (must follow exactly):\n\nOutput only valid HTML and CSS wrapped inside <html>...</html>. No explanations, comments, or extra text outside the HTML.\n\nThe resume must be clean, minimal, and professional:\n\nWhite background, black text, single font (Arial, sans-serif).\n\nCandidate’s full name: top center, bold, font size 26–30px.\n\nContact information: below name, centered, smaller font.\n\nSection titles (Skills, Certifications, Projects, Experience, Education, etc.): bold, left-aligned, font size 18–20px.\n\nUse bullet points for lists (skills, certifications, responsibilities, achievements).\n\nMaintain consistent spacing (margin-top for sections, padding inside lists).\n\nNo colors, tables, or unnecessary design elements.\n\nResume must combine the resume and job description into a single tailored version that best fits the target role.\n\nThe output must be ATS-optimized (clean structure, clear hierarchy, no hidden elements).\n\nDo not include placeholders like <think>, comments, or explanations. Only deliver the final HTML + CSS resume."
            }
          ]
        },
        "simplify": true,
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "id": "jfeGy5zFESdZPlAv",
          "name": "Perplexity account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bda8efee-e4a6-4c00-86e9-dd9c8fd0ac07",
      "name": "HTML 형식1",
      "type": "n8n-nodes-base.code",
      "position": [
        1184,
        112
      ],
      "parameters": {
        "jsCode": "// Get the response from Perplexity\nconst response = $json.message || $json.content || $json.text;\n\n// Extract content between <html> and </html> tags\nconst htmlMatch = response.match(/<html[\\s\\S]*?<\\/html>/i);\n\nif (htmlMatch) {\n  // Found HTML content - now remove all \\n characters\n  const cleanHtml = htmlMatch[0].replace(/\\n/g, '');\n  \n  return [{\n    json: {\n      cleanedResponse: cleanHtml,\n      originalResponse: response\n    }\n  }];\n} else {\n  // No HTML found, return original\n  return [{\n    json: {\n      cleanedResponse: response,\n      originalResponse: response,\n      error: \"No HTML tags found in response\"\n    }\n  }];\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "d9a5f53e-6683-4311-9d3b-790097efbb88",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1536,
        -480
      ],
      "parameters": {
        "color": 3,
        "width": 480,
        "height": 784,
        "content": "## Form Trigger Node Summary\n\nThe **Form Trigger** node in the *ATS Resume Maker according to JD* workflow initiates the process by providing a web form for users to submit their resume (text or PDF) and a job description (JD) PDF.\n\n- **Purpose**: Collects user inputs to start the resume tailoring process.\n- **Key Functions**:\n  - Creates a form at the path *resume-builder* with the title *resume builder*.\n  - Captures:\n    1. Optional plain text resume input.\n    2. Required resume PDF upload (accepts *.pdf* only).\n    3. Required JD PDF upload (accepts *.pdf* only).\n  - Uses *lastNode* response mode to wait for the workflow to complete.\n- **Output**: Sends text and binary (PDF) data to the next node (*Process one binary file1*).\n- **Role**: Acts as the workflow’s entry point, enabling user interaction.\n\n*Note*: This node is critical for gathering the raw data needed to generate an ATS-friendly resume. For more on n8n nodes, see [n8n Docs](https://.docs.n8n.io/workflows/components/)."
      },
      "typeVersion": 1
    },
    {
      "id": "c4c9e712-f353-460c-91d2-848ab373309f",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        880
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5de48c59-3453-4083-a31e-676294205864",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -480
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "height": 784,
        "content": "## Extracting resume1 Node Summary\n\nThe **Extracting resume1** node in the *ATS Resume Maker according to JD* workflow extracts text from the binary PDF files (resume and JD) processed by the *Process one binary file1* node.\n\n- **Purpose**: Converts PDF files into readable text for further processing.\n- **Key Functions**:\n  - Uses the *pdf* operation to extract text from the binary data.\n  - Dynamically selects the binary file using the expression `={{ Object.keys($binary)[0] }}` to target the first available binary key.\n- **Output**: Text extracted from the PDFs, passed to the *Merge Resume + JD1* node.\n- **Role**: Enables the workflow to access the content of the resume and JD for tailoring.\n\n*Note*: This node is crucial for transforming PDF inputs into text that can be merged and customized. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes."
      },
      "typeVersion": 1
    },
    {
      "id": "46541729-54be-45f5-ba91-a1b294e854f3",
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        -480
      ],
      "parameters": {
        "color": 2,
        "width": 480,
        "height": 784,
        "content": "## Process one binary file1 Node Summary\n\nThe **Process one binary file1** node in the *ATS Resume Maker according to JD* workflow processes the binary data (PDF files) submitted through the *Form Trigger* node.\n\n- **Purpose**: Organizes and renames binary files (resume and JD PDFs) for further processing.\n- **Key Functions**:\n  - Uses JavaScript to iterate through input items and identify binary data (PDFs).\n  - Replaces spaces in binary file keys with *Upload_Resume_PDF* for consistent naming.\n  - Outputs:\n    1. JSON with the modified *fileName*.\n    2. Binary data mapped to the new key (e.g., *Upload_Resume_PDF*).\n- **Output**: Structured binary data passed to the *Extracting resume1* node for text extraction.\n- **Role**: Ensures clean, standardized file naming for downstream nodes.\n\n*Note*: This node prepares user-uploaded PDFs for text extraction, maintaining workflow efficiency. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes."
      },
      "typeVersion": 1
    },
    {
      "id": "00a054b3-a973-418c-840d-0796cc288b98",
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -480
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 784,
        "content": "## Merge Resume + JD1 Node Summary\n\nThe **Merge Resume + JD1** node in the *ATS Resume Maker according to JD* workflow combines the extracted text from the candidate’s resume and the job description (JD) into a single text string.\n\n- **Purpose**: Merges resume and JD text to prepare for tailored resume generation.\n- **Key Functions**:\n  - Uses JavaScript to concatenate the resume text (`$json.text`) and JD text (`$item(1).$json[\"text\"]`) with a space separator.\n  - Outputs a single JSON object with a *merged* field containing the combined text.\n- **Output**: A unified text string passed to the *Customize resume1* node for further processing.\n- **Role**: Ensures both resume and JD content are combined for ATS-friendly customization.\n\n*Note*: This node sets the stage for tailoring the resume by providing a single text input. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n\n*Timestamp*: 02:37 PM IST, Wednesday, August 20, 2025"
      },
      "typeVersion": 1
    },
    {
      "id": "cc1cd2d7-3315-4897-bc56-8d0d2c6606b4",
      "name": "스티키 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        -480
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 784,
        "content": "## AI Perplexity Node Summary\n\nThe **Customize resume1** node in the *ATS Resume Maker according to JD* workflow uses the *Perplexity AI* model to generate an ATS-friendly resume by tailoring the merged resume and job description (JD) text into a structured HTML format.\n\n- **Purpose**: Leverages *Perplexity AI* to create a customized, ATS-optimized resume based on the merged input.\n- **Key Functions**:\n  - Employs the *sonar-reasoning* model to process the combined text (`$json.merged`) from the previous node.\n  - *Perplexity AI* follows strict instructions to:\n    - Produce valid HTML with inline CSS (Arial, sans-serif, black text, white background).\n    - Structure the resume with the candidate’s name (bold, 26–30px, centered), contact info, and sections like Skills, Experience, and Education using bullet points.\n    - Prioritize JD keywords while rephrasing truthfully, avoiding invented facts.\n    - Ensure ATS compatibility by using a clean, single-column layout without colors or graphics.\n- **Output**: HTML resume content passed to the *HTML format1* node for further processing.\n- **Role**: Relies on *Perplexity AI* to intelligently align the resume with the JD, ensuring relevance and scannability.\n\n*Note*: The *Perplexity AI* model is central to tailoring the resume, making it both professional and ATS-friendly. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e5c8c302-9207-46bb-9151-8dd1edfa445a",
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -480
      ],
      "parameters": {
        "width": 592,
        "height": 784,
        "content": "## HTML format1 Node Summary\n\nThe **HTML format1** node in the *ATS Resume Maker according to JD* workflow processes the HTML resume generated by the *Customize resume1* node to ensure it is clean and properly formatted.\n\n- **Purpose**: Cleans and formats the HTML output from the Perplexity AI model for downstream use.\n- **Key Functions**:\n  - Uses JavaScript to extract the content between `<html>` and `</html>` tags from the AI’s response (`$json.message`, `$json.content`, or `$json.text`).\n  - Removes all newline characters (`\\n`) from the HTML to create a compact, single-line string.\n  - Outputs a JSON object with:\n    - *cleanedResponse*: The cleaned HTML content.\n    - *originalResponse*: The original AI response.\n    - *error*: A message if no HTML tags are found.\n- **Output**: Cleaned HTML passed to the *HTML3* and *HTML to PDF* nodes for further processing.\n- **Role**: Ensures the HTML resume is properly formatted and free of unwanted characters for conversion to PDF.\n\n*Note*: This node refines the AI-generated HTML for consistency and compatibility with subsequent nodes. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n\n*Timestamp*: 02:42 PM IST, Wednesday, August 20, 2025"
      },
      "typeVersion": 1
    },
    {
      "id": "b8d0caab-6392-4123-a180-d33665cd4c54",
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        640
      ],
      "parameters": {
        "color": 3,
        "width": 448,
        "height": 480,
        "content": "## Generate HTML Preview Node Summary\n\nThe **HTML3** node in the *ATS Resume Maker according to JD* workflow processes the cleaned HTML resume output from the *HTML format1* node for further handling or validation.\n\n- **Purpose**: Handles the formatted HTML resume to prepare it for potential display or additional processing.\n- **Key Functions**:\n  - Receives the cleaned HTML content (`$json.cleanedResponse`) from the *HTML format1* node.\n  - Uses the `n8n-nodes-base.html` node (version 1.2) to process the HTML, likely for rendering, validation, or storage purposes.\n- **Output**: The processed HTML, which may be used for visualization or debugging (specific output depends on workflow context).\n- **Role**: Acts as a processing step for the HTML resume, ensuring it’s ready for any additional use cases, such as display or logging.\n\n*Note*: This node ensures the HTML resume is properly handled before final output or conversion. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "dbe2e4c3-cb5d-4f04-84ed-8071cee8904b",
      "name": "HTML 미리보기",
      "type": "n8n-nodes-base.html",
      "position": [
        1344,
        480
      ],
      "parameters": {
        "html": "{{ $json.cleanedResponse }}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "438498a1-ea92-4b2e-833d-76b05cc25139",
      "name": "스티키 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -480
      ],
      "parameters": {
        "color": 3,
        "width": 416,
        "height": 784,
        "content": "## HTML to PDF Node Summary\n\nThe **HTML to PDF** node in the *ATS Resume Maker according to JD* workflow converts the cleaned HTML resume from the *HTML format1* node into a PDF file.\n\n- **Purpose**: Generates a PDF version of the tailored, ATS-friendly resume.\n- **Key Functions**:\n  - Uses the `@custom-js/n8n-nodes-pdf-toolkit.html2Pdf` node (version 1) to convert the HTML content (`$json.cleanedResponse`) into a PDF.\n  - Relies on credentials for a *CustomJS account* to access the PDF conversion service.\n- **Output**: A binary PDF file passed to the *Upload file* node for storage.\n- **Role**: Transforms the HTML resume into a downloadable PDF format, completing the resume creation process.\n\n*Note*: This node finalizes the resume as a PDF, making it ready for user download or storage. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "28c9b45a-9508-459a-94a1-a183c8a14280",
      "name": "스티키 노트9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1936,
        -480
      ],
      "parameters": {
        "color": 5,
        "width": 480,
        "height": 784,
        "content": "## Upload file Node Summary\n\nThe **Upload file** node in the *ATS Resume Maker according to JD* workflow uploads the generated PDF resume to Google Drive.\n\n- **Purpose**: Stores the ATS-friendly resume PDF in a specified Google Drive folder.\n- **Key Functions**:\n  - Uses the `n8n-nodes-base.googleDrive` node (version 3) to upload the PDF file.\n  - Configured to save the file as *NEW_RESUNME* in the *Resume* folder (`1vzNpRjBe1ylcLmJ2TKl4TN40BAeri-HD`) on *My Drive*.\n  - Authenticates using a *Google Drive account* credential.\n- **Output**: Confirmation of the file upload to Google Drive, completing the workflow.\n- **Role**: Ensures the final resume PDF is saved to the user’s Google Drive for easy access.\n\n*Note*: This node finalizes the workflow by storing the tailored resume PDF in a designated cloud location. See [n8n Docs](https://docs.n8n.io/workflows/components/) for more on n8n nodes.\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "51d3f7e1-1c0e-41d2-9a2e-de31374df1e9",
  "connections": {
    "7f200ac3-741e-4c81-af61-b798c317801e": {
      "main": [
        [
          {
            "node": "d6b2bfdf-b0e3-4477-a340-d97235f0ed92",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c78b7099-9c77-4ade-92b3-0677c5675dd1": {
      "main": [
        [
          {
            "node": "825fd050-286c-4d9b-982a-b2028709e11b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bda8efee-e4a6-4c00-86e9-dd9c8fd0ac07": {
      "main": [
        [
          {
            "node": "dbe2e4c3-cb5d-4f04-84ed-8071cee8904b",
            "type": "main",
            "index": 0
          },
          {
            "node": "7f200ac3-741e-4c81-af61-b798c317801e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "84779a64-ecb1-4bf9-b9c3-bd968b3b47cf": {
      "main": [
        [
          {
            "node": "bda8efee-e4a6-4c00-86e9-dd9c8fd0ac07",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45e99a17-500f-4d4d-9c95-42a28c586427": {
      "main": [
        [
          {
            "node": "86c96480-6969-4ea3-a839-8f235eb5c10c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "86c96480-6969-4ea3-a839-8f235eb5c10c": {
      "main": [
        [
          {
            "node": "84779a64-ecb1-4bf9-b9c3-bd968b3b47cf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "825fd050-286c-4d9b-982a-b2028709e11b": {
      "main": [
        [
          {
            "node": "45e99a17-500f-4d4d-9c95-42a28c586427",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수19
카테고리1
노드 유형8
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34