{ "id": "xQ0xqhNzFeEdBpFK", "meta": { "instanceId": "workflow-21a9687b", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:50.768456", "updatedAt": "2025-09-29T07:07:50.768483", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Generate 360° Virtual Try-on Videos for Clothing with Kling API", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "978b4ac4-0357-4d2b-8a02-7da04e6f3f1f", "name": "When clicking ‘Test workflow’", "type": "n8n-nodes-base.manualTrigger", "position": [ 160, 140 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "id": "54d1c23f-3a13-4ec0-9b3b-3806e5faae18", "name": "Kling Virtual Try-On Task", "type": "n8n-nodes-base.httpRequest", "position": [ 620, 140 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "jsonBody": "={\n \"model\": \"kling\",\n \"task_type\": \"ai_try_on\",\n \"input\": {\n \"model_input\": \"{{ $json.model_input }}\",\n \"dress_input\": \"{{ $json.dress_input }}\",\n \"upper_input\": \"{{ $json.upper_input }}\",\n \"lower_input\": \"{{ $json.lower_input }}\",\n \"batch_size\": 1\n }\n} ", "sendBody": true, "sendHeaders": true, "specifyBody": "json", "headerParameters": { "parameters": [ { "name": "x-api-key", "value": "={{ $json['x-api-key'] }}" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "5be9d932-c102-4a7e-b995-09c6bf17026c", "name": "Switch", "type": "n8n-nodes-base.switch", "position": [ 960, 200 ], "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, "notes": "This switch node performs automated tasks as part of the workflow." }, { "id": "cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4", "name": "Get Kling Video Task", "type": "n8n-nodes-base.httpRequest", "position": [ 1180, 440 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "x-api-key", "value": "={{ $('Preset Parameters').item.json['x-api-key'] }}" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "3e794d14-b55f-4936-90af-8237977d6635", "name": "Generate kling video", "type": "n8n-nodes-base.httpRequest", "position": [ 1140, 200 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "jsonBody": "={\n \"model\": \"kling\",\n \"task_type\": \"video_generation\",\n \"input\": {\n \"version\": \"1.6\",\n \"image_url\": \"{{ $json.data.output.works[0].image.resource }}\",\n \"prompt\": \"{{ $('Preset Parameters').item.json.generate_video_prompt }}\"\n }\n} ", "sendBody": true, "sendHeaders": true, "specifyBody": "json", "headerParameters": { "parameters": [ { "name": "x-api-key", "value": "={{ $('Preset Parameters').item.json['x-api-key'] }}" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "3ae849b2-4bd4-454f-a759-e44a9736100d", "name": "Preset Parameters", "type": "n8n-nodes-base.set", "position": [ 380, 140 ], "parameters": { "mode": "raw", "options": {}, "jsonOutput": "{\n \"x-api-key\":\"\",\n \"model_input\": \"\",\n \"dress_input\": \"\",\n \"upper_input\":\"\",\n \"lower_input\":\"\",\n \"generate_video_prompt\": \"Walk on the catwalk, turn around, and finally stand still and pose\"\n}\n" }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "18c606e3-82e2-4c09-a87e-6bbc71363c1c", "name": "Get Kling Virtual Try-On Task", "type": "n8n-nodes-base.httpRequest", "position": [ 420, 460 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "x-api-key", "value": "={{ $('Preset Parameters').item.json['x-api-key'] }}" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "becf3d7b-d468-4b4a-b22f-d6d747e52664", "name": "Check Data Status", "type": "n8n-nodes-base.if", "position": [ 640, 460 ], "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, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "d8ec251d-d47c-4341-909d-abdea385c1f9", "name": "Wait for Image Generation", "type": "n8n-nodes-base.wait", "position": [ 160, 460 ], "webhookId": "af79053d-1291-4dd2-889e-4593dbbb2512", "parameters": {}, "typeVersion": 1.1, "notes": "This wait node performs automated tasks as part of the workflow." }, { "id": "88e3067f-0b1f-472a-937b-926c6d208453", "name": "Wait for Video Generation", "type": "n8n-nodes-base.wait", "position": [ 920, 440 ], "webhookId": "af79053d-1291-4dd2-889e-4593dbbb2512", "parameters": {}, "typeVersion": 1.1, "notes": "This wait node performs automated tasks as part of the workflow." }, { "id": "36d75678-918f-42c5-97a7-7a13d1eacbd4", "name": "Check Video Data Status", "type": "n8n-nodes-base.switch", "position": [ 1560, 180 ], "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, "notes": "This switch node performs automated tasks as part of the workflow." }, { "id": "7356d963-83c0-47a1-a728-9191f66d2f57", "name": "Get Video Data Status", "type": "n8n-nodes-base.if", "position": [ 1400, 440 ], "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, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "9ef52637-ccc9-4817-8c14-5c54fa0af178", "name": "Get Final Video URL", "type": "n8n-nodes-base.set", "position": [ 1760, 180 ], "parameters": { "mode": "raw", "options": {}, "jsonOutput": "={\n \"video_url\": \"{{ $json.data.output.video_url }}\"\n}\n " }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "9a0194bd-59a5-45b1-a6e2-db0605eb4d7a", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 140, -120 ], "parameters": { "width": 460, "height": 220, "content": "## Generate 360° Virtual Try-on Videos for Clothing with Kling API (unofficial)\nThis tool is designed for e-commerce platforms, fashion brands, content creators, and content influencers. By uploading model and clothing images and linking your PiAPI account, you can swiftly generate a realistic video of the model sporting the outfit with a 360° turn, offering an immersive viewing experience." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "629697ae-cd49-4e8e-953d-a2f091ed9202", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 120, 700 ], "parameters": { "width": 340, "height": 200, "content": "## Generate Virtual Try-on Image\nUpload model url, users have two solutions to upload clothing url: \n1. Upload `dress_input`\n2. Upload 'upper_input` and 'lower_input`" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "710bd0f0-8b5a-469a-8b31-b6f738dc7f79", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 1640, 460 ], "parameters": { "width": 340, "content": "## Generate Final Video \nWait for generation and get the output url in the final node." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "97ee31dd-b8be-4b37-bbed-363ac35d5268", "connections": { "54d1c23f-3a13-4ec0-9b3b-3806e5faae18": { "main": [ [ { "node": "error-handler-54d1c23f-3a13-4ec0-9b3b-3806e5faae18", "type": "main", "index": 0 } ], [ { "node": "error-handler-54d1c23f-3a13-4ec0-9b3b-3806e5faae18-f1f827d5", "type": "main", "index": 0 } ], [ { "node": "error-handler-54d1c23f-3a13-4ec0-9b3b-3806e5faae18-2140745d", "type": "main", "index": 0 } ], [ { "node": "error-handler-54d1c23f-3a13-4ec0-9b3b-3806e5faae18-95df26d2", "type": "main", "index": 0 } ], [ { "node": "error-handler-54d1c23f-3a13-4ec0-9b3b-3806e5faae18-08204719", "type": "main", "index": 0 } ] ] }, "cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4": { "main": [ [ { "node": "error-handler-cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4", "type": "main", "index": 0 } ], [ { "node": "error-handler-cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4-daca74db", "type": "main", "index": 0 } ], [ { "node": "error-handler-cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4-b1135b79", "type": "main", "index": 0 } ], [ { "node": "error-handler-cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4-4b55e912", "type": "main", "index": 0 } ], [ { "node": "error-handler-cdda4f40-1580-4a5a-a7f4-f1e4fbf7ceb4-3b608e60", "type": "main", "index": 0 } ] ] }, "3e794d14-b55f-4936-90af-8237977d6635": { "main": [ [ { "node": "error-handler-3e794d14-b55f-4936-90af-8237977d6635", "type": "main", "index": 0 } ], [ { "node": "error-handler-3e794d14-b55f-4936-90af-8237977d6635-7d8ad3ea", "type": "main", "index": 0 } ], [ { "node": "error-handler-3e794d14-b55f-4936-90af-8237977d6635-2af3ce60", "type": "main", "index": 0 } ], [ { "node": "error-handler-3e794d14-b55f-4936-90af-8237977d6635-e3097285", "type": "main", "index": 0 } ], [ { "node": "error-handler-3e794d14-b55f-4936-90af-8237977d6635-f0a878f8", "type": "main", "index": 0 } ] ] }, "18c606e3-82e2-4c09-a87e-6bbc71363c1c": { "main": [ [ { "node": "error-handler-18c606e3-82e2-4c09-a87e-6bbc71363c1c", "type": "main", "index": 0 } ], [ { "node": "error-handler-18c606e3-82e2-4c09-a87e-6bbc71363c1c-2c629de8", "type": "main", "index": 0 } ], [ { "node": "error-handler-18c606e3-82e2-4c09-a87e-6bbc71363c1c-494d86a0", "type": "main", "index": 0 } ], [ { "node": "error-handler-18c606e3-82e2-4c09-a87e-6bbc71363c1c-e79e23dd", "type": "main", "index": 0 } ], [ { "node": "error-handler-18c606e3-82e2-4c09-a87e-6bbc71363c1c-a556e992", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Generate 360° Virtual Try-on Videos for Clothing with Kling API. This workflow integrates 8 different services: stickyNote, httpRequest, wait, switch, set. It contains 24 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Generate 360° Virtual Try-on Videos for Clothing with Kling API. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }