For Property Marketing

Every Listing Visual. One API. Pay Per Image.

Virtual staging, photo enhancement, twilight conversions, marketing graphics — stop juggling vendors. One API key, 10+ models, results in seconds.

Images from $0.21 each. No subscriptions. No per-seat fees. No minimum commitments.

SORAPROPERTY— 200 bonus credits for listing-photo-to-video pilot demos. No credit card.
Sora 1 Shut Down 2 Days Ago

If your listing video pipeline used Sora, it’s already broken. CreativeAI is a drop-in replacement — same OpenAI SDK, 5+ video models, async webhook delivery.

Migration plan
Try It Now

First Listing Video in 60 Seconds

Sign up, grab your API key, and paste this command. Your listing photo becomes a 5-second cinematic clip — no SDK, no integration, just one curl.

1

Sign up (free)

50 credits included. No credit card. Takes 30 seconds.

Create account
2

Copy your API key

Dashboard → API Keys → Create. Starts with rph_live_.

API key docs
3

Paste the command below

Replace the photo URL with any listing image. Video delivers in 60–90s.

curl — Listing Photo to 5s Cinematic Video (Vidu 2.0)
curl -X POST https://api.creativeai.run/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vidu-2.0",
    "image_url": "https://your-cdn.com/listing-photo.jpg",
    "prompt": "Gentle cinematic dolly forward through this room, warm afternoon light",
    "duration": 5,
    "webhook_url": "https://your-app.com/webhooks/creativeai"
  }'

# Returns immediately with { "id": "job_...", "status": "processing" }
# Webhook fires in ~60-90 seconds with the MP4 URL.
# Or poll: GET /v1/video/generations/{id}
# Cost: 5 credits (~$0.36) — included in your free signup credits.
Vidu 2.0: 5 credits (~$0.36/clip) — fast, cost-efficient
Kling v2.1: 12 credits (~$0.84/clip) — cinematic quality
Same endpoint, same webhook — just change the model field
60–90s
per listing video

Listing Videos in Seconds — Not Hours

Traditional listing-video services promise 24-hour turnaround. With CreativeAI's async API, each room renders in 60–90 seconds and delivers via webhook independently. A 4-room listing package finishes in under 2 minutes — not the next business day.

4 rooms = ~$1.44 total (Vidu) or ~$3.36 (Kling)
All rooms render in parallel
Webhook per room — no batch waiting
The Problem

You're Sending $879/mo to Three Different Vendors

Staging companies, photo editors, twilight conversion services, stock libraries — each with its own portal, pricing, and turnaround time.

Virtual staging service~10-20 rooms/mo
$25-75/image
Photo editing / enhancementColor, sky, cleanup
$5-15/image
Twilight conversion serviceDay-to-dusk edits
$10-30/image
Stock imagery for marketingLifestyle & neighborhood
$29/mo
Typical monthly spend$879/mo
That's $10,548/year — and you still wait hours for each delivery
Comparison

Vendor Stack vs. One API

Feature
Traditional Vendors
CreativeAI
Cost model
Per-image fees to multiple vendors
One credit balance, all tasks — from $0.21/image
Turnaround time
4-48 hours depending on vendor queue
Seconds — API returns results instantly
Staging + enhancement + sky
Three separate vendors, three logins
One API key handles all three workflows
Batch processing
Upload one-by-one per vendor portal
Script 50 listings in a single loop
Consistency across listings
Style varies by editor, vendor, and day
Same prompt template = same look every time
Integration with MLS / CRM
Manual download-upload workflow
REST API plugs into any PropTech stack
Commercial license
Check each stock image license individually
Included on all generated images
For Platform Builders

Why Not Integrate Kling / Vidu Directly?

If you're building a listing-video platform (Property Video AI, AutoReel, or similar), you could integrate each video provider directly. Here's what that means in practice.

Concern
Direct Provider APIs
CreativeAI Unified Backend
Rate-limit handling
Your code must catch 429s and queue retries per provider
Automatic 429 failover — routes to an equivalent model instantly
Provider outage
Listing pipeline stalls until provider recovers
Transparent failover to another video model — zero downtime for your agents
Webhook format
Each provider sends different callback payloads — build a normalizer per API
One HMAC-signed webhook format for every model, with auto-retry on failure
Billing & invoicing
Separate accounts, invoices, and spend caps per provider
One credit balance, one invoice — set per-client spend caps via API keys
New model adoption
Re-integrate from scratch when a better model ships
Change one model parameter — same endpoint, same webhook, same billing
SDK compatibility
Proprietary client library per provider
Standard OpenAI SDK — any stack that supports OpenAI works out of the box
Refunds on failure
Negotiate per-provider refund policy
Automatic credit refund if render times out — no manual claims

Bottom line: Direct integration means building and maintaining failover, webhook normalization, billing aggregation, and model-migration logic yourself — for every provider. CreativeAI handles all of that behind one endpoint so you can focus on your listing-video product, not infrastructure.

Why CreativeAI

Built for Teams That Move Listings Fast

Pay Only When You Generate

Images cost $0.21–$0.30 each (3 credits per image). No monthly staging subscriptions, no per-seat fees. Quiet month in the market? Your bill drops to near zero.

10+ Models, One Account

Photorealistic interiors (Seedream), creative marketing graphics (Flux), and property video (Kling, Vidu) — all from one API key. Pick the best model for each job.

Results in Seconds, Not Hours

Traditional staging takes 24-48 hours. CreativeAI returns images in seconds. List faster, iterate on styling instantly, and never miss a deadline.

Consistent Listing Style

Use the same prompt template across every listing for a unified brand look. No more style variation between different editors or staging vendors.

OpenAI SDK Compatible

Integrates with any PropTech stack, CRM, or MLS tool that supports OpenAI's image API. Automate your entire listing photo pipeline.

Commercial Rights Included

Every generated image is yours to use on MLS, Zillow, Realtor.com, social media, print flyers, and anywhere else. No extra licensing fees.

Use Cases

What Property Marketers Generate

Virtual Staging

Generate furnished room images from text descriptions. Specify style, furniture, lighting, and layout. Produce multiple staging options per room so sellers can choose their favorite.

Prompt: "Bright living room with mid-century modern furniture, warm oak floors, large windows with sheer curtains, professionally staged for real estate listing"

Twilight & Golden Hour Conversions

Transform daytime exterior shots into stunning twilight or golden-hour scenes. Warm interior glow, dramatic sky, landscape lighting — the visual style that sells homes faster.

Prompt: "Luxury home exterior at twilight, warm lights glowing from windows, dramatic sunset sky, professional real estate photography"

Sky Replacement & Photo Enhancement

Generate versions of your listing with perfect blue skies, dramatic sunsets, or seasonal settings. Enhance curb appeal without waiting for the right weather.

Prompt: "Beautiful suburban home, perfect blue sky with white clouds, manicured lawn, vibrant colors, professional listing photo"

Marketing & Social Media Visuals

Create open house announcements, just-listed graphics, neighborhood lifestyle images, and agent branding content — all from text prompts, all on-brand.

Prompt: "Modern real estate social media post, luxury property, elegant typography space, dark background, gold accents"

Vacant Property Visualization

Help buyers visualize potential in empty spaces. Generate different room configurations, color schemes, and decor styles to match buyer demographics.

Prompt: "Empty loft space reimagined as open-concept kitchen and dining area, industrial chic style, exposed brick, pendant lighting"

Commercial Property Marketing

Visualize office fit-outs, retail configurations, and mixed-use spaces. Show prospects what a raw commercial space could become with the right tenant.

Prompt: "Modern open-plan office with standing desks, collaboration areas, glass meeting rooms, natural light, commercial real estate listing"

Listing Photo → Video Clips

Turn existing listing photos into short walkthrough-style video clips via async API. Submit one photo or an entire listing photo-set in parallel — each room fires as a separate async job and delivers via webhook independently. Perfect for MLS video fields, social reels, and property portal listings.

POST /v1/video/generations with image_url + webhook_url → 5s cinematic push delivered async

Real Numbers

What It Actually Costs

A team processing 50 listings/month at ~5 images each (250 images)

Traditional Vendor Stack

Separate staging, editing, and twilight services

Virtual staging service$500/mo
Photo editing / enhancement$200/mo
Twilight conversion service$150/mo
Stock imagery for marketing$29/mo
Monthly total$879/mo
Annual$10,548/yr
CreativeAI

Pay-Per-Image

One API for staging, enhancement, and marketing

250 images/mo (~$0.21 avg)~$52.50
Slow month (50 images)~$10.50
Monthly minimum$0
Typical monthly cost~$52.50/mo
Annual (estimated)~$630/yr
Save ~$9,918/year vs. traditional vendors
Listing Video Economics

Per-Asset Video Costs, Not Subscription Fog

Every listing video is a single API call with a known credit cost. No monthly seats, no per-listing platform fees — just pay for what you render.

1 Room Clip (5s)
~$0.84–$1.20
12 credits · Kling v2.1
1 Room Clip (5s)
~$0.36–$0.50
5 credits · Vidu
4-Room Listing
~$3.36–$4.80
48 credits · Kling v2.1
4-Room Listing
~$1.40–$2.00
20 credits · Vidu
Stock footage subscription
$29+/mo
Generic clips, not your listing
Custom videography
$200+/listing
Scheduling, travel, turnaround
CreativeAI (4 rooms)
$1.44–$4.80
Parallel async, webhook delivery, 60–90s
All rooms render in parallel — no sequential queue
Each room delivers via independent webhook callback
Slow months cost $0 — no minimum commitment

Full Listing Cost — Photos + Staging + Video

What it actually costs to process one 4-room listing end-to-end via API.

TaskQuantityCost Range
Photo enhancement (sky, color, cleanup)10 photos$2.10–$3.00
Virtual staging (empty → furnished)4 rooms$0.84–$1.20
Listing video clips (5s each, async)4 rooms$1.44–$4.80
Total per listing$4.38–$9.00
50 listings/mo = $219–$450 vs $700+ traditional
Scale up or down — zero monthly minimum
All tasks run via one API key, one credit balance

Listing-Video App Margin Calculator

Building a listing-video SaaS like ListingHub or RealtyVideo? Here's what your unit economics look like when you white-label CreativeAI as your video backend.

MetricLow EstimateHigh Estimate
You charge per listing$15$30
Your API cost per listing (photos + staging + 4 clips)$4.38$9.00
Gross margin per listing$10.62 (71%)$21.00 (70%)
At 200 listings / month$2,124 margin$4,200 margin
No monthly minimums — margin scales linearly with volume
Per-client API keys with spend caps — full cost control
White-label: zero CreativeAI branding on outputs
Subscription Plan Math

Your Listing Video Subscription Plans

Real-estate video SaaS companies sell monthly plans — free tier, $29/mo, $79/mo. Here's what each plan tier actually costs you in API spend.

Your Plan TierListings / moVideos / listingAPI CostYou ChargeMargin
Free / Trial32 clips~$2.16$0CAC — lead capture
Starter — $29/mo103 clips~$10.80$29$18.20 (63%)
Pro — $79/mo404 clips~$57.60$79$21.40 (27%)
Agency — $199/mo1204 clips~$172.80$199$26.20 (13%)

Math: each 5s listing clip = 5 credits (Vidu 2.0) at ~$0.36/clip or 12 credits (Kling v2.1) at ~$0.84/clip. Table uses Vidu for cost-optimized plans. Same endpoint — swap the model field to offer a premium tier at Kling quality. Bulk credit packs lower per-credit cost further.

Free-tier cost stays under $3/mo — cheaper than a single Facebook ad click to acquire the same lead.

Volume Discount

Larger credit packs reduce per-credit cost well below $0.08 — margins widen as your subscriber base grows.

No Monthly Minimums

Slow month? You pay zero in API costs. Credits don't expire. Your margin never inverts even when churn spikes.

“Unlimited” Plans

Selling unlimited videos? Cap at 200 listings/mo and your API spend is still under $145 — charge $149/mo for 97%+ margin on average usage.

Production Pipeline

Listing Photo to Publish-Ready Video in 4 Steps

How Property Video AI, listing-video SaaS, and real estate media apps use CreativeAI to ship listing videos at scale — with production-grade delivery guarantees your clients can depend on.

Step 1

Upload Listing Photos

Your app sends listing photo URLs (any CDN) to POST /v1/video/generations with a motion prompt per room.

All rooms submit in parallel — no sequential queue.

Step 2

Async Job Returns Instantly

Each room gets a unique job ID. Your API call returns in <1s — no blocking, no long-poll.

Status: pending → processing → completed.

Step 3

Webhook Delivers Per-Room

Each room fires its own signed webhook independently when rendering completes (60-90s typical).

HMAC-SHA256 verified. Auto-retry on failure.

Step 4

Publish-Ready Video

CDN-hosted MP4 URL delivered in the callback. Match job ID → listing → room and publish to MLS / portal.

All rooms done? Assemble the listing package.

Production Delivery Guarantees

What your SLA page can promise when CreativeAI is your video backend.

HMAC-SHA256 Signed Webhooks

Every callback includes a verifiable signature using your API key. Reject spoofed payloads with a single HMAC check.

Automatic Retry on Failure

If your endpoint returns non-2xx, CreativeAI retries delivery automatically. Your pipeline never silently drops a completed render.

7-Day Idempotency Window

Duplicate webhook deliveries are safe — each job ID is deduped for 7 days. Process-once logic without building your own dedup layer.

429 Failover Across Providers

If one video model provider is rate-limited, CreativeAI automatically fails over to an equivalent model. Your listing pipeline never stalls on a 429.

Timeout Refund Guarantee

If a render exceeds the timeout threshold, credits are refunded automatically. You never pay for a video that was not delivered.

Per-Room Independent Status

Each room in a listing reports its own status. Poll GET /v1/video/generations/{id} any time, or wait for per-room webhooks — no all-or-nothing batches.

Easy Integration

Add AI Visuals to Your Listing Workflow

OpenAI SDK compatible — if your PropTech stack works with OpenAI, it works with CreativeAI. Or use the web Studio with zero code.

Python — Virtual Staging
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_CREATIVEAI_KEY",
    base_url="https://api.creativeai.run/v1"
)

# Virtual staging — describe the room you want
result = client.images.generate(
    model="seedream-3.0",
    prompt="Modern living room with light oak floors, neutral "
           "Scandinavian furniture, large windows with natural "
           "light, professionally staged for real estate listing",
    size="1536x1024"
)

print(result.data[0].url)  # Staged image URL
cURL — Direct HTTP
curl -X POST https://api.creativeai.run/v1/images/generations \
  -H "Authorization: Bearer YOUR_CREATIVEAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "Luxury kitchen with marble countertops, pendant lighting, staged for MLS listing, professional real estate photography",
    "size": "1536x1024"
  }'
Python — Batch Processing Listings
# Process every listing in a spreadsheet
import csv

for row in csv.DictReader(open("listings.csv")):
    result = client.images.generate(
        model="seedream-3.0",
        prompt=f"Professionally staged {row['room_type']}, "
               f"{row['style']} decor, bright natural light, "
               f"real estate listing photo",
        size="1536x1024"
    )
    save_to_mls(row["listing_id"], result.data[0].url)
Python — Listing Photo → Video (Async + Webhook)
import requests

API_KEY = "your_api_key"

# Turn a listing photo into a walkthrough-style video clip
submit = requests.post(
    "https://api.creativeai.run/v1/video/generations",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "kling-v3",
        "prompt": "Slow cinematic camera push into a staged living room, "
                  "natural light from windows, smooth steady movement",
        "image_url": "https://cdn.example.com/listings/123-living-room.jpg",
        "duration": "5s",
        "aspect_ratio": "16:9",
        "webhook_url": "https://your-app.com/webhooks/creativeai",
    },
    timeout=60,
)
submit.raise_for_status()
job = submit.json()
print(job["id"], job["status"])  # async — returns immediately

# Webhook delivers the rendered video URL when complete.
# Or poll if you can't receive inbound webhooks:
result = requests.get(
    f"https://api.creativeai.run/v1/video/generations/{job['id']}",
    headers={"Authorization": f"Bearer {API_KEY}"},
    timeout=30,
).json()
print(result["status"], result.get("video_url"))
Python — Batch Photo-Set → Parallel Video (Full Listing)
import httpx, asyncio, json

API_KEY = "your_api_key"
WEBHOOK = "https://your-app.com/webhooks/creativeai"

# All photos for a single listing — submit as parallel video jobs
listing_photos = [
    {"room": "living-room",  "url": "https://cdn.example.com/listings/42/living.jpg",
     "prompt": "Slow cinematic push into a bright living room, natural window light"},
    {"room": "kitchen",      "url": "https://cdn.example.com/listings/42/kitchen.jpg",
     "prompt": "Gentle pan across modern kitchen island, warm afternoon light"},
    {"room": "master-bed",   "url": "https://cdn.example.com/listings/42/master.jpg",
     "prompt": "Slow dolly forward into spacious bedroom, soft ambient lighting"},
    {"room": "backyard",     "url": "https://cdn.example.com/listings/42/yard.jpg",
     "prompt": "Wide establishing shot, subtle zoom into landscaped backyard, golden hour"},
]

async def submit_video(client: httpx.AsyncClient, photo: dict) -> dict:
    resp = await client.post(
        "https://api.creativeai.run/v1/video/generations",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "model": "kling-v3",
            "image_url": photo["url"],
            "prompt": photo["prompt"],
            "duration": "5s",
            "aspect_ratio": "16:9",
            "webhook_url": WEBHOOK,
        },
        timeout=60,
    )
    resp.raise_for_status()
    return {"room": photo["room"], **resp.json()}

async def process_listing(photos: list[dict]) -> list[dict]:
    async with httpx.AsyncClient() as client:
        jobs = await asyncio.gather(*[submit_video(client, p) for p in photos])
    return jobs

# Submit all 4 rooms in parallel — each returns immediately
jobs = asyncio.run(process_listing(listing_photos))
for j in jobs:
    print(f"{j['room']}: job {j['id']} — {j['status']}")

# Cost: 4 rooms × ~$0.36/video = ~$1.44 per listing
# All 4 webhooks fire independently as each room finishes (~60-90s)
# Your backend matches job IDs to rooms and assembles the listing package
Python (FastAPI) — Webhook Receiver: Match Callback to Listing + Room
import hmac, hashlib, json
from fastapi import FastAPI, Request, HTTPException

app = FastAPI()

# Store pending jobs when you submit them:
# pending_jobs[job_id] = {"listing_id": "42", "room": "kitchen"}

@app.post("/webhooks/creativeai")
async def handle_video_callback(request: Request):
    body = await request.body()

    # 1. Verify HMAC-SHA256 signature (secret = your API key)
    sig = request.headers.get("x-creativeai-signature", "")
    expected = "sha256=" + hmac.new(
        API_KEY.encode(), body, hashlib.sha256
    ).hexdigest()
    if not hmac.compare_digest(sig, expected):
        raise HTTPException(401, "Invalid signature")

    event = json.loads(body)
    job_id = event["id"]
    status = event["status"]            # "completed" or "failed"
    video_url = event.get("video_url")  # CDN URL when completed

    # 2. Match callback to listing + room
    job = pending_jobs.get(job_id)
    if not job:
        return {"ok": True}  # idempotent — already processed

    # 3. Update your listing record
    if status == "completed":
        await save_video_to_listing(
            listing_id=job["listing_id"],
            room=job["room"],
            video_url=video_url,
        )
        await mark_room_ready(job["listing_id"], job["room"])

    # 4. Check if all rooms are done -> notify agent / publish MLS
    if await all_rooms_ready(job["listing_id"]):
        await publish_listing_video_package(job["listing_id"])

    del pending_jobs[job_id]
    return {"ok": True}

# Webhook payload you receive:
# {
#   "id": "vg_abc123",
#   "status": "completed",
#   "video_url": "https://cdn.creativeai.run/videos/vg_abc123.mp4",
#   "model": "kling-v3",
#   "duration": "5s",
#   "created_at": "2026-03-12T10:00:00Z",
#   "completed_at": "2026-03-12T10:01:12Z"
# }
Python — Render Status Tracker: Per-Room Progress Dashboard for Your UI
import httpx, asyncio, time

API_KEY = "your_api_key"
BASE    = "https://api.creativeai.run/v1/video/generations"

# After submitting all rooms (see batch example above), poll for status:
async def track_listing_render(jobs: list[dict], poll_interval: int = 5):
    """
    Poll all room jobs and yield status updates until every room is done.
    Perfect for feeding a real-time dashboard or SSE stream to your frontend.
    """
    pending = {j["id"]: j["room"] for j in jobs}
    results = {}

    async with httpx.AsyncClient() as client:
        while pending:
            for job_id, room in list(pending.items()):
                resp = await client.get(
                    f"{BASE}/{job_id}",
                    headers={"Authorization": f"Bearer {API_KEY}"},
                    timeout=15,
                )
                data = resp.json()
                status = data["status"]

                # Yield per-room status update (push to your UI via SSE / WS)
                yield {
                    "room": room,
                    "job_id": job_id,
                    "status": status,         # pending | processing | completed | failed
                    "video_url": data.get("video_url"),
                    "elapsed": time.time(),
                }

                if status in ("completed", "failed"):
                    results[room] = data
                    del pending[job_id]

            if pending:
                await asyncio.sleep(poll_interval)

    # All rooms done — assemble the listing package
    yield {
        "event": "listing_complete",
        "rooms_completed": len([r for r in results.values() if r["status"] == "completed"]),
        "rooms_failed":    len([r for r in results.values() if r["status"] == "failed"]),
        "results": results,
    }

# Usage in your API handler (FastAPI + SSE example):
#
# @app.get("/listings/{id}/render-status")
# async def stream_render_status(id: str):
#     jobs = await get_pending_jobs(id)
#     async def generate():
#         async for update in track_listing_render(jobs):
#             yield f"data: {json.dumps(update)}\n\n"
#     return StreamingResponse(generate(), media_type="text/event-stream")
#
# Your frontend renders:
#   Kitchen ........... ✅ Completed (62s)
#   Living Room ....... ⏳ Processing
#   Master Bedroom .... ⏳ Processing
#   Backyard .......... 🕐 Pending

Show your users real-time per-room render progress (Kitchen ✅ Completed · Living Room ⏳ Processing). Poll the status endpoint or use webhooks — either way, each room reports its own status independently. Perfect for building listing-level progress bars in your PropTech dashboard.

Partner & White-Label Ready

Build Property Tools On Top of Our API

If you're a PropTech platform, virtual staging app, or real estate SaaS — use CreativeAI as your backend image engine. Your brand, your UI, our models.

Backend API, Not Just a Studio

CreativeAI is an API-first service. Your users never see our brand — they see yours. Embed staging, enhancement, and sky replacement behind your own interface.

Per-Key Spend Controls

Issue separate API keys per client or team with individual spend caps, rate limits, and expiration dates. Monitor usage per key — ideal for reseller and agency models.

Volume-Friendly Pricing

Pay-per-image from $0.21. No per-seat fees, no monthly minimums. Your margin stays healthy whether you process 100 or 100,000 images/month.

Consistent Multi-Room Output

Same prompt template across every listing produces a uniform brand look. Use the same style parameters for staging, enhancement, and marketing across an entire portfolio.

Batch Processing via API

Script 50 listings in a single loop with bounded concurrency. Output JSONL manifests for downstream MLS/CRM ingestion. No manual upload portals.

Disclosure-Safe Workflows

We generate the images — your platform handles compliance labeling per local MLS rules. No hidden watermarks or metadata that conflict with your disclosure workflow.

Frequently Asked Questions

API Shutdown Deadlines

Your Listing Video Provider Is Shutting Down

If your property video pipeline used Sora, it’s already broken. DALL-E staging pipelines break in 58 days. CreativeAI is a drop-in replacement — same OpenAI SDK, one API key for both image and video.

Sora 1 Shutdown

Shut down March 13, 2026
  • Sora 1 was permanently shut down — listing video pipelines are broken
  • Sora 2 requires $200/mo ChatGPT Pro — no API access
  • 5+ video models: Kling v3, Seedance 1.5, Veo 3.1 & more
  • Async listing video with webhook delivery per room

Use code SORASWITCH for 50 free video credits. No subscription.

DALL-E 2 & 3 Shutdown

May 12, 2026 — 58 days left
  • DALL-E 3 shuts down in 58 days — staging image pipelines will break
  • DALL-E 2 already deprecated and unavailable
  • CreativeAI routes to gpt-image-1, Seedream 3 & 4+ more models
  • Same OpenAI SDK — change base_url and api_key

Use code DALLE1000 for 3,000 free credits (~1,000 staging images).

Property pipeline migration — 2 lines

# Before (DALL-E / Sora direct)
client = OpenAI(api_key="sk-...")

# After (CreativeAI — same SDK, image + video)
client = OpenAI(
    api_key="YOUR_CREATIVEAI_KEY",
    base_url="https://api.creativeai.run/v1"
)
# Your existing staging + listing video code works unchanged
Proof by Buyer Type

Three Proof Bundles for Three Buyer Types

Whether you're building a virtual staging app, a listing-video platform, or a PropTech integration — here are the exact pages that answer your top questions.

Virtual Staging Platforms

Realie, roOomy-style apps — photo-realistic staging, consistent multi-room output, white-label API.

Listing Video Platforms

Property Video AI, AutoReel, Real Estate Video AI, Amplifiles-style apps — listing photo → video in 60–90s (not 24 hours), webhook delivery per room, ~$0.36/clip.

PropTech & MLS Integrators

CRM tools, MLS platforms, portfolio managers — batch API, OpenAI SDK compatibility, white-label backend.

Your Next Listing Photo Costs $0.21

50 free credits on signup — enough to stage rooms, enhance photos, and test marketing visuals. No credit card required.

SORAPROPERTY— 200 bonus credits for production-grade listing videos & staging images. No strings.

Web Studio for no-code use • OpenAI SDK compatible for PropTech integrations