Create an AI-powered real estate video with virtual staging and automatic narration
Documentation Index
Fetch the complete documentation index at: https://docs.vibepeak.ai/llms.txt
Use this file to discover all available pages before exploring further.
url (required): Publicly accessible HTTP(S) URL of the property imageroom_type (optional): Type of room for better AI processing| Value | Description |
|---|---|
no_modify | Keep rooms as-is, add realistic people for a lived-in feel |
change_decoration | Modernize old or outdated furniture and decor |
furnish | Add virtual furniture to empty rooms |
change_decoration and furnish modes use AI virtual staging to transform your images. Processing may take longer for these modes.| Images | Min characters | Max characters |
|---|---|---|
| 1 | 65 | 85 |
| 3 | 195 | 255 |
| 5 | 325 | 425 |
| 9 | 585 | 765 |
SCRIPT_TOO_SHORT or SCRIPT_TOO_LONG.true, adds ambient music that complements the property video. The music is automatically mixed at an appropriate volume to not overpower the narration.subtitle_style_preset for quick setup or styles for granular control. Providing both will result in a validation error.vpk_test_) keys and silently ignored for live keys, so it is safe to leave in shared request-building code.| Value | Outcome |
|---|---|
success | Synthetic task completes with a watermarked sample video |
fail | Synthetic task fails with a sanitized, public-safe error |
slow | Like success, but completes after a noticeably longer delay |
202 Accepted response with task details.
queued for new tasks.0 for test-mode requests.true for live (vpk_live_) requests; false for test-mode (vpk_test_) requests. Use this to tell a real task from a sandbox one. See Test Mode.self: URL to poll for task statuspoll_interval_seconds: Recommended polling interval (30 seconds)| Header | Description |
|---|---|
Location | URL to poll for task status (/v1/tasks/{taskId}) |
Retry-After | Recommended polling interval in seconds (30) |
| Code | Status | Description |
|---|---|---|
VALIDATION_ERROR | 400 | Invalid request parameters |
INVALID_IMAGE_URL | 400 | One or more image URLs are inaccessible or invalid |
IMAGE_RESOLUTION_TOO_LOW | 400 | One or more images are below the HD floor (long ≥ 1280 px, short ≥ 720 px) |
SCRIPT_TOO_SHORT | 400 | Script is shorter than image_count × 65 characters |
SCRIPT_TOO_LONG | 400 | Script is longer than image_count × 85 characters |
SCRIPT_INVALID_CHARACTERS | 400 | Script contains numbers or special symbols not supported by TTS |
VOICE_NOT_FOUND | 404 | The specified voice ID does not exist |
VOICE_ACCESS_DENIED | 403 | The specified voice is not accessible to your account |
INVALID_API_KEY | 401 | Invalid or missing API key |
PLAN_REQUIRED | 403 | Plan doesn’t include API access |
INSUFFICIENT_CREDITS | 402 | Not enough credits to process the request |
CONCURRENCY_LIMIT_EXCEEDED | 429 | Concurrent task limit reached |
SERVICE_UNAVAILABLE | 503 | Video generation service temporarily unavailable |
change_decoration and furnish take longer)Retry-After header (30 seconds) as a guide for polling frequency.