{"id":"bQJuF8cpe6EMZX7U","meta":{"instanceId":"0283758dc0335e9b1b2218a449f9bf44fcd77a14164b1c6c2f38f248bc8cd58a","templateCredsSetupCompleted":true},"name":"create-anonymization-task","tags":[],"nodes":[{"id":"ae467417-1a90-450a-b282-e5cd05ef19e9","name":"Set Auth Config","type":"n8n-nodes-base.set","position":[816,288],"parameters":{"values":{"string":[{"name":"BASE_URL","value":"https://api.services.wassa.io"},{"name":"CLIENT_ID","value":"[REPLACE_BY_YOUR_CLIENT_ID]"},{"name":"SECRET_ID","value":"[REPLACE_BY_YOUR_SECRET_ID]"}]},"options":{}},"typeVersion":2},{"id":"32e7df45-69a9-4998-9713-a26d8522bd96","name":"Auth Get Token","type":"n8n-nodes-base.httpRequest","position":[960,288],"parameters":{"url":"={{$json.BASE_URL}}/login","options":{},"requestMethod":"POST","jsonParameters":true,"bodyParametersJson":"={\"clientId\": \"{{$json.CLIENT_ID}}\",\"secretId\": \"{{$json.SECRET_ID}}\"}"},"typeVersion":2,"alwaysOutputData":false},{"id":"fed4c630-601e-4619-b9cc-f9bd65b22971","name":"Upload Input File","type":"n8n-nodes-base.formTrigger","position":[624,448],"webhookId":"6afa917a-f6c6-459c-907c-ec8cfa950703","parameters":{"path":"6afa917a-f6c6-459c-907c-ec8cfa950703","options":{},"formTitle":"Media Upload Form","formFields":{"values":[{"fieldType":"file","fieldLabel":"input_media","multipleFiles":false,"requiredField":true}]},"formDescription":"Upload an image or video for anonymization"},"typeVersion":1},{"id":"cf4538de-73ed-4fb2-b0b5-c046c6b628e4","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[368,192],"parameters":{"color":4,"width":384,"height":384,"content":"### File Upload  \n\nAfter launching **⚡️Execute Workflow**, click one of the form links below to upload your input file, then return to the console (refesh page if needed).  \n\n- [Test Form](https://smowassa.app.n8n.cloud/webhook-test/6afa917a-f6c6-459c-907c-ec8cfa950703/n8n-form)  \n- [Production Form](https://smowassa.app.n8n.cloud/webhook/6afa917a-f6c6-459c-907c-ec8cfa950703/n8n-form)  \n\n*You can find these form URLs by **double-clicking** the **Upload Input File** node.*  \n"},"typeVersion":1},{"id":"43e5c518-b3ba-4839-acb1-bc69d6a790b0","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[784,80],"parameters":{"color":4,"width":304,"height":352,"content":"### Blurit Credentials  \n\nReplace the placeholders with your own **Client ID** and **Secret ID** by *double-clicking* the **Set Auth Config** node.  \n\nYou can find these credentials in the [BlurIt Developer](https://app.blurit.io/account/developer) section of your account.  \n"},"typeVersion":1},{"id":"c56a0ec8-ad6a-4d33-998e-d59490a8486c","name":"Create Blurit Task","type":"n8n-nodes-base.httpRequest","position":[1344,288],"parameters":{"url":"={{$(\"Set Auth Config\").item.json.BASE_URL}}/innovation-service/anonymization","method":"POST","options":{},"sendBody":true,"contentType":"multipart-form-data","sendHeaders":true,"bodyParameters":{"parameters":[{"name":"input_media","parameterType":"formBinaryData","inputDataFieldName":"input_media"},{"name":"activation_plates_blur","value":"true"},{"name":"activation_faces_blur","value":"true"},{"name":"blur_type","value":"{         \"anonymization_type\": \"blur\"     }"}]},"headerParameters":{"parameters":[{"name":"Authorization","value":"=Bearer {{$json.token}}"}]}},"typeVersion":4.2},{"id":"3cc4b2ec-14dd-4b20-8ffe-a208839e2638","name":"Merge","type":"n8n-nodes-base.merge","position":[1152,432],"parameters":{"mode":"combine","options":{},"combineBy":"combineAll"},"typeVersion":3},{"id":"7ad08d82-bc1a-4c93-9ed4-ad463187b59b","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1296,160],"parameters":{"color":4,"width":208,"height":272,"content":"### Create Task\nEdit blur configration by *double-clicking* the **Create Task** node and editing the *blur_type* field.\n"},"typeVersion":1},{"id":"c003f5a7-a250-4271-ab8e-a2b0f6d3c830","name":"Wait","type":"n8n-nodes-base.wait","position":[1552,432],"webhookId":"fb5f0603-0514-48ad-91b7-5e2c4acafc26","parameters":{"amount":2},"typeVersion":1.1},{"id":"4eea7063-81e5-4f63-ba6c-72dc5e31de6d","name":"Get Task Status","type":"n8n-nodes-base.httpRequest","position":[1696,432],"parameters":{"url":"={{$(\"Set Auth Config\").item.json.BASE_URL}}/innovation-service/anonymization","options":{},"sendQuery":true,"sendHeaders":true,"queryParameters":{"parameters":[{"name":"anonymization_job_id","value":"={{$('Create Blurit Task').item.json.anonymization_job_id }}"}]},"headerParameters":{"parameters":[{"name":"Authorization","value":"=Bearer {{$('Auth Get Token').item.json.token}}"}]}},"typeVersion":4.2},{"id":"c67633b9-bfca-42f1-adad-24d87e645eb4","name":"Switch","type":"n8n-nodes-base.switch","position":[1840,416],"parameters":{"rules":{"values":[{"outputKey":"Task Succeeded","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2cbc0844-dc59-439a-b90e-fef51c413faa","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"Succeeded"}]},"renameOutput":true},{"outputKey":"Task Failed","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"54f82732-ed63-4478-aa35-9451382a1d0d","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"Failed"}]},"renameOutput":true},{"outputKey":"Pending...","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0eea9e63-2399-4c79-aadb-96aa72cbd0ce","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.status }}","rightValue":""}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2},{"id":"e4ef17e2-bc23-4154-8b48-e23850ff372a","name":"Get Result File","type":"n8n-nodes-base.httpRequest","position":[2048,304],"parameters":{"url":"={{$(\"Get Task Status\").item.json.output_media}}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"=Bearer {{$('Auth Get Token').item.json.token}}"}]}},"typeVersion":4.2},{"id":"2fa91dfb-3efe-4ede-b8e0-c4e685432700","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[2032,160],"parameters":{"color":4,"height":272,"content":"### Get Result\nIf succeed, file result is present in Output *data* of this **Get Result File** Node.\nClick *View* or *Download* in Output Section.\n"},"typeVersion":1},{"id":"5e7383c0-60b4-47d0-bb1a-249aa8c01782","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-160,-80],"parameters":{"width":480,"height":960,"content":"![](https://res.cloudinary.com/dhtpkobg1/image/upload/v1757689724/logo_blurit_vxo83w.png)\n## Try It Out!\n### This n8n template demonstrates how to use [BlurIt](https://blurit.io) to anonymize faces and/or license plates in images or videos directly within your workflow.\n\nUse cases include: automatically anonymizing dashcam videos, securing photos before sharing them publicly, or ensuring compliance with privacy regulations like GDPR.\n\n### How it works\n* The workflow starts with a **Form Trigger** where you can upload your image or video file.\n* An **HTTP Request** node authenticates with the BlurIt API using your Client ID and Secret.\n* The file is then uploaded to BlurIt via an **HTTP Request** to create a new anonymization task.\n* A polling loop checks the task status until it succeeds.\n* Once complete, the anonymized media is retrieved and saved using a **Write Binary File** node.\n\n### How to use\n* Replace the placeholder credentials in the **Set Auth Config** node with your BlurIt Client ID and Secret (found in your [BlurIt Developer Dashboard](https://app.blurit.io/account/developer)).\n* Execute the workflow, open the provided form link, and upload an image or video.\n* The anonymized file will be written to your chosen output directory (or you can adapt the workflow to upload to cloud storage).\n\n### Requirements\n* A [BlurIt](https://blurit.io) account and valid API credentials (Client ID & Secret).\n* A running instance of n8n (cloud or self-hosted).\n* (Optional) Access to a shared folder or cloud storage service if you want to automate file delivery.\n\n### Need Help?\nContact us at support@blurit.io,  \nor visit the [BlurIt Documentation](https://doc-api.blurit.io/n8n-integration).\n\nHappy Coding!\n"},"typeVersion":1},{"id":"9033e9f1-c41a-4f22-9f02-e5b0099c14cb","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[464,624],"parameters":{"width":288,"height":256,"content":"## Image Input\n![](https://res.cloudinary.com/dhtpkobg1/image/upload/v1757689496/blurit-input_xm7ha8.jpg)"},"typeVersion":1},{"id":"51f28f7b-52d8-4cb1-ba42-243d81172659","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[2032,624],"parameters":{"width":288,"height":256,"content":"## Image Output\n![](https://res.cloudinary.com/dhtpkobg1/image/upload/v1757689502/blurit-output_zhwqxz.jpg)"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"a62b04be-8942-4dc7-8252-850b3ff0df01","connections":{"Wait":{"main":[[{"node":"Get Task Status","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Create Blurit Task","type":"main","index":0}]]},"Switch":{"main":[[{"node":"Get Result File","type":"main","index":0}],[],[{"node":"Wait","type":"main","index":0}]]},"Auth Get Token":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Get Task Status":{"main":[[{"node":"Switch","type":"main","index":0}]]},"Set Auth Config":{"main":[[{"node":"Auth Get Token","type":"main","index":0}]]},"Upload Input File":{"main":[[{"node":"Set Auth Config","type":"main","index":0},{"node":"Merge","type":"main","index":1}]]},"Create Blurit Task":{"main":[[{"node":"Wait","type":"main","index":0}]]}}}