Skip to main content
GET
Retrieves the current status of an asynchronous task. This includes video generation tasks as well as family avatar generation tasks created by Create Family. Poll this endpoint to check when a task is ready.

Path Parameters

string
required
The unique identifier of the task, returned when creating a slideshow.Example: task_abc123xyz

Response

The response varies based on the task status:

Common Fields

string
required
Unique identifier for the task.
string
required
Current task status: queued, processing, completed, or failed.Land tasks start one step earlier, in preparing, while the server resolves the request’s inputs.Tasks that requested post-processing can also report a transitional status while the finished video is being refined, in this order: watermarking (watermark or text overlay), intro_outro (intro/outro overlays), subtitling (subtitles). Treat all of these like processing and keep polling; the task always ends in completed or failed.
string
required
Task creation timestamp (ISO 8601 format).
boolean
required
true for tasks created with a live (vpk_live_) key; false for test-mode (vpk_test_) sandbox tasks.
Test and live tasks are isolated: a vpk_test_ key can only read test tasks and a vpk_live_ key can only read live tasks. Reading a task created with the other key type returns the same 404 TASK_NOT_FOUND as a missing task. See Test Mode.

Queued Status

integer
Position in the processing queue.
string
Estimated completion time (ISO 8601 format).

Processing Status

string
When processing began (ISO 8601 format).

Completed Status

string
When processing finished (ISO 8601 format).
object
The task result. Its shape depends on what created the task.

Failed Status

object
Error details when the task failed.

Polling Best Practices

Don’t poll too frequently. We recommend polling every 5-15 seconds.
Here’s a recommended polling implementation:

Error Codes

See Error Handling for more details.

Video URL Expiration

Video URLs expire after 7 days. Download or store the video before the expires_at timestamp.
If you need the video after expiration:
  1. Re-request the task status (if the video is still available in storage)
  2. Create a new slideshow with the same images