Back to Alchemy
Alchemy RecipeIntermediateworkflow

Fashion brand content calendar from mood boards to scheduled social media posts

A fashion brand posts consistently for three weeks, then vanishes for two months. The mood board exists, the creative direction is clear, but the work of translating that into a dozen platform-ready posts feels overwhelming. So the calendar sits half-finished while the team moves to the next crisis. Meanwhile, engagement drops, algorithms deprioritise the account, and the brand voice becomes inconsistent across channels. The friction here isn't creative. It's logistical. A mood board is visual thinking made concrete. But turning that mood into a carousel post on Instagram, then a short-form video for TikTok, then a tweet thread requires jumping between three different tools, reformatting assets each time, and manually scheduling. No wonder it doesn't happen. What if that mood board could automatically generate on-brand social content, optimise it for each platform's requirements, and land directly in your scheduling queue? The tooling exists. You just need to wire it together properly.

The Automated Workflow

We'll use n8n as the orchestration layer because it handles file uploads (the mood board images), makes native API calls to multiple services, and maintains state between steps without hitting rate limits. The workflow moves from mood board to content to schedule in three stages.

Stage One: Image Upload and Brand Analysis

Start by creating an n8n workflow with a webhook trigger. When a brand uploads a mood board image to a designated folder (we'll use Google Drive for this example), the webhook fires.

POST /webhook/mood-board-upload
Content-Type: application/json { "fileId": "1A2B3C4D5E6F7G8H9I0J", "brandName": "Stella & Co", "season": "Spring 2026"
}

The workflow's first node reads that image from Google Drive. Next, send it to Gemini 2.5 Pro via the Google Vertex AI API. This model analyses the mood board and extracts design elements, colour palettes, mood descriptors, and visual themes.

json
{ "model": "gemini-2.5-pro", "contents": [ { "role": "user", "parts": [ { "inline_data": { "mime_type": "image/jpeg", "data": "base64_encoded_image_data" } }, { "text": "You are a fashion brand strategist. Analyse this mood board and extract: 1) dominant colours (hex codes), 2) visual themes and aesthetics, 3) emotional tone, 4) suggested content angles for social media. Return as JSON." } ] } ], "generation_config": { "temperature": 0.7, "max_output_tokens": 1024 }
}

Store this analysis in n8n's context for the next steps. Gemini will return something like:

json
{ "colours": ["#F4E4C1", "#8B4513", "#D4A574"], "themes": ["sustainable luxury", "natural textures", "minimalism"], "emotional_tone": "calm, organic, aspirational", "content_angles": ["behind-the-scenes production", "material sourcing", "styling guides"]
}

Stage Two: Content Generation via Mirra

Now push this analysis to Mirra, which turns creative briefs into ready-to-post social carousels and videos. Mirra's API accepts a detailed prompt and style guidelines.

POST https://api.mirra.ai/v1/create-content
Authorization: Bearer YOUR_MIRRA_API_KEY
Content-Type: application/json { "brand_name": "Stella & Co", "content_type": "carousel", "platform": "instagram", "brief": "Create a 5-slide carousel about our new Spring collection. Use sustainable luxury aesthetic with calm, organic mood. Feature natural textures and minimalist styling.", "visual_guidelines": { "colour_palette": ["#F4E4C1", "#8B4513", "#D4A574"], "style": "minimalist, high-end photography", "tone": "aspirational yet approachable" }, "caption_brief": "Highlight material sourcing and sustainable practices"
}

Mirra generates the carousel and returns a URL to the completed asset plus optimised caption text. In your n8n workflow, download that carousel and store it temporarily.

Stage Three: Optimisation and Multi-Platform Adaptation

A single piece of content doesn't fit every platform. Use Postwise to adapt your carousel for Twitter, LinkedIn, and TikTok. Postwise specialises in rewriting copy for platform-specific audiences and generating scheduling recommendations based on engagement patterns.

POST https://api.postwise.io/v1/adapt-content
Authorization: Bearer YOUR_POSTWISE_API_KEY
Content-Type: application/json { "source_content": { "type": "carousel", "caption": "Introducing our Spring collection: sustainably sourced, beautifully crafted.", "image_count": 5 }, "target_platforms": ["twitter", "linkedin", "tiktok"], "brand_voice": "calm, organic, aspirational", "content_angle": "sustainable luxury fashion"
}

Postwise returns platform-specific variations:

json
{ "twitter": { "text": "Spring collection now live. Every piece: sustainably sourced, ethically produced. Minimal design. Maximum intention. Shop now.", "hashtags": ["#SustainableFashion", "#SpringStyle"], "optimal_posting_time": "2026-03-15T14:00:00Z" }, "linkedin": { "text": "Our Spring collection reflects a commitment to sustainable luxury...", "optimal_posting_time": "2026-03-15T08:00:00Z" }, "tiktok": { "text": "POV: You care about how your clothes are made. Here's our new collection.", "optimal_posting_time": "2026-03-15T18:30:00Z" }
}

Stage Four: Image Generation for Missing Assets

If Mirra's carousel doesn't include enough variation for TikTok's vertical format, use Stable Diffusion 3.5 to generate additional lifestyle images matching your mood board's aesthetic. In n8n, conditionally trigger this step.

POST https://api.stability.ai/v2beta/stable-image/generate/ultra
Authorization: Bearer YOUR_STABILITY_API_KEY
Content-Type: application/json { "prompt": "Fashion model wearing minimalist linen shirt in natural beige, sustainable luxury aesthetic, soft natural lighting, neutral background, Spring collection campaign", "aspect_ratio": "9:16", "output_format": "jpeg", "style_preset": "natural"
}

Stage Five: Scheduling

Finally, send all adapted content to Postwise (or your preferred scheduler) with platform-specific copy, best posting times, and visual assets attached. Postwise queues everything and publishes on schedule. The entire workflow, from mood board upload to fully scheduled multi-platform campaign, runs without human intervention. An n8n schedule node can trigger this weekly or on-demand whenever a new mood board arrives.

The Manual Alternative

If you prefer more control, stop after Stage Two. Download Mirra's carousel and use Postwise's dashboard manually to review captions, adjust posting times, and schedule. You maintain quality control while cutting manual asset creation time by 70%. Alternatively, use Claude Code to write a custom script that orchestrates Mirra and Postwise without n8n. This gives you more flexibility if you need non-standard workflows, but you'll manage scheduling manually.

Pro Tips

Watch API rate limits.

Gemini, Mirra, and Postwise all have per-minute request caps.

If you're processing multiple mood boards daily, space them out using n8n's delay node. Start with one mood board per hour.

Store brand analysis as a reusable constant.

Once Gemini analyses your first mood board, save that colour palette and thematic guidance as an n8n variable. Subsequent workflows reference it rather than re-analysing, cutting API calls in half.

Test the Postwise captions manually for the first run.

Platform algorithms change frequently. Postwise's recommendations are usually solid, but audit the first three posts before full automation. Then you'll know if tweaks are needed.

Use Stable Diffusion sparingly.

AI-generated fashion imagery works well for lifestyle context shots, but use real product photography where possible. Generated images should supplement, not replace, your studio shots.

Build error notifications.

Configure n8n to email you if any API call fails. A mood board upload might break if a service is down, and you need to know before the posting schedule goes dark.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
n8n CloudProfessional£240Covers 10,000 tasks/month; sufficient for weekly mood boards plus daily scheduling
Google Gemini APIPay-as-you-go£15–30Per-mood-board analysis; minimal usage
MirraCreator£120Includes carousel and video generation; 50 pieces/month
PostwiseGrowth£99Multi-platform scheduling and content adaptation; 100 posts/month
Stable Diffusion APIPay-as-you-go£5–15Only if generating supplementary images; optional
Total£479–504All-in cost for a small fashion brand running consistent weekly campaigns