ヘアスタイルプレビュー出力

中級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、8個のノードを含みます。主にWebhook, FormTrigger, HttpRequest, ConvertToFileなどのノードを使用。 OpenAIベースのAIヘアスタイルプレビュージェネレーターとLINEグループ共有

前提条件
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "3nvbG23fEvkCCBSy",
  "meta": {
    "instanceId": "9101df148a9ab5ba09dd343a0c584806dbd6c3b74e74be8e97699184269b6877",
    "templateCredsSetupCompleted": true
  },
  "name": "export_hairstyle-preview",
  "tags": [],
  "nodes": [
    {
      "id": "b6cf5de7-a5ef-47ae-9423-1c4afe97888e",
      "name": "フォーム送信時",
      "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": "画像を作成",
      "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": "ファイルに変換",
      "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": "画像をアップロード",
      "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": "付箋",
      "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": "付箋1",
      "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
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - コンテンツ作成, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

dian-memo_03のエクスポート
AI音声とテキストノート - LINEメッセージ、Supabaseベクトルデータベース、Gmailの統合
If
Set
Code
+
If
Set
Code
30 ノードkote2
AI RAG検索拡張
Instagramの趨勢電卓ブックからSEOコンテンツを生成して保存(SharePoint/Drive/Dropbox)
GPT-4o、FAL AI、複数ストレージによるトレンドの自動SEOコンテンツ生成
If
Set
Code
+
If
Set
Code
47 ノードplemeo
コンテンツ作成
開発完了 - Veo3を使って商品広告を生成
AI動画広告生成にはGoogle Veo 3、Gemini、Airtableを活用しましょう
Code
Form
Wait
+
Code
Form
Wait
16 ノードIntuz
コンテンツ作成
OpenAI、RunwayML、ElevenLabsを使って無顔の短い動画を自動化
OpenAI、RunwayML、ElevenLabs を使ってアニメ顔の短い動画を自動化:スクリプトからソーシャルメディアへ
Set
Code
Wait
+
Set
Code
Wait
56 ノードLeeWei
コンテンツ作成
WordPressブログの自動化プロフェッショナル版(先端研究)v2.1マーケットプラグイン
GPT-4o、Perplexity AI、そして多言語対応を使ったSEO最適化ブログ作成の自動化
If
Set
Xml
+
If
Set
Xml
125 ノードDaniel Ng
コンテンツ作成
OpenAI、ElevenLabs、Fal.ai を使用した動画・パ odcast・ASM R向けのウイルス性コンテンツ自動作成
OpenAI、ElevenLabs、そして Fal.ai を使って動画、ポッドキャスト、ASMR に向けたウイルスのコンテンツ作成を自動化
Set
Code
Wait
+
Set
Code
Wait
97 ノードAdam Crafts
コンテンツ作成
ワークフロー情報
難易度
中級
ノード数8
カテゴリー2
ノードタイプ5
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
kote2

kote2

@kote2

I 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!

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34