Task Lifecycle

Every mutating API call (e.g. /imagine, /upscale-1x) returns a task ID immediately. The actual work happens asynchronously. You can track progress via /fetch or webhooks.

Status Flow

staged → pending → starting → processing → finished
                                     ↓
                                   failed

Failed tasks may be automatically retried up to 3 times before settling as failed.

Status Definitions

staged

Task created but not yet submitted to the upstream model.

pending

Task submitted and waiting to be picked up by the model.

starting

The model has acknowledged the task and is initializing.

processing

Image/video is being generated. The percentage field updates as progress is made.

finished

Generation complete. Result URLs are available.

failed

Generation failed. The error field contains the reason.

Progress Tracking

While a task is in the processing status, the percentage field updates to show progress as a string from "0" to "100".

{
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "task_type": "imagine",
  "status": "processing",
  "percentage": "45"
}

Typical Durations

Task TypeTypical Duration
/imagine30-90 seconds
/upscale-1x15-45 seconds
/upscale-alt30-90 seconds
/variations30-90 seconds
/inpaint, /outpaint, /pan30-90 seconds
/blend30-90 seconds
/describe, /shorten10-30 seconds
/seed5-15 seconds
/faceswap15-45 seconds
/imagine-video1-5 minutes

Durations depend on upstream model load. During peak hours, times may be longer.