Skip to main content

Get Video API

Retrieves the status of a video being generated and automatically triggers the next steps (clip generation, final render). This endpoint is idempotent and can be called regularly to track progress.
GET /api/video-editor/generate/video/{id}

Authentication

All requests must include the header:
  • x-api-key: YOUR_API_KEY

Headers

x-api-key
string
required
Your IACrea API key

URL Parameters

id
string
required
Unique video identifier (returned by POST /api/video-editor/generate/video)

Responses

This endpoint returns different statuses depending on the generation progress:

200 — status: "GENERATING_VIDEO"

Video clips (sequences) are being generated.
status
string
Status: "GENERATING_VIDEO"
creditsTotal
number
Remaining video credits
creditsUsed
number
Credits used
generatedContent
array
List of generated content with their current status ("pending" | "success" | "error")

200 — status: "START_RENDERING_VIDEO"

All sequences are ready and the final video render is starting.
status
string
Status: "START_RENDERING_VIDEO"
progress
number
Render progress (0 at start)
creditsTotal
number
Remaining video credits
creditsUsed
number
Credits used
generatedContent
array
List of generated content

200 — status: "RENDERING_VIDEO"

The final video render is in progress.
status
string
Status: "RENDERING_VIDEO"
progress
number
Render progress (number between 0 and 1, or 0-100 depending on implementation)
creditsTotal
number
Remaining video credits
creditsUsed
number
Credits used

200 — status: "DONE"

The final video is ready and available.
status
string
Status: "DONE"
url
string
URL of the generated final video
id
string
Video identifier
generatedContent
array
List of generated content with their final status
creditsTotal
number
Remaining video credits
creditsUsed
number
Credits used

200 — status: "PENDING"

Transitional state. May be returned when a sequence has an error and regeneration is automatically restarted on the server.
status
string
Status: "PENDING"
error
string
Optional error message (e.g. "Re-generating video in error")

401 — Unauthorized

Returned if x-api-key is missing or invalid.

404 — Not Found

Returned if the video id does not exist.

500 — Server Error

Internal server error.

Request Example

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

Response Examples

Generation in progress

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

Render in progress

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

Video complete

{
  "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://example.com/image1.jpg",
      "effect": "CAMERA_PUSH_IN",
      "format": "landscape",
      "status": "success"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440002",
      "url": "https://example.com/image2.jpg",
      "effect": "CAMERA_PUSH_OUT",
      "format": "landscape",
      "status": "success"
    }
  ],
  "creditsTotal": 48,
  "creditsUsed": 2
}

Integration Recommendations

  • Polling: Call this endpoint every 2-5 seconds until you get status "DONE" or "ERROR"
  • Timeout: Plan for a client-side timeout (e.g. 10-20 minutes) depending on render duration
  • Resilience: If you receive "PENDING" after already seeing "GENERATING_VIDEO", keep polling: the server may automatically restart failed sequences
  • Webhook: If you provided a webhookUrl when creating the video, you will also receive a notification when the video is ready