How We Built Enhancia: The Engineering Behind an AI Real Estate Platform
Enhancia runs AI photo enhancement, ad copy, floor plans and video generation as background jobs on a Redis-backed queue rather than processing them inline on the request - so uploads return instantly and AI work happens asynchronously without blocking the app.
Most of what makes an AI product feel simple to use is engineering you never see. This post is a straightforward look at how Enhancia is actually built under the hood - not as a sales pitch, but because the architecture decisions are genuinely useful to understand if you're building something similar, or just curious how a tool that "enhances a photo in seconds" actually works.
Key Takeaways
- Photo, video, and floor plan generation run as background jobs on a queue, not inline on the upload request.
- Different tools route to different AI providers, matched to what each one handles well.
- Credits are reserved when a job is queued and only spent when it actually completes, with automatic refunds on failure.
- The video pipeline is a multi-stage process: individual clips are generated, reviewed, and only stitched into a final video once every clip is approved.
Why AI photo processing can't be instant
When you upload a photo and pick an edit - say, sky replacement or Day to Dusk - the underlying AI model needs real time to generate the result. Depending on the operation, that can take anywhere from a few seconds to closer to a minute. If a web server held that connection open and made you wait on the same request, the experience would feel fragile: a slow network blip, a browser tab switch, or a long-running model call could easily fail the whole upload.
Enhancia avoids that by treating photo enhancement as a background job rather than a synchronous request. The upload endpoint does one fast thing - store the original image and enqueue a job - and returns almost immediately. A separate background worker process picks up the job, calls the AI model, and writes the result once it's ready. The browser polls a status endpoint every couple of seconds until the job flips to "done," at which point it shows the result.
This is a fairly standard pattern (a job queue backed by Redis), but it matters a lot for a product where every single user action - enhancing a photo, generating a floor plan, creating a video clip - triggers real AI inference time. Without it, the app would either time out constantly or force users to sit on a loading screen with no room for the browser tab to be closed or switched.
Matching tools to the right AI provider, not one model for everything
It's tempting to build an AI product around a single model and route everything through it. Enhancia doesn't do that. Image-editing operations (sky replacement, colour normalisation, perspective correction, virtual staging, decluttering, and the rest of the photo enhancer's feature set) are routed to whichever of Gemini or ChatGPT's image capabilities handles that specific operation well - the system tracks which provider produced which result, so quality issues can be traced back to a specific model and prompt rather than treated as one opaque black box.
Listing copy generation is a different problem entirely - it's a text-generation task, not an image task - so it runs through OpenAI's text models instead, with prompt templates built around the five listing types (Sales, Rental, Airbnb, Land, Acreage) and nine tones the ad copy generator supports.
The property video pipeline adds a third provider into the mix again: each clip is generated through Kling (via fal.ai), a model built specifically for image-to-video animation, which is a distinct kind of AI task from either photo editing or text generation.
The result is that no single provider outage or quality regression takes down the whole platform, and each task uses a model actually built for that kind of problem.
The video pipeline: generate, review, then knit
The property video maker is worth calling out specifically because it's a multi-stage pipeline rather than a single AI call. For a set of property photos, the system:
1. Generates one short animated clip per photo, in sequence. 2. Marks each clip as ready for review, so it can be individually approved or regenerated - regenerating one clip doesn't touch the others. 3. Only once every clip in the sequence is approved does a separate "knit" job run, which downloads all approved clips and stitches them into one final video with ffmpeg.
Splitting it this way matters because AI-generated video is the least predictable part of the pipeline - occasionally a clip needs a regeneration to look right. Building review and regeneration in at the clip level, instead of only being able to approve or reject an entire finished video, keeps that unpredictability contained to individual clips rather than forcing a full restart.
Credits: reserved on queue, spent on success
Because processing happens asynchronously, credit handling has to account for jobs that fail partway through - a model timeout, a malformed image, a provider outage. Enhancia reserves credits when a job is enqueued, and only actually deducts them once the job completes successfully; a failed job triggers an automatic refund rather than leaving a user out of credits for a result they never got. Workers themselves never touch credit balances directly - that logic lives entirely in the API layer that queues the job, keeping the two systems cleanly separated.
Built by Seven Labs
Enhancia's platform - the queue-based processing pipeline, the multi-provider AI routing, the credit system, and the rest of the application - was engineered by Seven Labs, an AI engineering studio that builds production-grade AI platforms, automation systems and infrastructure. If you're building something with similar requirements - background AI processing, multi-model orchestration, or infrastructure that needs to hold up under real usage - that's the kind of problem they work on.
If you're an agent, photographer, or property manager rather than an engineer, none of this changes how you use the product day to day - but it's the reason uploading a photo and getting a polished result back doesn't require you to sit and wait on a spinning loader. Try the photo enhancer and see it in practice, or start a free trial to explore the full toolset.
Frequently asked questions
Why doesn't Enhancia process photos instantly while you wait on the page?
AI image generation takes real processing time - seconds to tens of seconds depending on the edit. Enhancia queues that work in the background so the upload step returns immediately, and the app polls for the result rather than holding the connection open.
Does Enhancia use one AI model for everything?
No. Different tasks route to the model best suited for them - image-editing tasks go through Gemini or ChatGPT depending on the operation, while listing copy generation uses OpenAI's text models. Each tool is matched to the provider that handles that specific task well.
Who built Enhancia?
Enhancia's platform was engineered by Seven Labs, an AI engineering studio that builds production AI systems, automation and infrastructure for startups and businesses.
Related tool
Related articles
How AI Real Estate Photo Enhancement Turns Ordinary Listings Into Buyer Magnets
AI real estate photo enhancement fixes lighting, sky and clutter in minutes. See how it works and why it helps listings get more views. Try it free.
Best AI Photo Editing Tools for Real Estate Agents in 2026 (Buyer's Guide)
Compare the best AI real estate photo editors on speed, pricing and features, with an honest look at where each tool fits. Start your free trial.