Day-to-dusk conversion is the most consistently requested photo enhancement in real estate marketing. A listing photo shot on a flat Tuesday afternoon becomes a property that looks premium and inviting. The technique has a name in the industry - virtual twilight - and agencies charge $150-300 extra for a real twilight shoot. The software to do it in under 30 seconds already exists. The business gap is the same one that exists in virtual staging: every current vendor built a web app for individual agents instead of an API for platforms.
This article is about building the B2B API layer that prop-tech platforms will pay $0.50-2.00 per image to access. The unit economics are favorable. The ICP is identical to virtual staging. And the technical pipeline - sky detection, sky masking, sky synthesis, interior light bloom - can be deployed in days without custom model training.








| Stack | Infra /mo | AI team | Total cost | Revenue | Margin |
|---|---|---|---|---|---|
Runflow 10% volume discount applied | $900 | $0 | $900 | $7.5K | 88% |
Cloud API + manual QA similar pricing · no auto-QA · part-time engineer needed | $1.0K | ~$5K | $6.0K | $7.5K | 20% |
Self-hosted GPU raw compute · full-time AI engineer required | $400 | $12K | $12K | $7.5K | loss |
Runflow Sentinel — built-in quality control layer that automatically detects and discards failed or low-quality outputs before delivery. You only pay for images that pass QA. No engineer needed to babysit the pipeline.
Pricing based on Runflow published rates (June 2026) with automatic volume discounts. Revenue column is illustrative — actual client pricing varies by vertical and contract size. GPU self-hosted estimate uses $0.04/img raw compute cost.
The problem nobody solved at platform scale
Real estate photographers and agents currently use one of two workflows for twilight photos: hire a photographer to reshoot at sunset (expensive, weather-dependent, requires coordination), or send daytime photos to a manual editing service and wait 24 hours. The manual editing market - BoxBrownie, PhotoUp, FixThePhoto, Styldod - charges $4-10 per image and uses human editors in Photoshop. At individual agent scale, that is acceptable. At platform scale, it is a broken workflow.
An MLS platform or prop-tech SaaS processes tens of thousands of listing photos per month. If any of them could offer virtual twilight as a native feature - click a button in the listing editor, receive the converted photo in under a minute - they would. None of them can, because no current twilight vendor exposes a real API. The existing players:
- BoxBrownie: web upload portal, human editors, 24h turnaround, no API
- PhotoUp: outsourced human editing team, 24h turnaround, no API
- FixThePhoto: manual editing service, 24-48h turnaround, no API
- Styldod: bundled as part of broader real estate photo editing, no automation
The gap is consistent: every vendor in this space is a B2C service business. None have built the B2B API layer that platforms need. That is the opportunity.
Who actually buys this
The individual agent is not the target customer. Individual agents are fragmented, price-sensitive, and already served by BoxBrownie at $4-10. The margin on selling to agents is thin and the acquisition cost is high. The right buyer is the platform layer above the agent.
MLS systems, real estate listing portals, and prop-tech SaaS products serve thousands of agents each. If they can offer virtual twilight as a native feature inside their listing editor, they differentiate from competitors, increase platform stickiness, and generate a new revenue line - all from one API integration. Contract values run $50,000-300,000 per year at platform scale. The sales cycle is 3-9 months. Churn is very low once integrated.
Secondary buyers: real estate photography agencies that want to automate their twilight editing pipeline and sell faster turnarounds. These are smaller contracts ($10,000-50,000/year) but faster to close.
What the market looks like today
Every competitor in this space is a service business, not a technology business. The competitive landscape confirms the gap rather than closing it:
| Product | Price per Image | API Available | Target Customer | Turnaround |
|---|---|---|---|---|
| BoxBrownie | $4-10 | No | Agents, photographers | 24h (human) |
| PhotoUp | $3-8 | No | Agents, agencies | 24-48h (human) |
| FixThePhoto | $3-7 | No | Photographers, agents | 24h (human) |
| Styldod | $5-12 | No | Agents | 24-48h (human) |
| API Service | $0.50-2.00 (B2B) | Yes (core product) | MLS platforms, portals | Under 30 seconds |
The pricing gap is more dramatic than in virtual staging. Manual providers charge $4-10 for a process that, automated, costs $0.05-0.15 in inference compute. The margin headroom is enormous. At $1.00 per image to the platform and $0.10 in inference costs, you are running at 90% gross margin before fixed costs.
The tech stack to build it
The pipeline has four steps. No custom model training required - all components are available via existing model APIs.
Step 1: Sky detection and classification. Before any generation, classify the sky region: is it a day shot, overcast, golden hour already? This classification determines the target twilight style and provides confidence that the input photo is processable. Photos shot in heavy rain or at night fail gracefully with a clear error rather than a bad output.
Step 2: Sky segmentation. Segment the sky region with pixel-level precision. SegmentAnything (SAM) works well for this, prompted with a point in the sky area. The mask must handle complex edges: tree branches, rooflines, antennas, power lines. Edge quality here directly determines whether the final composite looks real or artificial.
Step 3: Sky synthesis via inpainting. Replace the masked sky region using a diffusion inpainting model (Flux Fill or SDXL Inpainting) conditioned on a twilight prompt. The prompt style - warm golden hour, deep blue hour, dramatic sunset - becomes a configurable parameter for your API consumers. ControlNet conditioning on the building geometry keeps the architecture consistent across the sky blend.
Step 4: Interior light bloom. This is the step that separates a convincing dusk conversion from an obvious composite. When the sky darkens, windows need to appear lit from inside. A targeted brightness and warm color grade applied to window regions - identified either by the sky mask complement or a separate window detection pass - adds the warm glow that makes a property look inhabited and inviting at dusk. Without this step, the sky looks like a stock photo paste.
What it takes to build: do you need a ComfyUI engineer?
The per-image inference cost is not the hard part. The hard part is the implementation overhead: who builds the ComfyUI workflow, who maintains the GPU infrastructure, who debugs model updates when a new checkpoint breaks your output quality. That cost typically runs $15,000-40,000 upfront for a ComfyUI engineer to build and validate the pipeline, plus $2,000-5,000 per month for ongoing maintenance and GPU provisioning.
| Path | Setup time | Infra cost/mo | Team cost/mo (est.) | True TCO/mo |
|---|---|---|---|---|
| Runflow managed API | 1-2 days | ~$600-900 | $0 (no GPU engineer) | ~$600-900 |
| Self-hosted ComfyUI (RunPod/Modal) | 2-4 weeks | ~$300-500 | ~$8,000-12,000 | ~$8,300-12,500 |
| Build from scratch (Replicate APIs) | 4-8 weeks | ~$400-700 | ~$15,000-25,000 | ~$15,400-25,700 |
The managed API path removes the workflow engineering problem entirely. Runflow exposes pre-built ComfyUI workflows - including sky replacement pipelines - via REST API with sub-2s cold starts and built-in queue management. For teams without ComfyUI expertise, this is the fastest path to a production API.
Self-hosting on RunPod or Modal gives more control over model selection and output customization, and becomes cheaper above 50,000-100,000 images per month. The tradeoff is two to four weeks of setup time and the ongoing cost of a ComfyUI engineer.








| Stack | Infra /mo | AI team | Total cost | Revenue | Margin |
|---|---|---|---|---|---|
Runflow 10% volume discount applied | $900 | $0 | $900 | $7.5K | 88% |
Cloud API + manual QA similar pricing · no auto-QA · part-time engineer needed | $1.0K | ~$5K | $6.0K | $7.5K | 20% |
Self-hosted GPU raw compute · full-time AI engineer required | $400 | $12K | $12K | $7.5K | loss |
Runflow Sentinel — built-in quality control layer that automatically detects and discards failed or low-quality outputs before delivery. You only pay for images that pass QA. No engineer needed to babysit the pipeline.
Pricing based on Runflow published rates (June 2026) with automatic volume discounts. Revenue column is illustrative — actual client pricing varies by vertical and contract size. GPU self-hosted estimate uses $0.04/img raw compute cost.
Unit economics
The economics of day-to-dusk are better than virtual staging. The pipeline is simpler - no room detection, no furniture generation - so inference cost per image is lower. Sky replacement with inpainting runs $0.05-0.12 per image on managed APIs at standard quality. The entire four-step pipeline (detect, mask, synthesize, bloom) stays under $0.15 per image at most quality levels.
| Volume | Runflow (API, no team) | Self-hosted RunPod (infra + engineer) | Manual (BoxBrownie equiv) |
|---|---|---|---|
| 1K images/mo | ~$100 | ~$8,200-12,200 (infra $200 + engineer) | $4,000-10,000 |
| 10K images/mo | ~$700 | ~$8,380-12,380 (infra $380 + engineer) | $40,000-100,000 |
| 100K images/mo | ~$5,500 | ~$11,200-15,200 (infra $3,200 + engineer) | $400K-1M |
At a B2B price of $0.80 per image and $0.10 in inference cost, you are running 87.5% gross margin before fixed overhead. Fixed costs - hosting, API infrastructure, support - run $2,000-4,000 per month depending on architecture. Breakeven at that margin is roughly 2,500-5,000 images per month.
Pricing and packaging for B2B
Prop-tech platforms buy API services differently from individual agents. They need predictable cost per listing, not per-seat pricing. The model that works best for high-volume photo workflows is per-image processed with a monthly minimum.
Recommended pricing structure: $0.60-1.50 per image depending on quality tier (standard 30s turnaround vs. priority 10s turnaround), with a $500-1,000 monthly minimum. Style variants - golden hour, deep blue dusk, dramatic sunset - can be offered as a single price or tiered by complexity. The monthly minimum ensures coverage for your fixed infrastructure costs even in low-volume months.
Day-to-dusk is frequently bundled with other photo enhancement services. Consider packaging it with sky replacement for exterior shots and HDR blending for interiors. A combined "listing photo enhancement API" that handles multiple transformations in one integration point is more valuable to a platform than three separate vendors.
The hardest technical problem: edge quality at complex boundaries
Sky replacement fails visibly at complex edges: tree branches in front of sky, wrought-iron fence elements, power lines, chimneys with irregular profiles. A mask that looks good at a glance has fringing artifacts at these boundaries - dark halos, color bleed, visible compositing seams. This is the quality problem that separates a demo that impresses from a pipeline that passes production review.
The approach that works at production quality: a two-pass segmentation strategy. First pass uses SAM with a coarse sky point prompt to get an initial mask. Second pass refines the mask edges using a matting network (e.g., ViTMatte or Robust Video Matting adapted for stills) that handles fine detail like tree branches and fence elements. The refined alpha matte gives clean blending even at complex boundaries.
The second edge problem is the building-sky contact line. Modern buildings have clean geometric edges that are easy to mask. Older buildings with irregular profiles, decorative cornices, or organic materials (timber cladding, stone) require higher mask precision at the roofline. Evaluate your target property type early: an MLS platform processing suburban tract homes has different edge complexity than one processing historic city-center properties.
Go-to-market: why the real estate photography agency is your first customer
MLS platforms are the highest-value customer but the longest sales cycle. A faster path to initial revenue is the real estate photography agency. Large photography agencies - the kind that handles 200-500 shoots per month for a regional market - currently outsource twilight editing to BoxBrownie or FixThePhoto. That is $800-5,000 per month they pay a competitor for a service you can replace at lower cost with faster turnaround.
Photography agency contracts are smaller ($12,000-60,000 per year) but they close in 2-4 weeks, provide real volume data for your pipeline, and give you documented case studies. Those case studies are what you bring to the MLS platform conversation 6 months later.
What you need before approaching either buyer:
- A demo that processes their own uploaded photos in real time, not a gallery of hand-picked examples
- Three style variants at minimum: warm golden hour, deep blue hour, dramatic sunset with dramatic sky
- Documented P95 processing time under 60 seconds, ideally under 30 seconds
- A written data policy: photos are processed and deleted, not stored or used for training
- A sandbox API key they can test without signing anything
The simplest way to deploy this pipeline
Most teams building this hit the same three walls: GPU provisioning takes weeks to configure reliably, ComfyUI workflow debugging is a specialist skill, and queue management under bursty load is harder than it looks. A photography agency that runs 300 shoots in a weekend creates a real spike - the kind that exposes infrastructure weaknesses immediately.
Runflow is built for this use case: upload your workflow, call the API, get the converted image back. Sub-2s cold starts, built-in autoscaling, queue management included. You do not need to hire a GPU infrastructure engineer to run a production-grade day-to-dusk service.
What you get: custom ComfyUI workflows via REST API, sub-2s cold starts, built-in queue management, usage-based billing with no minimum commitment to start, and direct support from the team building the infrastructure. The same stack that powers virtual staging pipelines handles sky replacement - the workflow is different, the infrastructure is identical.