Generate real estate marketing videos from property data. Use when creating property showcases, social media content, market reports, or neighborhood tours. Integrates Firecrawl scraped data with Remotion rendering.
| Type | ID | Duration | Aspect | Use Case |
|---|---|---|---|---|
| Property Showcase | property-showcase | 30s | 16:9 | Listing promotion |
| Social Short | social-short | 9s | 9:16 | TikTok/Reels |
| Market Stats | market-stats | 20s | 16:9 | Monthly reports |
| Neighborhood Tour | neighborhood-tour | 45s | 16:9 | Area marketing |
| Agent Intro | agent-intro | 15s | 9:16 | Personal branding |
| Testimonial | testimonial |
| 20s |
| 16:9 |
| Social proof |
| Just Listed | just-listed | 12s | 9:16 | New listing alert |
| Just Sold | just-sold | 12s | 9:16 | Sales proof |
| Open House | open-house | 15s | 9:16 | Event promotion |
| Price Drop | price-drop | 10s | 9:16 | Price reduction |
[Listing URL] → [Firecrawl Extract] → [Property Data]
↓
[AI Script Generator] ← [Property Data + Video Type]
↓
[Remotion Composition] → [Rendered Video]
↓
[Optional: OpenAI TTS] → [Voiceover Audio]
POST /api/video/generate
{
listingUrl: "https://zillow.com/...",
videoType: "property-showcase",
voiceoverEnabled: true,
branding: {
agentName: "John Doe",
brokerageName: "Apex Realty",
logoUrl: "https://...",
primaryColor: "#0dccf2"
}
}
// Response
{
success: true,
videoId: "vid_abc123",
status: "rendering",
estimatedTime: 120 // seconds
}
GET /api/video/status?id=vid_abc123
{
status: "complete",
videoUrl: "https://storage.../video.mp4",
thumbnailUrl: "https://storage.../thumb.jpg",
duration: 30,
propertyData: { ... }
}
See individual rules for each video type:
All videos support custom branding: