Generate Interior Moodboards with Claude/Gemini Agents, Hugging Face Image Generation, and PDF Export
🎨 Template Overview
This comprehensive n8n workflow automates the complete process of generating professional interior design moodboards from concept to client delivery. Users submit a design brief through a form, and the system automatically generates 12 AI-powered images, compiles them into a beautifully formatted two-page PDF moodboard, and emails the final deliverable.
Key Features:
- Form-based design brief submission
- AI-powered image prompt generation (12 detailed prompts per project)
- Automated image generation via Hugging Face API
- Nextcloud cloud storage with public URL sharing
- Professional two-page HTML/PDF moodboard creation
- Automated email delivery with PDF attachment
Technologies Used: Claude Sonnet 4 (OpenRouter), Google Gemini 2.5 Pro, Hugging Face FLUX.1-schnell, Nextcloud, Gotenberg PDF Service, Gmail
⚙️ Self-Hosted Requirements
This template requires the following self-hosted or third-party services:
- Nextcloud Instance - For cloud file storage and public URL generation
- Gotenberg PDF Service - For HTML to PDF conversion (can be self-hosted via Docker)
- OpenRouter API Access - For Claude Sonnet 4 AI agent
- Google Gemini API Access - For secondary AI processing
- Hugging Face API Access - For FLUX.1-schnell image generation
- Gmail Account - For email delivery (or any SMTP service)
📋 Setup Instructions
Step 1: Configure API Credentials
-
OpenRouter (Claude Sonnet 4)
- Sign up at openrouter.ai
- Generate an API key
- Add credentials to the "OpenRouter Chat Model" node
-
Google Gemini API
- Visit Google AI Studio
- Create an API key
- Add credentials to the "Google Gemini Chat Model1" node
-
Hugging Face API
- Register at huggingface.co
- Generate an access token from Settings → Access Tokens
- Add credentials to the "Image Generator" node using HTTP Header Auth
- Header name:
Authorization, Value:Bearer YOUR_TOKEN
-
Nextcloud
- Set up a Nextcloud instance or use a hosted provider
- Generate an app password from Settings → Security
- Configure credentials in all Nextcloud nodes:
- "Create a folder"
- "Upload Image"
- "Share a file"
-
Gotenberg PDF Service
- Self-host using Docker:
docker run --rm -p 3000:3000 gotenberg/gotenberg:8 - Or use a hosted instance
- Update the URL in the "PDF creator" node
- Configure HTTP Basic Auth credentials if required
- Self-host using Docker:
-
Gmail
- Enable 2-Factor Authentication on your Google account
- Generate an App Password from Google Account settings
- Add OAuth2 credentials to the "Send PDF" node
Step 2: Customize Workflow Settings
-
Email Extractor Node
- Review the
stripPlusvariable (default:true) - This removes "+tag" portions from email addresses for folder naming
- Review the
-
Nextcloud Folder Structure
- Default path:
/moodboard/{username}/ - Modify in "Create a folder" node if needed
- Default path:
-
Image Generator Settings
- Model: FLUX.1-schnell (fast generation, good quality)
- Adjust model in "Image Generator" node if needed
- Alternative models: FLUX.1-dev, Stable Diffusion XL
-
PDF Generation Settings
- Default timeout: 360 seconds
- Page size: A4 (210mm × 297mm)
- Adjust in "PDF creator" node headers if needed
Step 3: Test the Workflow
-
Activate the Form
- Open the "Moodboard Form" node
- Copy the webhook URL
- Access the form in your browser
-
Submit a Test Request
- Fill in the form fields:
- Title: Short, descriptive name (e.g., "Modern Minimalist Bedroom")
- Description: Detailed design brief with colors, materials, mood, lighting
- Email: Your test email address
- Submit and monitor workflow execution
- Fill in the form fields:
-
Verify Each Stage
- Check Nextcloud folder creation
- Monitor image generation progress (12 images)
- Review HTML moodboard generation
- Confirm PDF creation
- Check email delivery
Step 4: Configure Form Embedding (Optional)
Embed the form on your website:
<iframe
src="YOUR_N8N_FORM_WEBHOOK_URL"
width="100%"
height="800"
frameborder="0">
</iframe>
🔄 Workflow Structure
1. Form Input & Data Extraction
- Moodboard Form - Collects project title, description, and user email
- Email Extractor - Extracts username from email for folder organization
2. Storage Setup
- Create a Folder - Creates personalized Nextcloud directory using email username
3. AI Concept Generation
- Conceptualization Agent (Claude Sonnet 4) - Analyzes design brief and generates 12 detailed image prompts (300-500 words each)
- Images 1-11: Individual design elements (furniture, materials, details, styling)
- Image 12: Comprehensive 3D rendered view integrating all elements
4. Image Processing Loop
- Concept Splitter - Separates 12 prompts into individual items
- Loop Over Items - Processes each prompt sequentially:
- Image Generator - Sends prompt to Hugging Face FLUX.1-schnell API
- Upload Image - Stores generated image in Nextcloud folder
- Share a File - Creates public shareable URL
- Set Image Title and URL - Formats data for aggregation
5. URL Collection
- URL Aggregate - Combines all 12 public image URLs
- Clean URLs - Extracts and formats URLs into a structured list
6. Moodboard Compilation
- Moodboard Generator Agent (Google Gemini 2.5 Pro) - Creates professional two-page HTML document:
- Page 1: Visual moodboard with all 12 images (Image #12 prominently featured 2-3x larger)
- Page 2: Administrative summary with design overview, color palette, materials, and project details
7. PDF Generation & Delivery
- Binary Converter - Transforms HTML to base64-encoded binary format
- PDF Creator - Converts HTML to print-ready PDF via Gotenberg service
- Send PDF - Emails final moodboard PDF to user
🎯 Node Descriptions
Moodboard Form
Collects moodboard generation requests for any design topic. Users input a title, detailed description (colors, materials, patterns, textures, lighting), and email address for delivery.
Email Extractor
Extracts the username portion from email addresses, optionally stripping "+tags" for clean folder naming and user identification.
Create a Folder
Creates a dedicated Nextcloud folder using the extracted email username, organizing moodboard outputs by user.
Conceptualization Agent
AI agent that analyzes design briefs to generate 12 detailed image prompts (300-500 words each). Performs conceptual analysis of styles, colors, materials, and spatial requirements, outputting structured JSON.
Concept Splitter
Splits the 12 generated image prompts into individual items for parallel processing through the image generation pipeline.
Loop Over Items
Processes each prompt sequentially, generating images, uploading to Nextcloud, and creating public URLs.
Image Generator
Sends detailed prompts to Hugging Face FLUX.1-schnell API for AI-powered image generation, transforming written design concepts into high-quality visuals.
Upload Image
Uploads each generated moodboard image to the user's Nextcloud folder with appropriate naming conventions.
Share a File
Creates publicly shareable Nextcloud links for each uploaded image, enabling external viewing without authentication.
Set Image Title and URL
Formats image metadata (title and URL) for downstream aggregation.
URL Aggregate
Combines all 12 image URLs into a single consolidated output for moodboard compilation.
Clean URLs
Extracts and formats URLs from the aggregated data into a clean, structured list with count.
Moodboard Generator Agent
Transforms design concepts into professional two-page HTML moodboards. Analyzes project details and 12 image URLs, selecting appropriate visual styles. Creates artistic Page 1 with Image #12 as hero element, and comprehensive Page 2 with design documentation.
Binary Converter
Prepares HTML for PDF conversion by transforming it into binary format with proper encoding and filename ("index.html") for Gotenberg compatibility.
PDF Creator
Converts HTML moodboard into print-ready PDF with proper A4 dimensions, page breaks, and high-quality image resolution.
Send PDF
Emails the finalized PDF moodboard to the user's submitted email address with project details and PDF attachment.
🎨 Customization Options
Design Styles
The Moodboard Generator Agent automatically selects from 10 layout styles:
- Modern Sectional Grid
- Material Board Collage
- Editorial Magazine
- Clean Minimalist
- Split-Screen Dramatic
- Asymmetric Feature
- Centered Showcase
- Modular Block System
- Organic Flow
- Layered Depth
Image Generation Models
Replace FLUX.1-schnell with alternatives in the "Image Generator" node:
black-forest-labs/FLUX.1-dev- Higher quality, slowerstabilityai/stable-diffusion-xl-base-1.0- Classic SD XL
Email Templates
Customize the email message in the "Send PDF" node to include:
- Brand messaging
- Next steps
- Support contact information
- Pricing information
🐛 Troubleshooting
Images Not Generating
- Verify Hugging Face API token is valid
- Check API rate limits and quotas
- Increase timeout in "Image Generator" node (default: unlimited)
PDF Generation Fails
- Ensure Gotenberg service is accessible
- Verify HTML output contains all 12 image URLs
- Check timeout settings (default: 360s)
- Review Gotenberg logs for specific errors
Nextcloud Upload Errors
- Confirm folder creation succeeded
- Verify Nextcloud credentials and permissions
- Check available storage space
- Ensure WebDAV is enabled
Email Not Received
- Verify Gmail OAuth2 credentials
- Check spam/junk folders
- Confirm email address is valid
- Review Gmail API quotas
📊 Performance Notes
- Average execution time: 5-8 minutes (depends on image generation)
- Image generation: ~20-30 seconds per image (12 images = 4-6 minutes)
- PDF generation: ~30-60 seconds
- Total data processed: ~15-25 MB per workflow execution
🔐 Security Considerations
- Store all API keys in n8n credentials (never hardcode)
- Use environment variables for sensitive configuration
- Implement rate limiting on the form webhook
- Consider adding CAPTCHA to prevent abuse
- Regularly rotate API keys and passwords
- Use HTTPS for all external communications
📝 License & Attribution
This template is provided as-is for the n8n community. Feel free to modify and adapt to your needs.
AI Models Used:
- Claude Sonnet 4 (Anthropic via OpenRouter)
- Google Gemini 2.5 Pro (Google)
- FLUX.1-schnell (Black Forest Labs via Hugging Face)
🤝 Support & Contributions
For questions or improvements, please reach out through the n8n community forum or submit issues/PRs to enhance this template.
Created by: Jameson Kanakulya
Template Version: 1.0
Last Updated: November 2025
n8n Workflow: AI-Powered Interior Moodboard Generator
This n8n workflow leverages AI agents, image generation, and PDF export to create interior design moodboards based on user input. It simplifies the process of generating design concepts, visual inspiration, and a shareable PDF report.
What it does
This workflow automates the following steps:
- Triggers on Form Submission: Initiates the workflow when a user submits data through an n8n form.
- Initial Data Preparation: Edits the incoming fields to prepare them for processing by the AI agent.
- AI Agent for Idea Generation: Uses an AI Agent (powered by either Google Gemini or OpenRouter) with a "Think" tool and simple memory to process the input and generate interior design ideas.
- Processes AI Output: Splits the AI-generated ideas into individual items for further processing.
- Loops for Image Generation: Iterates through each AI-generated idea to perform the following:
- Generates Images: Makes an HTTP request to an external image generation service (likely Hugging Face, given the directory name context) based on the AI's descriptions.
- Prepares Image Data: Edits the fields to process the generated image URLs.
- Aggregates Results: Combines all generated images and associated ideas into a single structure.
- Exports to PDF: (Implied, but not explicitly shown in the provided JSON, typically a subsequent node) Generates a PDF document containing the moodboard.
- Sends Email Notification: Sends an email via Gmail, likely containing the generated PDF moodboard or a link to it.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance.
- AI Credentials:
- Google Gemini API Key OR
- OpenRouter API Key
- Image Generation Service: Access to an image generation API (e.g., Hugging Face, Stable Diffusion, DALL-E) and its API key or endpoint for the "HTTP Request" node.
- Gmail Account: A configured Gmail credential in n8n for sending emails.
- Nextcloud (Optional/Not Used): The workflow includes a Nextcloud node, but it is not connected in the provided JSON. If intended for use, Nextcloud credentials would be required.
Setup/Usage
- Import the Workflow: Download the JSON provided and import it into your n8n instance.
- Configure Credentials:
- Set up your Google Gemini or OpenRouter credentials for the "AI Agent" node.
- Configure the HTTP Request node with the API endpoint and authentication for your chosen image generation service.
- Set up your Gmail credentials for the "Gmail" node.
- Configure the Form Trigger: Customize the "On form submission" node to collect the necessary input for your moodboard generation.
- Activate the Workflow: Enable the workflow in n8n.
- Submit the Form: Access the public URL of the n8n form trigger and submit the required information to generate a moodboard.
Related Templates
AI-powered code review with linting, red-marked corrections in Google Sheets & Slack
Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.
Daily cash flow reports with Google Sheets, Slack & Email for finance teams
Simplify financial oversight with this automated n8n workflow. Triggered daily, it fetches cash flow and expense data from a Google Sheet, analyzes inflows and outflows, validates records, and generates a comprehensive daily report. The workflow sends multi-channel notifications via email and Slack, ensuring finance professionals stay updated with real-time financial insights. 💸📧 Key Features Daily automation keeps cash flow tracking current. Analyzes inflows and outflows for actionable insights. Multi-channel alerts enhance team visibility. Logs maintain a detailed record in Google Sheets. Workflow Process The Every Day node triggers a daily check at a set time. Get Cash Flow Data retrieves financial data from a Google Sheet. Analyze Inflows & Outflows processes the data to identify trends and totals. Validate Records ensures all entries are complete and accurate. If records are valid, it branches to: Sends Email Daily Report to finance team members. Send Slack Alert to notify the team instantly. Logs to Sheet appends the summary data to a Google Sheet for tracking. Setup Instructions Import the workflow into n8n and configure Google Sheets OAuth2 for data access. Set the daily trigger time (e.g., 9:00 AM IST) in the "Every Day" node. Test the workflow by adding sample cash flow data and verifying reports. Adjust analysis parameters as needed for specific financial metrics. Prerequisites Google Sheets OAuth2 credentials Gmail API Key for email reports Slack Bot Token (with chat:write permissions) Structured financial data in a Google Sheet Google Sheet Structure: Create a sheet with columns: Date Cash Inflow Cash Outflow Category Notes Updated At Modification Options Customize the "Analyze Inflows & Outflows" node to include custom financial ratios. Adjust the "Validate Records" filter to flag anomalies or missing data. Modify email and Slack templates with branded formatting. Integrate with accounting tools (e.g., Xero) for live data feeds. Set different trigger times to align with your financial review schedule. Discover more workflows – Get in touch with us
Competitor intelligence agent: SERP monitoring + summary with Thordata + OpenAI
Who this is for? This workflow is designed for: Marketing analysts, SEO specialists, and content strategists who want automated intelligence on their online competitors. Growth teams that need quick insights from SERP (Search Engine Results Pages) without manual data scraping. Agencies managing multiple clients’ SEO presence and tracking competitive positioning in real-time. What problem is this workflow solving? Manual competitor research is time-consuming, fragmented, and often lacks actionable insights. This workflow automates the entire process by: Fetching SERP results from multiple search engines (Google, Bing, Yandex, DuckDuckGo) using Thordata’s Scraper API. Using OpenAI GPT-4.1-mini to analyze, summarize, and extract keyword opportunities, topic clusters, and competitor weaknesses. Producing structured, JSON-based insights ready for dashboards or reports. Essentially, it transforms raw SERP data into strategic marketing intelligence — saving hours of research time. What this workflow does Here’s a step-by-step overview of how the workflow operates: Step 1: Manual Trigger Initiates the process on demand when you click “Execute Workflow.” Step 2: Set the Input Query The “Set Input Fields” node defines your search query, such as: > “Top SEO strategies for e-commerce in 2025” Step 3: Multi-Engine SERP Fetching Four HTTP request tools send the query to Thordata Scraper API to retrieve results from: Google Bing Yandex DuckDuckGo Each uses Bearer Authentication configured via “Thordata SERP Bearer Auth Account.” Step 4: AI Agent Processing The LangChain AI Agent orchestrates the data flow, combining inputs and preparing them for structured analysis. Step 5: SEO Analysis The SEO Analyst node (powered by GPT-4.1-mini) parses SERP results into a structured schema, extracting: Competitor domains Page titles & content types Ranking positions Keyword overlaps Traffic share estimations Strengths and weaknesses Step 6: Summarization The Summarize the content node distills complex data into a concise executive summary using GPT-4.1-mini. Step 7: Keyword & Topic Extraction The Keyword and Topic Analysis node extracts: Primary and secondary keywords Topic clusters and content gaps SEO strength scores Competitor insights Step 8: Output Formatting The Structured Output Parser ensures results are clean, validated JSON objects for further integration (e.g., Google Sheets, Notion, or dashboards). Setup Prerequisites n8n Cloud or Self-Hosted instance Thordata Scraper API Key (for SERP data retrieval) OpenAI API Key (for GPT-based reasoning) Setup Steps Add Credentials Go to Credentials → Add New → HTTP Bearer Auth* → Paste your Thordata API token. Add OpenAI API Credentials* for the GPT model. Import the Workflow Copy the provided JSON or upload it into your n8n instance. Set Input In the “Set the Input Fields” node, replace the example query with your desired topic, e.g.: “Google Search for Top SEO strategies for e-commerce in 2025” Execute Click “Execute Workflow” to run the analysis. How to customize this workflow to your needs Modify Search Query Change the search_query variable in the Set Node to any target keyword or topic. Change AI Model In the OpenAI Chat Model nodes, you can switch from gpt-4.1-mini to another model for better quality or lower cost. Extend Analysis Edit the JSON schema in the “Information Extractor” nodes to include: Sentiment analysis of top pages SERP volatility metrics Content freshness indicators Export Results Connect the output to: Google Sheets / Airtable for analytics Notion / Slack for team reporting Webhook / Database for automated storage Summary This workflow creates an AI-powered Competitor Intelligence System inside n8n by blending: Real-time SERP scraping (Thordata) Automated AI reasoning (OpenAI GPT-4.1-mini) Structured data extraction (LangChain Information Extractors)