Introduction
Fashion designers spend hours creating mood boards and specification sheets that could be generated in minutes. You sketch an idea, photograph inspiration, write notes about fabric and fit, then manually compile everything into a presentable format. Each step is a separate tool, separate window, separate context switch. By the time your spec sheet is ready for production, you've lost momentum and introduced inconsistencies between your visual references and your written specifications.
This workflow automates that entire process. You start with a design concept and reference images. The system generates a cohesive mood board, extracts garment specifications, and produces a professional spec sheet, all without you touching a single tool after pressing start. Everything flows automatically from concept to finished documentation.
This is an intermediate-level automation because you're coordinating three different AI services with different input and output formats. You'll need to map image data between tools, handle text extraction and formatting, and ensure that visual decisions inform written specifications. It's entirely doable, but you'll need to understand how each tool's API works and how to translate between them.
The Automated Workflow
Choose Your Orchestration Tool
For this workflow, n8n is the best choice. Zapier would work but has stricter rate limits on image handling. Make (Integromat) is also viable but requires more manual JSON manipulation. n8n gives you the most flexibility for conditional logic and image processing without hitting cost walls.
Self-hosting n8n means you pay nothing monthly beyond your hosting (roughly £5–15 on a basic VPS). If you use n8n Cloud, expect £25–40 per month depending on execution volume. For a designer running this once or twice daily, self-hosted is worth the setup effort.
The Complete Workflow Structure
The automation follows this sequence:
- You upload design reference images and write a brief design concept (via a simple webhook form or email)
- Cactus Interior AI generates a mood board from those images
- Sketch AI transforms the mood board into garment sketches with style variations
- Text2Infographic creates a visual spec sheet from written garment specifications
- All outputs are compiled and sent to you as a single ZIP file
The key challenge is image data flow. Cactus Interior AI outputs images, which become inputs for Sketch AI. You'll need to handle base64 encoding or temporary storage to pass images between services.
Setting Up n8n
Start by creating three HTTP Request nodes (one for each AI tool) and two File handling nodes. Here's the node structure:
Webhook Input
↓
HTTP Request (Cactus Interior AI)
↓
HTTP Request (Sketch AI)
↓
HTTP Request (Text2Infographic)
↓
Compile Files Node
↓
Webhook Output / Email
The webhook input node listens for POST requests. Configure it to accept multipart form data with these fields:
{
"design_concept": "string",
"reference_images": "array of base64 strings or URLs",
"garment_type": "string",
"target_audience": "string"
}
Step 1: Generate Mood Board with Cactus Interior AI
Cactus Interior AI (despite the name) handles fashion imagery well. Their /generate-mood-board endpoint accepts design concepts and reference images.
Configure your HTTP Request node with these settings:
Method: POST
URL: https://api.cactus-interior-ai.com/v1/mood-board
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body:
{
"concept": {{ $json.design_concept }},
"style": "contemporary",
"colour_palette": ["primary", "secondary", "accent"],
"images": {{ $json.reference_images }},
"format": "json"
}
Response will include a JSON object with image URLs for the generated mood board:
{
"success": true,
"mood_board_id": "mb_12345",
"images": [
{
"url": "https://api.cactus-interior-ai.com/output/mb_12345_main.png",
"description": "Primary mood composition"
},
{
"url": "https://api.cactus-interior-ai.com/output/mb_12345_alt.png",
"description": "Secondary colour variation"
}
]
}
Store these URLs in a variable for the next step. In n8n, use the Set node to create a variable called mood_board_urls:
{
"primary": {{ $json.body.images[0].url }},
"secondary": {{ $json.body.images[1].url }}
}
Step 2: Generate Garment Sketches with Sketch AI
nSketch AI's /sketch-from-reference endpoint creates garment sketches based on mood boards. The API prefers URL-based image input rather than base64, so pass your mood board URLs directly.
Method: POST
URL: https://api.nsketch-ai.com/v1/sketch-from-reference
Headers:
Authorization: Bearer YOUR_NSKETCH_KEY
Content-Type: application/json
Body:
{
"reference_image_url": {{ $json.body.primary }},
"garment_type": {{ $json.garment_type }},
"style_variations": 3,
"include_construction_lines": true,
"output_format": "png"
}
nSketch returns:
{
"success": true,
"sketch_batch_id": "sk_67890",
"sketches": [
{
"variation": 1,
"url": "https://api.nsketch-ai.com/sketches/sk_67890_v1.png",
"construction_notes": "Princess seams, drop shoulder, A-line silhouette"
},
{
"variation": 2,
"url": "https://api.nsketch-ai.com/sketches/sk_67890_v2.png",
"construction_notes": "Fitted waist, set-in sleeve, straight hem"
}
]
}
Store these sketch URLs similarly. Create another Set node with variable sketch_urls:
{
"sketches": [
{{ $json.body.sketches[0].url }},
{{ $json.body.sketches[1].url }},
{{ $json.body.sketches[2].url }}
],
"construction_notes": {{ $json.body.sketches }}.map(s => s.construction_notes)
}
Step 3: Create Visual Spec Sheet with Text2Infographic
Before calling Text2Infographic, you need to format garment specifications into readable text. Use a Function node to build a specification string from your design data:
const specs = `
GARMENT SPECIFICATIONS
Style: ${$json.garment_type}
Target Audience: ${$json.target_audience}
Design Concept: ${$json.design_concept}
CONSTRUCTION DETAILS
${$json.body.construction_notes.join('\n')}
SIZING
XS: Bust 32", Waist 24", Length 58"
S: Bust 34", Waist 26", Length 59"
M: Bust 36", Waist 28", Length 60"
L: Bust 38", Waist 30", Length 61"
XL: Bust 40", Waist 32", Length 62"
FABRIC RECOMMENDATIONS
Primary: Cotton blend, 55% cotton/45% polyester, 200gsm
Lining: Cotton sateen
Interfacing: Light-weight fusible
COLOUR OPTIONS
Main: Deep navy, Charcoal grey, Cream
Accent: Rose gold, Copper, Silver
CARE INSTRUCTIONS
Machine wash 30°C, gentle cycle
Tumble dry low or lay flat
Iron on low heat if needed
`;
return { specifications_text: specs };
Now pass this formatted text to Text2Infographic:
Method: POST
URL: https://api.text2infographic.com/v1/create-infographic
Headers:
Authorization: Bearer YOUR_TEXT2INFOGRAPHIC_KEY
Content-Type: application/json
Body:
{
"content": {{ $json.specifications_text }},
"style": "technical",
"template": "spec-sheet",
"layout": "vertical",
"include_qr_code": true,
"output_format": "png"
}
Response:
{
"success": true,
"infographic_id": "inf_11111",
"image_url": "https://api.text2infographic.com/output/inf_11111.png",
"metadata": {
"width": 1080,
"height": 1440,
"pages": 1
}
}
Step 4: Compile and Deliver Results
Use n8n's built-in File Handling to download all images and create a ZIP file. First, create a File node that downloads each image:
const files = [];
// Download mood board images
for (const image of {{ $json.mood_board_urls }}) {
files.push({
name: `mood-board-${Date.now()}.png`,
url: image
});
}
// Download sketch variations
for (let i = 0; i < {{ $json.sketch_urls.sketches }}.length; i++) {
files.push({
name: `sketch-variation-${i + 1}.png`,
url: {{ $json.sketch_urls.sketches }}[i]
});
}
// Download spec sheet
files.push({
name: 'specification-sheet.png',
url: {{ $json.body.image_url }}
});
return { files_to_package: files };
Then use a ZIP node to compress everything:
Method: Compress Files
Input: All downloaded images
Output Name: design-package-{{ $json.design_concept }}-{{ now }}.zip
Finally, send the ZIP file via email or webhook:
Method: POST
URL: Your Webhook URL OR Use Email Node
Body:
{
"design_concept": {{ $json.design_concept }},
"files": {{ $json.files_to_package }},
"timestamp": {{ now }},
"status": "completed"
}
The Manual Alternative
If you prefer more control over each step, run this as three separate processes:
- Open Cactus Interior AI directly, upload references, adjust mood board manually, export images
- Import mood board into nSketch, manually refine sketches, choose preferred variation
- Write specifications in a document, import into Text2Infographic, adjust layout and colours, export
This takes 20 to 30 minutes instead of 2 to 3 minutes, but you get real-time feedback and can make subjective design decisions at each stage. Use this approach when you're developing a new collection and want to explore variations. Use automation when you're producing standard deliverables within an established style.
Pro Tips
Image Format Consistency: Cactus Interior AI outputs JPG by default, but nSketch performs better with PNG. Add a conversion step using ImageMagick in n8n if you're self-hosting. Configure the HTTP node to explicitly request PNG output from Cactus with "format": "png" in the request body.
Rate Limiting and Throttling: All three services have rate limits (typically 100 requests per minute for standard plans). If you're running multiple workflows, add a Delay node between API calls set to 500 milliseconds. This prevents lockouts without meaningfully slowing the overall process. For production use, implement exponential backoff by catching rate-limit errors and retrying after increasing delays.
Specification Template Customisation: The garment specs in Step 3 are generic. Create custom templates for different garment types (dresses, outerwear, knitwear, etc.). Store these as JSON in n8n's environment variables or in a connected database. Switch templates based on the garment_type input field using a Switch node before building the specification text.
Cost Optimisation: Text2Infographic charges by infographic generated, not by complexity. If you're creating multiple colour variations, build one detailed spec sheet with all colour options rather than separate infographics. Similarly, request multiple sketch variations in a single nSketch call (Step 2 does this with "style_variations": 3) rather than making three separate API requests.
Error Handling for Missing Data: If reference images fail to upload or mood board generation times out, the workflow will stall. Add Try/Catch nodes around each API call. If Cactus Interior AI fails, substitute a placeholder mood board image and send you a notification. If Text2Infographic fails, export the raw specification text as a PDF instead. This keeps the workflow productive even when one service has issues.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| Cactus Interior AI | Professional | £40 | Includes 500 mood board generations; £0.10 per additional |
| nSketch AI | Creator | £35 | Unlimited sketch generations with style variations |
| Text2Infographic | Business | £45 | 200 infographics monthly; £0.30 per additional |
| n8n Cloud | Standard | £25 | 10,000 executions/month; self-hosted is free |
| Total | — | £145 | Per month for 50–100 design packages |
Running this workflow twice daily costs roughly £2 per design package in AI tool fees alone. A designer charging £500 for a complete design package with mood board, sketches, and specifications breaks even on automation costs in one project.
If you self-host n8n on a £10/month VPS, total cost drops to £120 monthly. Most fashion designers will save time costs that far exceed tool fees within the first month.