real-estate-workflows
2
总安装量
2
周安装量
#65279
全站排名
安装命令
npx skills add https://github.com/bobby44-max/boston-luxury-re-producer --skill real-estate-workflows
Agent 安装分布
trae
2
gemini-cli
2
claude-code
2
github-copilot
2
windsurf
2
codex
2
Skill 文档
Real Estate Workflows
Core Pipeline
URL â Video Workflow
[Listing URL Input]
â
[Firecrawl Extraction]
â
[Data Validation]
â
[AI Script Generation]
â
[TTS Voiceover (Optional)]
â
[Remotion Render]
â
[Upload to Storage]
â
[Notify User]
Workflow API
Single Video Generation
POST /api/workflow/generate-video
{
listingUrl: "https://zillow.com/...",
videoType: "property-showcase",
options: {
voiceover: true,
music: "upbeat",
branding: {
agentName: "Jane Smith",
logoUrl: "https://..."
}
}
}
Batch Processing
POST /api/workflow/batch
{
urls: ["url1", "url2", "url3"],
videoType: "social-short",
options: { ... }
}
Status Tracking
GET /api/workflow/status/:jobId
{
jobId: "job_abc123",
status: "rendering",
progress: 65,
steps: [
{ name: "scrape", status: "complete", duration: 2.3 },
{ name: "script", status: "complete", duration: 4.1 },
{ name: "voiceover", status: "complete", duration: 8.2 },
{ name: "render", status: "in_progress", progress: 45 }
],
estimatedCompletion: "2024-01-15T10:30:00Z"
}
Detailed Rules
- URL to Video: See rules/url-to-video.md
- Batch Processing: See rules/batch-processing.md
- Social Distribution: See rules/social-distribution.md
Database Schema
Video Jobs (Convex)
defineTable({
userId: v.string(),
listingUrl: v.string(),
videoType: v.string(),
status: v.string(), // pending, scraping, generating, rendering, complete, failed
progress: v.number(),
propertyData: v.optional(v.any()),
script: v.optional(v.string()),
voiceoverUrl: v.optional(v.string()),
videoUrl: v.optional(v.string()),
thumbnailUrl: v.optional(v.string()),
error: v.optional(v.string()),
createdAt: v.number(),
completedAt: v.optional(v.number()),
})
Error Handling
| Error | Recovery |
|---|---|
| Scrape failed | Retry with fallback parser |
| AI timeout | Retry with shorter prompt |
| Render OOM | Reduce resolution, retry |
| Storage failed | Queue for later upload |
Webhook Notifications
// Configure in user settings
POST /webhooks/video-complete
{
event: "video.complete",
jobId: "job_abc123",
videoUrl: "https://storage.../video.mp4",
propertyAddress: "123 Main St",
timestamp: "2024-01-15T10:30:00Z"
}
Integrations
- Firecrawl: Property data extraction
- Gemini AI: Script generation
- OpenAI TTS: Voiceover synthesis
- Remotion Lambda: Video rendering
- Supabase Storage: Asset hosting
- Convex: Real-time job tracking
- Clerk: User authentication
- Stripe: Usage billing