Back to Alchemy
Alchemy RecipeBeginnerworkflow

E-commerce product photography variation suite from single image

You have one product photograph. Your e-commerce store needs fifteen. A single image of a handbag, for instance, needs to be rethought across different backgrounds, with lifestyle context, at various angles, and in multiple colour variations. Hiring a photographer for each variation is expensive. Shooting multiple setups is time-consuming. Stock photography feels generic. This is where image generation and editing AI tools intersect with your workflow. Rather than manually visiting each tool, downloading files, uploading them elsewhere, and repeating that cycle, you can build an automation that takes your source image and produces an entire catalogue of variations in minutes. The orchestration sits between your image tools, pushing data through transformations, and collecting polished outputs ready for your product pages. The goal of this workflow is practical efficiency: one image in, multiple market-ready variations out, with no manual downloading or re-uploading between steps. For more on this, see Image Editing and Generation for E-Commerce: Which Free T.... For more on this, see E-commerce product catalogue optimization and listing exp.... For more on this, see Product photography studio with AI model training and mar....

The Automated Workflow

This workflow uses n8n as the orchestration engine because it offers strong support for file handling, image uploads, and webhooks without monthly seat charges. The process flows like this: you trigger the workflow with a source image URL, the system generates variations through AI Boost (for background replacement and style shifts), then refines outputs through Pixelcut AI (for background removal and enhancement), and finally stores polished images in a shared cloud folder. Why n8n instead of Zapier or Make? n8n runs on your own infrastructure (or a simple cloud instance) and handles image binary data more reliably than Zapier's file operations. Make works, but n8n's node ecosystem and transparent API routing make debugging easier.

Step 1:

Trigger and Image Upload Create an n8n workflow triggered by a webhook. When you POST your source image to this webhook, the workflow begins.

POST /webhook/product-variation-suite
Content-Type: application/json { "sourceImageUrl": "https://your-cdn.com/product-original.jpg", "productName": "leather-handbag-brown", "variations": ["white-background", "lifestyle-office", "lifestyle-beach", "navy-variant"]
}

In n8n, use the Webhook node to receive this payload. Immediately follow it with an HTTP Request node that downloads the source image as binary data.

javascript
// HTTP Request node configuration
URL: {{ $json.sourceImageUrl }}
Method: GET
Response Format: Binary
Authentication: None (or add auth if your CDN requires it)

Store the binary data in a variable named sourceImageBinary for the next step. This prevents repeated downloads and keeps the workflow efficient.

Step 2:

Generate Background Variations with AI Boost AI Boost's API accepts image uploads and returns edited versions. You'll need an API key from your AI Boost account. Make three parallel HTTP requests to generate your first set of variations: one with a white studio background, one with a lifestyle office setting, and one with a lifestyle beach setting.

POST https://api.aiboost.com/v1/edit
Authorization: Bearer YOUR_AI_BOOST_KEY
Content-Type: application/json { "imageData": "base64_encoded_image_here", "operation": "changeBackground", "backgroundStyle": "white-studio", "outputFormat": "jpg"
}

In n8n, use the HTTP Request node to POST to AI Boost. Convert your binary image to base64 first:

javascript
// Add a code node before the HTTP request
const fs = require('fs');
const imageBuffer = Buffer.from($json.sourceImageBinary, 'binary');
const base64Image = imageBuffer.toString('base64'); return { base64: base64Image
};

Then chain three parallel HTTP requests (one for each background variation). Use n8n's Split node to avoid repeating code:

javascript
// Split node to create three parallel branches
return [ { style: "white-studio", prompt: "professional white background" }, { style: "office-workspace", prompt: "modern office desk setting" }, { style: "beach-lifestyle", prompt: "sunny beach scene" }
];

Each branch calls AI Boost with the appropriate background prompt. Store the returned image URLs in a results array.

Step 3:

Refine with Pixelcut AI The images from AI Boost are good but can be polished. Pixelcut AI specialises in background removal and enhancement. For the white-background version, remove any shadows or residual background imperfections. For lifestyle images, enhance colours and sharpness.

POST https://api.pixelcut.com/v1/enhance
Authorization: Bearer YOUR_PIXELCUT_KEY
Content-Type: application/json { "imageUrl": "https://aiboost-output.png", "operation": "removeBackground", "enhanceQuality": true, "outputFormat": "png"
}

In n8n, add another HTTP Request node. Feed it the image URL returned by AI Boost from the previous step.

javascript
// HTTP node for Pixelcut
URL: https://api.pixelcut.com/v1/enhance
Method: POST
Body:
{ "imageUrl": {{ $json.aiBoostOutputUrl }}, "operation": "enhanceAndClean", "targetBackground": "transparent", "quality": "high"
}
Authentication: Bearer token

Wait for the response and extract the polished image URL.

Step 4:

Handle Colour Variants For the navy variant mentioned in your webhook payload, generate a colour-shifted version of the original. Use AI Boost's colour adjustment feature or send the refined image to Nsketch AI for stylised recolouring.

POST https://api.nsketch.com/v1/generate
Authorization: Bearer YOUR_NSKETCH_KEY
Content-Type: application/json { "sourceImageUrl": "https://pixelcut-refined.png", "instruction": "Recolour the product to navy blue while keeping all other elements intact", "model": "style-transfer-v2", "steps": 50
}

Nsketch returns a new image. Add this to your results array.

Step 5:

Collect and Store Results Use n8n's Merge node to consolidate all output URLs into a single object, then store them in Google Drive, AWS S3, or your preferred file host. Add a final HTTP request to log the results to your database or send a notification.

javascript
// Merge node to collect all variations
return { sourceProduct: {{ $json.productName }}, timestamp: new Date().toISOString(), variations: { whiteBackground: {{ $json.aiBoostWhite.outputUrl }}, officeLifestyle: {{ $json.aiBoostOffice.outputUrl }}, beachLifestyle: {{ $json.aiBoostBeach.outputUrl }}, navyColour: {{ $json.nsketchNavy.outputUrl }}, allRefined: [ {{ $json.pixelcutWhiteUrl }}, {{ $json.pixelcutOfficeUrl }}, {{ $json.pixelcutBeachUrl }} ] }
};

Finally, use a Google Drive Write File node or AWS S3 Write File node to save a JSON manifest of all image URLs alongside the images themselves. This makes retrieval straightforward.

The Manual Alternative

If automation feels like overkill for a single product, or if you need fine-grained creative control, use the tools directly. Open AI Boost, upload your image, select "Change Background", try a few presets, and download the result. Move to Pixelcut AI, upload the output, click "Enhance", and review the changes. This takes 10-15 minutes per variation. It works fine for small catalogues or when you want to QA every output before publishing. The trade-off is clear: manual work is slower but gives you immediate visual feedback; automation is faster but requires upfront testing to ensure quality meets your standards.

Pro Tips

1. Rate limit your API calls.

AI Boost and Pixelcut may throttle requests if you send too many in quick succession. Add 2-3 second delays between API calls using n8n's Wait node. Better to take 30 seconds than to hit 429 errors and retry loops.

2. Use image compression before uploading.

Base64-encoding large images slows the workflow. Compress your source image to 1500px width before encoding. Smaller payloads mean faster API responses.

3. Implement error handling at each step.

Add Try-Catch nodes around each HTTP request. If AI Boost fails, retry with a simpler prompt or fallback to a default white background. Log failures to a separate channel so you catch quality issues.

4. Cache successful outputs.

Store the result JSON in your database, indexed by product name and variation type. If you need the same variation weeks later, retrieve it instead of regenerating.

5. Cost optimisation.

Pixelcut's enhancement is cheap; AI Boost background changes are pricier. If your product is simple and doesn't need lifestyle context, skip AI Boost and use only Pixelcut. Test workflows on a single product first before applying them to hundreds.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
n8nSelf-hosted or Cloud Pro£0 or £25Self-hosted is free on your own server; Cloud Pro adds priority support.
AI BoostPro Plan£50–100Pay per image edit; Pro includes API access. Budget 5–10p per background change.
Pixelcut AIAPI Plan£30–60Charged per enhancement. Budget 3–5p per image polish.
Nsketch AICreator Plan£20–40Per-generation cost; batching reduces expense. Budget 5p per colour variant.
Google Drive or AWS S3Storage£0–10Minimal storage unless you process hundreds daily.