Passer au contenu principal

GET Get Video

Récupère le statut d’une vidéo en cours de génération et déclenche automatiquement les étapes suivantes (génération des clips, rendu final). Ce endpoint est idempotent et peut être appelé régulièrement pour suivre l’avancement.
GET /api/video-editor/generate/video/{id}

Authentification

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

En-têtes

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

Paramètres d’URL

id
string
requis
Identifiant unique de la vidéo (retourné par POST /api/video-editor/generate/video)

Réponses

Ce endpoint renvoie différents statuts selon l’avancement de la génération :

200 — status: "GENERATING_VIDEO"

Les clips vidéo (séquences) sont en cours de génération.
status
string
Statut : "GENERATING_VIDEO"
creditsTotal
number
Nombre de crédits vidéo restants
creditsUsed
number
Nombre de crédits utilisés
generatedContent
array
Liste des contenus générés avec leur statut actuel ("pending" | "success" | "error")

200 — status: "START_RENDERING_VIDEO"

Toutes les séquences sont prêtes et le rendu final de la vidéo démarre.
status
string
Statut : "START_RENDERING_VIDEO"
progress
number
Progression du rendu (0 au démarrage)
creditsTotal
number
Nombre de crédits vidéo restants
creditsUsed
number
Nombre de crédits utilisés
generatedContent
array
Liste des contenus générés

200 — status: "RENDERING_VIDEO"

Le rendu final de la vidéo est en cours.
status
string
Statut : "RENDERING_VIDEO"
progress
number
Progression du rendu (nombre entre 0 et 1, ou 0-100 selon l’implémentation)
creditsTotal
number
Nombre de crédits vidéo restants
creditsUsed
number
Nombre de crédits utilisés

200 — status: "DONE"

La vidéo finale est prête et disponible.
status
string
Statut : "DONE"
url
string
URL de la vidéo finale générée
id
string
Identifiant de la vidéo
generatedContent
array
Liste des contenus générés avec leur statut final
creditsTotal
number
Nombre de crédits vidéo restants
creditsUsed
number
Nombre de crédits utilisés

200 — status: "PENDING"

État transitoire. Peut être renvoyé lorsqu’une séquence est en erreur et qu’une régénération est relancée automatiquement côté serveur.
status
string
Statut : "PENDING"
error
string
Message d’erreur optionnel (ex : "Re-generating video in error")

401 — Non autorisé

Renvoyé si x-api-key est manquant ou invalide.

404 — Non trouvé

Renvoyé si l’id de la vidéo n’existe pas.

500 — Erreur serveur

Erreur interne du serveur.

Exemple de requête

curl --request GET \
  --url 'https://iacrea.com/api/video-editor/generate/video/550e8400-e29b-41d4-a716-446655440000' \
  --header 'x-api-key: VOTRE_API_KEY'

Exemples de réponses

Génération en cours

{
  "status": "GENERATING_VIDEO",
  "creditsTotal": 48,
  "creditsUsed": 2,
  "generatedContent": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440001",
      "url": "https://exemple.com/image1.jpg",
      "effect": "CAMERA_PUSH_IN",
      "format": "landscape",
      "status": "success"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440002",
      "url": "https://exemple.com/image2.jpg",
      "effect": "CAMERA_PUSH_OUT",
      "format": "landscape",
      "status": "pending"
    }
  ]
}

Rendu en cours

{
  "status": "RENDERING_VIDEO",
  "progress": 0.65,
  "creditsTotal": 48,
  "creditsUsed": 2
}

Vidéo terminée

{
  "status": "DONE",
  "url": "https://storage.iacrea.com/videos/550e8400-e29b-41d4-a716-446655440000.mp4",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "generatedContent": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440001",
      "url": "https://exemple.com/image1.jpg",
      "effect": "CAMERA_PUSH_IN",
      "format": "landscape",
      "status": "success"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440002",
      "url": "https://exemple.com/image2.jpg",
      "effect": "CAMERA_PUSH_OUT",
      "format": "landscape",
      "status": "success"
    }
  ],
  "creditsTotal": 48,
  "creditsUsed": 2
}

Recommandations d’intégration

  • Polling : Appelez ce endpoint toutes les 2-5 secondes jusqu’à obtenir le statut "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 automatiquement des séquences en erreur
  • Webhook : Si vous avez fourni un webhookUrl lors de la création, vous recevrez également une notification lorsque la vidéo est prête