An estate agent's day typically looks like this: shoot a property, spend two hours editing photos in Photoshop, write a description that somehow needs to sound both professional and inviting, create a short video tour, and then post variations across Rightmove, Zoopla, Instagram, Facebook, and TikTok. By the time they've finished, they could have shown the property to five different buyers. The maths is brutal: an agent handling ten active listings is losing twenty hours a week to content creation alone. What if that entire workflow, from raw photos to published social media posts, happened automatically? Not in a generic, obviously-AI way that damages your credibility, but with the agent making one decision at the start: uploading the photos and property details. Everything else flows downstream without manual handoff. This workflow combines photo editing, AI copywriting, video generation, and social media creation into a single automated chain. You upload an image folder and basic property information once. The system returns edited photos, three variations of listing copy, a professional virtual tour video, and four platform-specific social posts, ready to publish. For more on this, see Real estate virtual tour generation from inspection photos.
The Automated Workflow
We'll use Make (formerly Integromat) as the orchestration layer because it handles file uploads, loops, and API calls more intuitively than n8n for this particular job, though n8n would work equally well. Zapier can also do this, but Make's file handling is more flexible here. The workflow runs in six steps: 1. An agent uploads a folder of property photos via a simple Make webhook or form.
-
Pixelcut AI enhances and removes backgrounds from each photo automatically.
-
Copy.ai generates three variations of listing copy based on property details.
-
Hour One creates a professional virtual tour video using the edited photos and one copy variant.
-
Mirra turns the primary copy variant into four platform-specific social media cards (Instagram, TikTok, Facebook, LinkedIn).
-
All assets land in a Google Drive folder, organised by property ID.
Setting up the webhook and initial trigger
Start in Make by creating a new scenario. Use the HTTP module to set up a webhook that accepts JSON payloads.
POST https://hook.make.com/[your-hook-id] { "propertyId": "PROP-2847", "address": "42 Elm Street, Manchester M1 2AB", "bedrooms": 4, "bathrooms": 2, "description": "Period Victorian property with modern updates", "photoUrls": [ "https://your-bucket.s3.amazonaws.com/prop-2847-photo-1.jpg", "https://your-bucket.s3.amazonaws.com/prop-2847-photo-2.jpg", "https://your-bucket.s3.amazonaws.com/prop-2847-photo-3.jpg" ], "keySellingPoints": ["Original cornicing", "New kitchen", "Off-street parking"]
}
This single POST request becomes your trigger. From here, Make will parse the JSON and loop through the photo URLs.
Step 2: Photo enhancement loop
Add a "Router" module to split the workflow into two parallel paths: one for photos, one for copy. In the photo path, create an "Iterator" module that loops through the photoUrls array. For each URL, add a Pixelcut API call. Pixelcut's API is straightforward. Set the HTTP method to POST and point to their image enhancement endpoint:
POST https://api.pixelcut.app/v1/enhance { "imageUrl": "{{1.photoUrls[current index]}}", "removeBackground": true, "enhanceQuality": true, "format": "png"
}
Pixelcut returns a URL to the enhanced image. Store that URL in an array variable called enhancedPhotos. Make's "Set Variable" module handles this naturally.
Step 3: Copy generation in parallel
On the other path, add the Copy.ai API module. Copy.ai accepts a prompt and generates variations, which is perfect here.
POST https://api.copy.ai/api/content/generate { "template": "real_estate_listing", "inputs": { "propertyAddress": "{{propertyAddress}}", "bedrooms": {{bedrooms}}, "bathrooms": {{bathrooms}}, "description": "{{description}}", "sellingPoints": "{{keySellingPoints}}" }, "numberOfVariations": 3, "tone": "professional"
}
Copy.ai will return three copy variants. Store these in a variable called listingCopies.
Step 4: Video generation
Once both paths complete (Make will wait at a "Wait for all branches" module), add Hour One's API. Hour One needs the script (copy) and a list of images. Point it at your primary listing copy variant and the enhanced photo URLs.
POST https://www.api.hour.one/api/videos { "title": "Virtual Tour: {{propertyAddress}}", "script": "{{listingCopies[0]}}", "presenter": { "type": "virtual_presenter", "style": "professional" }, "images": "{{enhancedPhotos}}", "duration": "90", "outputFormat": "mp4"
}
Hour One typically takes 2–5 minutes to generate the video. Use Make's "Wait" or "Polling" module to check for completion status every 30 seconds, then download the video once it's ready.
Step 5: Social media card generation
Pass the primary copy variant to Mirra, which will create platform-specific variations.
POST https://api.mirra.ai/create-carousel { "content": "{{listingCopies[0]}}", "backgroundImage": "{{enhancedPhotos[0]}}", "platforms": ["instagram", "tiktok", "facebook", "linkedin"], "propertyAddress": "{{propertyAddress}}"
}
Mirra returns four separate image or video files, one per platform.
Step 6: File organisation and storage
Use Google Drive's Make module to create a folder structure:
Folder: Real Estate Content └─ {{propertyId}} ├─ Photos (enhanced) ├─ Copy Variations ├─ Videos └─ Social Media
Upload each asset to its corresponding subfolder. Use descriptive filenames like {{propertyId}}-instagram-card.png and {{propertyId}}-video-tour.mp4. Finally, send a summary email to the agent with download links and a checklist of what's ready to publish.
POST https://api.sendgrid.com/v3/mail/send { "personalizations": [{ "to": [{"email": "{{agentEmail}}"}], "subject": "Your property assets are ready: {{propertyAddress}}" }], "from": {"email": "automation@youragency.com"}, "content": [{ "type": "text/html", "value": "Download your assets here: {{googleDriveLink}}" }]
}
The Manual Alternative
If you prefer human control over AI outputs, stop the workflow after Copy.ai generates the three copy variants. Have the agent review and select their preferred version, then restart the workflow to generate the video and social posts. This adds a quality gate without losing most of the time savings. Alternatively, make the workflow a batch job that runs overnight, so agents can review outputs first thing in the morning before posting anything live.
Pro Tips
Rate limit handling.
Pixelcut, Copy.ai, and Hour One all have rate limits.
Build in 2-second delays between API calls using Make's "Sleep" module, and set up error handling to retry failed requests after 30 seconds. This prevents quota exhaustion.
Cost-effective model choice.
Copy.ai's free tier offers limited generations; consider their Pro plan if you're running this multiple times daily. Similarly, Hour One charges per video generated, so batch your workflows during off-peak hours if they offer reduced rates.
Video generation timeout.
Hour One can take up to 5 minutes. Set your polling timeout to 10 minutes, then fail gracefully with a notification rather than hanging indefinitely. The agent can retry that specific property without reprocessing photos and copy.
Cold storage for old assets.
After 30 days, use Make's Google Drive module to move completed property assets to an archive folder, keeping your active workspace tidy and reducing storage costs if you have a quota.
A/B testing copy variants.
Don't delete the alternative copy variants. Schedule a workflow to post all three versions across different social media accounts or test them on the same account over different weeks, then measure engagement. The data tells you which tone performs best for your market.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| Make (orchestration) | Pro | £15 | Unlimited scenarios and operations; free tier runs ~1000/month |
| Pixelcut AI | Pro | £20 | ~50 image enhancements/month; higher tiers available |
| Copy.ai | Pro | £49 | Unlimited generations; Pro includes API access |
| Hour One | Starter | £50–£200 | Per-video pricing; 10–50 videos/month typical for estate agents |
| Mirra | Standard | £39 | Unlimited carousels and social posts |
| Google Drive | Free | £0 | 15GB free; upgrade to 100GB for £1.99/month if needed |
| SendGrid (email notifications) | Free | £0 | 100 emails/day free tier sufficient |
| Total | £173–£343 | Depending on video volume; equivalent to 1–2 days of agent time per month |