Frisuren-Vorschau-Export
Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 8 Nodes. Hauptsächlich werden Webhook, FormTrigger, HttpRequest, ConvertToFile und andere Nodes verwendet. KI-Frisuren-Vorschau-Generator basierend auf OpenAI mit LINE-Gruppenfreigabe
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (8)
Kategorie
{
"id": "3nvbG23fEvkCCBSy",
"meta": {
"instanceId": "9101df148a9ab5ba09dd343a0c584806dbd6c3b74e74be8e97699184269b6877",
"templateCredsSetupCompleted": true
},
"name": "export_hairstyle-preview",
"tags": [],
"nodes": [
{
"id": "b6cf5de7-a5ef-47ae-9423-1c4afe97888e",
"name": "Bei Formularübermittlung",
"type": "n8n-nodes-base.formTrigger",
"position": [
-144,
0
],
"webhookId": "3445cfdf-3bc9-4548-bd5c-bf5d20e7b089",
"parameters": {
"options": {},
"formTitle": "Hairstyle Preview",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "pic",
"multipleFiles": false,
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "content",
"requiredField": true
}
]
},
"authentication": "basicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "2Xi9J8KKgilhioyb",
"name": "Unnamed credential"
}
},
"typeVersion": 2.2
},
{
"id": "ebb4764a-c163-4d9b-a2b7-65d64e1f4acd",
"name": "Bild erstellen",
"type": "n8n-nodes-base.httpRequest",
"position": [
96,
0
],
"parameters": {
"url": "https://api.openai.com/v1/images/edits",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "prompt",
"value": "=Keep the person's face exactly the same as in the input image. Do not alter or replace the face. \nOnly modify the hairstyle. Make sure the hairstyle looks natural and realistic. \nThe overall identity of the person must remain unchanged.\n\nUser request: {{ $json.content }}"
},
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "size",
"value": "1024x1536"
},
{
"name": "image",
"parameterType": "formBinaryData",
"inputDataFieldName": "pic"
},
{
"name": "quality",
"value": "high"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "mO23EZGRXh9cFi9G",
"name": "OpenAi account 2"
}
},
"typeVersion": 4.2
},
{
"id": "1156faf1-46ee-45ab-ac91-0325f735be62",
"name": "In Datei konvertieren",
"type": "n8n-nodes-base.convertToFile",
"position": [
336,
0
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "ae98386d-cc94-49dd-a8dd-7a042f976fd8",
"name": "Bild hochladen",
"type": "n8n-nodes-base.httpRequest",
"position": [
592,
0
],
"parameters": {
"url": "https://api.cloudinary.com/v1_1/{{CLOUDINARY_CLOUD_NAME}}/image/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
},
{
"name": "upload_preset",
"value": "{{CLOUDINARY_UPLOAD_PRESET}}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "399838c0-b325-4f28-bf43-ff45a54d54aa",
"name": "LINE output",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
0
],
"parameters": {
"url": "https://api.line.me/v2/bot/message/push",
"method": "POST",
"options": {},
"jsonBody": "={\n\"to\": \"{{LINE_GROUP_ID}}\",\n\"messages\": [\n{\n \"type\": \"image\",\n \"originalContentUrl\": \"{{ $json.secure_url }}\",\n \"previewImageUrl\": \"{{ $json.secure_url }}\"\n}\n]\n} ",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{LINE_CHANNEL_TOKEN}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "71b229c4-bbf4-4b1a-a463-9898f7a2dee5",
"name": "LINE input",
"type": "n8n-nodes-base.webhook",
"position": [
-16,
448
],
"webhookId": "01d98d79-2c96-4a75-a4e1-b2faddb8d0a6",
"parameters": {
"path": "01d98d79-2c96-4a75-a4e1-b2faddb8d0a6",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "2d679cdf-83b1-4a32-9a15-08ad8ee93de1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-128
],
"parameters": {
"color": 5,
"width": 560,
"height": 896,
"content": "# Hairstyle Preview & LINE Group Share\n\n### Overview\n\nThis workflow takes an **image + instruction text** from an n8n Form, edits **only the hairstyle** while **keeping the face unchanged**, uploads the result to **Cloudinary**, and **pushes** the image to a designated **LINE group**. It’s designed for salons or creative teams that need quick, consistent “hair-only” edits and one-click sharing to a staff group.\n\n### Key Features\n\n* Accepts image and free-form instructions via **n8n Forms**\n* Enforces **identity preservation**: face is not altered; **only the hairstyle** is modified\n* Uses **OpenAI Image Edit** to generate the edited image\n* Uploads the output to **Cloudinary** and returns a public URL\n* Sends the final image to a **LINE group** via the **Push API** (no `replyToken` required)\n* Optional safety: store the **groupId** once (via webhook) in n8n **Data Store** and reuse it, avoiding mis-sending to individuals\n\n### Requirements\n\n* OpenAI API key (Image Edit capable model)\n* Cloudinary account with an **unsigned** `upload_preset`\n* LINE Official Account (Messaging API enabled) and the bot **added to the target group** (to capture `groupId` once)\n* n8n with **Forms** enabled and **Data Store** available\n\n### Notes\n\n* Replace placeholders like `CLOUDINARY_CLOUD_NAME`, `CLOUDINARY_UPLOAD_PRESET`, `LINE_CHANNEL_TOKEN`, and `LINE_GROUP_ID` with your values.\n"
},
"typeVersion": 1
},
{
"id": "49d75f49-9a26-47a4-ae78-37f5db81b08d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
224
],
"parameters": {
"color": 3,
"width": 464,
"height": 384,
"content": "## Please use this node to find out the LINE group ID\n- Invite the bot to a group, then send any message.\n- This webhook will capture the event, and the JSON payload will include source.groupId.\n- Copy and save this value for later use.\n- **⚠️You can safely delete this node after retrieving the group ID.**"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7b478bb1-7e58-47aa-be3e-f002aa8e404a",
"connections": {
"ebb4764a-c163-4d9b-a2b7-65d64e1f4acd": {
"main": [
[
{
"node": "1156faf1-46ee-45ab-ac91-0325f735be62",
"type": "main",
"index": 0
}
]
]
},
"ae98386d-cc94-49dd-a8dd-7a042f976fd8": {
"main": [
[
{
"node": "399838c0-b325-4f28-bf43-ff45a54d54aa",
"type": "main",
"index": 0
}
]
]
},
"1156faf1-46ee-45ab-ac91-0325f735be62": {
"main": [
[
{
"node": "ae98386d-cc94-49dd-a8dd-7a042f976fd8",
"type": "main",
"index": 0
}
]
]
},
"b6cf5de7-a5ef-47ae-9423-1c4afe97888e": {
"main": [
[
{
"node": "ebb4764a-c163-4d9b-a2b7-65d64e1f4acd",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Content-Erstellung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
kote2
@kote2I share practical examples and ideas for AI automation using tools like n8n, explained in a way that’s easy for beginners to understand. While Dify is currently more well-known in Japan, n8n complements it and is expected to gain even more attention in the future. This channel aims to be a practical guide you can rely on when that wave of popularity arrives. That said, I’m still learning too—so let’s learn and grow together!
Diesen Workflow teilen