Generate listing videos from photos. Add subtitles, music, property characteristics, and custom branding — all from a single synchronous JSON call.
POST/api/create_video
Builds an MP4 video from a list of images with motion effects, optional subtitles, background music, property characteristic overlays, and ending cards. The endpoint is synchronous: it blocks until the video is rendered, then returns HTTP 200 with the final videoUrl.
The endpoint blocks while the video renders, then returns the playable URL. Rendering can take several minutes, so set your HTTP client timeout generously — the default of 30–60s on most HTTP libraries will hang up before Pedra responds.
Top-level parameters
apiKeystringrequired
Your API key.
imagesarrayrequired
Ordered list of image objects. Each becomes a frame/clip in the video. See "Image object" below.
isVerticalboolean
9:16 vertical format for Instagram Reels / TikTok. Default is 16:9 horizontal.
Default:false
propertyCharacteristicsarray
Array of {label, value} pairs (Bedrooms, Bathrooms, Surface, Price, etc). Only shown when an image has characteristics.enabled = true.
{
"message": "Video created successfully",
"videoId": "<uuid>",
"videoUrl": "https://img.pedra.ai/<uuid>"
}
Credits
Each frame costs 5 credits — except frames with effect: "static", which are free. A 5-image video with all zoom-in/zoom-out effects deducts 25 credits. See Pricing.
Validation errors
HTTP 400 is returned for:
Missing or empty images array.
Any image missing imageUrl (error names the offending index).
effect not in [zoom-in, zoom-out, transition, static].
effect: "transition" without secondImageUrl.
Available characteristic labels
When using propertyCharacteristics, the following label keys render with matching icons in the overlay: Bedrooms, Bathrooms, Surface, Price, Location, Parking, Heating, Outdoor. Custom labels are accepted but render without an icon.
Next
See Errors & limits for video job failure modes and timeout behavior.