API Vidéo - Création
Crée une vidéo complète avec plusieurs séquences. Chaque séquence peut contenir des médias (images ou vidéos) animés selon le type d’animation spécifié. Vous pouvez ajouter une intro, une outro, des transitions entre séquences, un logo, et des effets avant/après.POST /api/video-editor/generate/video
Authentification
Toutes les requêtes doivent inclure l’en-tête :x-api-key: VOTRE_API_KEY
En-têtes
Votre clé API IACrea
Doit être
application/jsonCorps de requête
Objet vidéo contenant toutes les séquences et paramètres
Format de la vidéo :
"landscape" | "portrait" | "square"Template vidéo. Défaut :
"SaleProperty". Optionnel.URL de la musique de fond. Optionnel.
Police de caractères (ex :
"Inter"). Défaut : "Inter". Optionnel.Tableau de deux couleurs
[background, text] (ex : ["#1a1a2e", "#ffffff"]).
La première couleur est le fond, la seconde la couleur du texte.Active l’affichage du logo sur les séquences vidéo/image (coin supérieur
droit, 100 px). Le logo sur les intro/outro est contrôlé séparément via
sequence.data.displayLogo.URL du logo. Nécessaire si
displayLogo=true ou si vous souhaitez afficher le
logo sur les intros/outros. Optionnel.Séquences
Tableau de séquences vidéo ordonnées. Chaque séquence représente un clip dans
la vidéo finale. Les séquences sont composées dans l’ordre de leur champ
order.Ordre d’affichage de la séquence dans la vidéo (commence à 0). L’intro doit
être en premier (
0), l’outro en dernier.Durée de la séquence en secondes. - Séquences
"video" : max 5 secondes
(plafonné automatiquement) - Séquences "intro" : 2 à 5 secondes (recommandé
: 3) - Séquences "outro" : 3 à 5 secondes (recommandé : 5) - Séquences
"image" : libreType de séquence : -
"intro" — Écran d’introduction (logo + texte de
présentation) - "outro" — Écran de fin (logo + coordonnées ou texte) -
"video" — Séquence vidéo animée (déclenche la génération IA) - "image" —
Séquence image statique - "beforeAfter" — Séquence avant/après (slide
comparatif statique)Type d’animation. Valeurs possibles :Mouvements de caméra :
"CAMERA_PUSH_IN"— Zoom avant"CAMERA_PUSH_OUT"— Zoom arrière"CAMERA_MOVE_RIGHT"— Déplacement vers la droite"CAMERA_CRANE_UP"— Mouvement vers le haut"CAMERA_ORBIT_LEFT"— Rotation vers la gauche
"AUTO_EFFECTS"— Animation automatique (prompt généré par IA)"AUTO_REVERSE"— Animation automatique inversée
"REALTOR_SMILING"— Animation portrait agent immobilier
"BEFORE_AFTER_INTERIOR"— Transformation intérieur (meublage progressif)"BEFORE_AFTER_EXTERIOR"— Transformation extérieur (aménagement paysager)"BEFORE_AFTER_DECLUTTER"— Débarras (meubles qui disparaissent)"BEFORE_AFTER_RENOVATION"— Rénovation (timelapse avec équipe de rénovation)
"none"— Aucune animation"fade"— Fondu simple
Médias
Tableau de médias pour cette séquence. Au moins un média requis pour les types
"video" et "image". Les séquences "intro" et "outro" n’ont pas besoin
de médias (tableau vide []).URL de l’image ou de la vidéo source. Pour les effets BEFORE_AFTER, il s’agit
de l’image “avant”.
Temps de début du média dans la séquence (en secondes). Généralement
0.Temps de fin du média dans la séquence (en secondes). Doit correspondre à la
durée.
Ordre du média dans la séquence. Optionnel. Défaut :
0.Média actif dans la séquence. Mettez
true pour le média principal.
Optionnel.Données de séquence (data)
Données supplémentaires pour la séquence. Le contenu varie selon le type de
séquence.
Données Intro (type: "intro")
Texte affiché sous le logo (ex :
"vous présente", "À vendre").Afficher le logo (de
video.logoUrl) sur l’intro. Défaut : true.Couleur de fond personnalisée pour l’intro (ex :
"#1a1a2e"). Défaut :
première couleur de video.colors.Données Outro (type: "outro")
URL de la photo de profil (agent, conseiller). Affichée en cercle.
Afficher l’avatar sur l’outro. Défaut :
true.Nom affiché sur l’outro (ex :
"Jean Dupont").Email affiché sur l’outro.
Téléphone affiché sur l’outro.
Afficher le logo (de
video.logoUrl) sur l’outro. Défaut : true.Couleur de fond personnalisée pour l’outro.
Interview et Sample (générique) :
Titre affiché sur l’outro.
Description affichée sous le titre.
Données Before/After
Requis pour les effets BEFORE_AFTER. URL de l’image “après”
transformation. L’image “avant” est fournie via
medias[0].url.Transitions
Les transitions définissent comment une séquence entre en scène par rapport à la précédente. La transition est définie dans le champdata.transition de la séquence cible.
Configuration de la transition d’entrée pour cette séquence.
Type de transition : -
"fade" — Fondu enchaîné (défaut) - "wipe" —
Balayage horizontal - "slide" — Glissement - "flip" — Retournement -
"clock-wipe" — Balayage en horloge - "iris" — Ouverture circulaire -
"none" — Pas de transitionDurée de la transition en frames (1 à 120). À 30 fps : -
15 ≈ 0.5
seconde - 20 ≈ 0.67 seconde (défaut) - 30 ≈ 1 seconde - 60 ≈ 2 secondesLogo — Comportement détaillé
Le logo est contrôlé à deux niveaux :-
Niveau vidéo (
video.displayLogo+video.logoUrl) :- Active l’affichage du logo en coin supérieur droit (100 px) sur les séquences de type
"video"et"image".
- Active l’affichage du logo en coin supérieur droit (100 px) sur les séquences de type
-
Niveau séquence (
sequence.data.displayLogo) :- Sur les
"intro"et"outro": le logo devideo.logoUrlest affiché centré (200 px pour l’intro, 150 px pour l’outro). - Contrôlé individuellement par
sequence.data.displayLogo(défauttrue). - Pour masquer le logo sur une intro/outro spécifique, passez
"displayLogo": falsedans sondata.
- Sur les
Webhook
URL du webhook pour recevoir une notification lorsque la vidéo est terminée.
Optionnel.
Réponses
201 — Créé avec succès
Identifiant unique de la vidéo générée. À utiliser avec
GET /api/video-editor/generate/video/{id} pour suivre l’avancement.Liste des contenus générés (un élément par séquence de type
"video"). Chaque
élément contient : - id : Identifiant de génération - url : URL de l’image
source - effect : Type d’animation - format : Format de la vidéo -
status : Statut ("pending" | "success" | "error")Nombre de crédits restants
Nombre de crédits utilisés pour cette génération
400 — Erreur de validation
Renvoyé si le corps de requête est invalide (séquence manquante, format invalide, etc.).401 — Non autorisé
Renvoyé six-api-key est manquant ou invalide.
500 — Erreur serveur
Erreur interne du serveur.Exemples
Exemple 1 — Vidéo basique avec intro + outro + logo
Exemple 2 — Vidéo avec transitions entre séquences
Exemple 3 — Effet BEFORE_AFTER avec deux images
Exemple 4 — Logo masqué sur l’intro mais visible sur les séquences
Réponse type
Notes importantes
- Les séquences
"video"déclenchent automatiquement la génération d’une animation IA à partir de l’image fournie. Chaque séquence vidéo consomme 1 crédit. - La durée maximale d’une séquence
"video"est 5 secondes (plafonnée automatiquement). - Les séquences
"intro"et"outro"ne consomment pas de crédits (pas de génération IA). - Utilisez l’
idretourné avecGET /api/video-editor/generate/video/{id}pour suivre l’avancement. - Si un webhook est fourni, vous recevrez une notification lorsque la vidéo finale est prête.
Récapitulatif Intro / Outro
| Propriété | Intro | Outro (SaleProperty) | Outro (Interview/Sample) |
|---|---|---|---|
data.description | Texte de présentation | — | Description |
data.displayLogo | Afficher le logo centré | Afficher le logo centré | Afficher le logo centré |
data.bg | Couleur de fond | Couleur de fond | Couleur de fond |
data.avatar | — | Photo de profil | — |
data.displayAvatar | — | Afficher l’avatar | — |
data.name | — | Nom | — |
data.email | — | — | |
data.tel | — | Téléphone | — |
data.title | — | — | Titre |
Récapitulatif Transitions
Les transitions sont optionnelles. Sans transition définie, le passage entre séquences utilise la transition par défaut du template (fondu de ~20 frames). Pour personnaliser, ajoutezdata.transition sur chaque séquence souhaitée.
| Type | Description |
|---|---|
fade | Fondu enchaîné classique |
wipe | Balayage horizontal |
slide | Glissement latéral |
flip | Retournement 3D |
clock-wipe | Balayage en mouvement d’horloge |
iris | Ouverture circulaire depuis le centre |
none | Coupe franche (pas de transition) |
Récapitulatif Before/After
| animationType | Description | Image “avant” | Image “après” |
|---|---|---|---|
BEFORE_AFTER_INTERIOR | Meublage progressif | medias[0].url | data.afterImage |
BEFORE_AFTER_EXTERIOR | Aménagement paysager | medias[0].url | data.afterImage |
BEFORE_AFTER_DECLUTTER | Débarras (meubles disparaissent) | medias[0].url | data.afterImage |
BEFORE_AFTER_RENOVATION | Rénovation (timelapse équipe) | medias[0].url | data.afterImage |
Récapitulatif Logo
| Contexte | Paramètre | Taille | Position |
|---|---|---|---|
Séquence video/image | video.displayLogo + video.logoUrl | 100 px | Coin supérieur droit |
Séquence intro | sequence.data.displayLogo + video.logoUrl | 200 px | Centré |
Séquence outro | sequence.data.displayLogo + video.logoUrl | 150 px | Centré |
