Passer au contenu principal

API Vidéo Auto (workflow)

Cette API permet de générer automatiquement une vidéo à partir d’une annonce (description + images), en s’appuyant sur l’IA pour :
  • sélectionner jusqu’à 5 images pertinentes (selon le nombre fourni)
  • générer un texte court par image
  • lancer la génération des clips vidéo pour chaque image
  • assembler / rendre la vidéo finale
Le workflow se fait en 2 endpoints :
  • 1) POST "/api/video-editor/generate/video/auto" : démarre la génération et renvoie un id
  • 2) GET "/api/video-editor/generate/video/auto/{id}" : permet de suivre l’avancement

Authentification

Toutes les requêtes doivent inclure l’en-tête :
  • x-api-key: VOTRE_API_KEY

1) Démarrer une génération

POST /api/video-editor/generate/video/auto

En-têtes

x-api-key
string
requis
Votre clé API IACrea
Content-Type
string
requis
Doit être application/json

Corps de requête

image_urls
array
requis
Tableau d’URLs d’images (format URL). Minimum 1.
description
string
requis
Description textuelle de l’annonce (minimum 10 caractères). La langue détectée est utilisée pour les textes générés.
format
string
Format de la vidéo : "landscape" | "portrait" | "square". Défaut : "landscape".
colors
array
Deux couleurs [background, text] (ex : ["#1a1a2e", "#ffffff"]). Optionnel.
font
string
Police (ex : "Inter"). Optionnel.
music
string
Musique (identifiant interne / valeur attendue par votre implémentation). Optionnel.
Afficher un logo sur la vidéo. Défaut : false.
logoUrl
string
URL du logo (nécessaire si displayLogo=true). Optionnel.
webhookUrl
string
URL appelée par IACrea quand la vidéo est DONE (voir section Webhook). Optionnel.

Réponses

201 — Démarré

id
string
Identifiant de la génération auto. À utiliser dans le endpoint de suivi GET /api/video-editor/generate/video/auto/{id}.
status
string
Statut initial, typiquement "PENDING".
generatedContent
array
Liste des clips / séquences en cours de génération (un élément par image sélectionnée). Chaque élément contient id, url, effect, format, category, text, status.
analysis
object
Résultat de l’analyse IA (sélections).
creditsTotal
number
Crédits restants.
creditsUsed
number
Crédits utilisés.

400 — Validation error

Renvoyé si le corps de requête est invalide (ex : image_urls vide, URL invalide, description trop courte, etc.).

401 — Unauthorized

Renvoi si x-api-key manquant ou invalide.

500 — Server error

Erreur serveur (ex : échec d’analyse IA, erreur interne).

Exemple (curl)

curl --request POST \
  --url 'https://iacrea.com/api/video-editor/generate/video/auto' \
  --header 'x-api-key: VOTRE_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "image_urls": [
      "https://exemple.com/1.jpg",
      "https://exemple.com/2.jpg"
    ],
    "description": "Appartement lumineux avec terrasse, proche centre-ville.",
    "format": "landscape",
    "webhookUrl": "https://votre-app.com/webhooks/iacrea/video-auto"
  }'

2) Suivre une génération (polling)

GET /api/video-editor/generate/video/auto/{id}

En-têtes

x-api-key
string
requis
Votre clé API IACrea

Réponses (principales)

Ce endpoint est idempotent et peut être appelé régulièrement (polling). Il renvoie un objet JSON avec un champ status et, selon le statut, des champs additionnels.

200 — status: "GENERATING_VIDEO"

La génération des clips (séquences) est en cours. Retourne aussi les crédits et generatedContent.

200 — status: "START_RENDERING_VIDEO"

Toutes les séquences sont prêtes et le rendu final démarre.
  • progress: 0

200 — status: "RENDERING_VIDEO"

Rendu final en cours.
  • progress: nombre entre 0 et 1 (ou 0–100 selon votre implémentation côté client, à afficher tel quel).

200 — status: "DONE"

Vidéo finale disponible.
  • url: URL de la vidéo
  • generatedContent: détails des séquences
  • creditsTotal, creditsUsed

200 — status: "PENDING"

État transitoire. Peut aussi être renvoyé lorsqu’une séquence est en erreur et qu’une régénération est relancée côté serveur.

4xx/5xx

  • 401 si API key manquante/invalide
  • 404 si id inexistant
  • 500 en cas d’erreur serveur

Exemple (curl)

curl --request GET \
  --url 'https://iacrea.com/api/video-editor/generate/video/auto/ID_RETOURNE_PAR_LE_POST' \
  --header 'x-api-key: VOTRE_API_KEY'

Webhook (optionnel)

Si webhookUrl est fourni au moment du POST, IACrea appellera votre endpoint quand la vidéo finale est prête :
  • Méthode : POST
  • Header : Content-Type: application/json
  • Body :
{
  "id": "ID_DE_LA_GENERATION",
  "status": "DONE",
  "url": "https://...mp4"
}

Recommandations d’intégration

  • Polling : appelez GET /api/video-editor/generate/video/auto/{id} toutes les 2–5 secondes jusqu’à DONE (ou ERROR).
  • Timeout : prévoyez un timeout côté client (ex : 10–20 minutes) selon la durée de rendu.
  • Résilience : si vous recevez "PENDING" après avoir déjà vu "GENERATING_VIDEO", continuez le polling : le serveur peut relancer des séquences en erreur.