Générez des vidéos d'annonces immobilières à partir de photos. Ajoutez sous-titres, musique, caractéristiques du bien et branding personnalisé — le tout depuis un seul appel JSON synchrone.
POST/api/create_video
Construit une vidéo MP4 à partir d'une liste d'images avec effets de mouvement, sous-titres optionnels, musique de fond, superpositions de caractéristiques du bien et cartes finales. L'endpoint est synchrone : il se bloque jusqu'à ce que la vidéo soit rendue, puis renvoie HTTP 200 avec l'videoUrl final.
L'endpoint se bloque jusqu'à 10 minutes pendant le rendu de la vidéo, puis renvoie l'URL lisible. Configurez le timeout de votre client HTTP à au moins 11 minutes — les 30–60 secondes par défaut de la plupart des bibliothèques HTTP couperont avant que Pedra ne réponde.
Si le rendu dépasse 10 minutes, l'endpoint renvoie 500 avec {"error": "Video processing timeout after 10 minutes..."}. La vidéo peut encore se terminer en arrière-plan — contactez le support avec le corps de la requête si cela arrive.
Paramètres principaux
apiKeystringobligatoire
Votre clé API.
imagesarrayobligatoire
Liste ordonnée d'objets image. Chacun devient une image/un clip dans la vidéo. Voir "Objet image" ci-dessous.
isVerticalboolean
Format vertical 9:16 pour Instagram Reels / TikTok. Par défaut 16:9 horizontal.
Default:false
propertyCharacteristicsarray
Tableau de paires {label, value} (Bedrooms, Bathrooms, Surface, Price, etc). Affiché uniquement lorsqu'une image a characteristics.enabled = true.
musicobject
Musique de fond. Objet : { enabled: boolean, track: string }.
Logo personnalisé, photo de l'agent et superposition de couleur de marque. Voir la section "Branding".
endingTitlestring
Titre affiché sur la carte finale.
endingSubtitlestring
Sous-titre sur la carte finale (généralement un CTA ou des coordonnées).
Objet image
Chaque entrée de images décrit une image :
imageUrlstringobligatoire
URL de la photo (ou URI data base64).
effectstringobligatoire
Effet de mouvement appliqué à cette image.
Values:zoom-inzoom-outstatictransition
secondImageUrlstring
Requis lorsque effect = "transition". Image vers laquelle effectuer la transition.
subtitlestring
Légende affichée sur cette image.
titlestring
Superposition de grand titre (par exemple, "Living Room", "Kitchen").
watermarkobject
Configuration du filigrane : { enabled, position, opacity }. Activé par défaut en bottom-right avec opacité 1.0. Mettez { enabled: false } pour désactiver.
characteristicsobject
Affiche la superposition propertyCharacteristics sur cette image : { enabled: true }.
Walkthrough de 7 images avec effets mélangés (zoom-in / zoom-out / transition / static), filigrane personnalisé + photo de l'agent + couleur de marque, musique, voix off, sous-titres par image, superposition des caractéristiques du bien et carte finale. Correspond au payload réel utilisé par l'application Pedra elle-même.
{
"message": "Video created successfully",
"videoId": "<uuid>",
"videoUrl": "https://pedraimages.s3.eu-west-3.amazonaws.com/<uuid>"
}
Crédits
Chaque image coûte 5 crédits — sauf les images avec effect: "static", qui sont gratuites. Une vidéo de 5 images avec tous les effets zoom-in/zoom-out déduit 25 crédits. Voir Tarification.
Erreurs de validation
HTTP 400 est renvoyé pour :
Tableau images manquant ou vide.
Toute image sans imageUrl (l'erreur indique l'index fautif).
effect hors de [zoom-in, zoom-out, transition, static].
effect: "transition" sans secondImageUrl.
Étiquettes de caractéristiques disponibles
Lorsque vous utilisez propertyCharacteristics, les clés d'étiquettes suivantes s'affichent avec des icônes correspondantes dans la superposition : Bedrooms, Bathrooms, Surface, Price, Location, Parking, Heating, Outdoor. Les étiquettes personnalisées sont acceptées mais s'affichent sans icône.
Suivant
Voir Erreurs et limites pour les modes d'échec des tâches vidéo et le comportement des timeouts.