π¬ Generate real-estate marketing images and videos with OpenAI and Google Drive
β‘ 474 views Β· π¬ Content Creation & Video
Description
π‘ Automated Real-Estate Content Generation Workflow
This n8n workflow automates turning short user ideas into production-ready real-estate marketing assets (photorealistic images and optional 360Β° videos). A form submission seeds a prompt board β an LLM refines prompts β the refined prompt is sent to an image/video generator β assets are uploaded to Google Drive and an approval email is sent so stakeholders can accept/reject outputs.
βοΈ How It Works (High Level)
-
Trigger:
User submits the ideation form (On form submission). -
Record:
The raw idea is appended to Google Sheets (Append row in sheet). -
Refine:
An AI agent (LangChain/OpenAI) refines the prompt into a photorealistic prompt and produces captions & variants (AI Agent). -
Store Refined Prompt:
Update the sheet with the improved prompt (Append or update row in sheet). -
Generate Asset:
Send improved prompt to OpenAI image/video generation nodes (Generate an image2/Generate a video). -
Upload & Share:
Upload resulting files to Google Drive (Upload file / Upload file1) and set sharing permissions (Share file / Share file1). -
Approval Flow:
Email the requester with the asset + improved prompt and wait for approval (Send message and wait for response). -
Decision:
ASwitchnode routes approved outputs to final storage/notifications and rejected ones back for rework (or sends a failure email). -
Video Branch:
Separate flow β refine β HTTP β video generator β upload β share β update sheet (parallel video pipeline).
Quick Setup Guide
π Demo & Setup Video π Sheet Template π Course
π Nodes of Interest (Quick Reference)
On form submissionβ Form trigger for ideation inputAppend row in sheetβ Initial recording to Google SheetsAI Agentβ LangChain/OpenAI agent for prompt refinementGenerate an image2β OpenAI image generation nodeUpload file / Upload file1β Google Drive upload nodesShare file / Share file1β Set file sharing permissionsSend message and wait for responseβ Gmail approval workflowSwitchβ Approval vs rejection routingForm + AI Agent1 + Generate a videoβ Video generation pipelineWait / Wait1β Handle long-running generationOpenAI Chat Model / OpenAI Chat Model1β LLM configuration nodes
π What Youβll Need (Credentials & Access)
- Google Sheets OAuth2 (sheet access)
- Google Drive OAuth2 (file storage)
- OpenAI API Key (image/video + LLM)
- Gmail OAuth2 (email approvals)
- n8n webhook/public form access
- Optional: External HTTP endpoints for video processing
π‘ Tip: Store credentials securely in n8n credential manager and avoid hardcoding secrets.
β‘ Recommended Settings & Best Practices
-
Model & Prompt Control:
Use strong system prompts enforcing photorealism and real-estate context. -
Rate Limits & Retries:
Add retry logic with exponential backoff for API calls. -
Wait Times:
UseWaitnodes for long video generation tasks. -
File Size & Format:
Standardize image sizes (e.g., 1792Γ1024) and compress videos. -
Sharing Permissions:
Use view-only links for approvals. -
Logging & Observability:
Track prompt, model, timestamp in Google Sheets. -
Security:
Use credential manager, rotate API keys regularly. -
Cost Control:
Monitor OpenAI usage and apply limits. -
Input Validation:
Validate prompt length and required fields.
π Customization Ideas
- Property type presets (apartment, villa, office, etc.)
- Auto-generate captions, hashtags, and listing descriptions
- Add AI moderation before sharing assets
- Replace Google Drive with S3 / Cloudflare R2 + CDN
- Auto-post approved assets to social media or CMS
- A/B test prompts for performance optimization
- Multi-language prompt support
- Slack/Telegram approval dashboard instead of email
π·οΈ Tags
n8n, automation, real-estate, prompt-engineering, OpenAI, DALLΒ·E, video, google-sheets, google-drive, gmail, approval-flow, image-generation
π Nodes Used
Google Sheets, HTTP Request, Google Drive, Gmail, AI Agent, OpenAI Chat Model
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File