Skip to main content
GET
Query a gateway task with the ID returned from an asynchronous submission. Image Ext uses this endpoint. Video clients that received object: "video" from POST /v1/videos should follow the Video API workflow; GET /v1/tasks/{id} still returns the gateway task object below. The response is the gateway’s own task document. It is not an upstream provider task envelope.
string
required
The task ID from x-gateway-task-id, Location, or a 202 body, for example task_01HXYZ.

Response fields

string
The gateway task ID.
string
Always task.
string
queued, processing, succeeded, failed, expired, or reconciliation_required.
string
The model that ran the task.
string
image or video.
number | null
Progress from 0 to 100 when the gateway reports it.
object | null
Present when status is succeeded. For Ext, result.urls is an array of public image URLs.
object | null
error.code and error.message when the task failed.
string
Wallet reservation in microUSD at submit time.
string | null
Settled charge in microUSD. null until the task settles.
number
Unix timestamp (seconds) of submission.
number | null
Unix timestamp (seconds) of completion. null while running.
A 202 from POST /v1/images/generations uses this same object. Prefer: respond-async also sets preference-applied: respond-async and Location: /v1/tasks/{id}. Poll every 10 to 20 seconds until succeeded or failed. Do not resubmit a reconciliation_required task to another route. Optional webhooks notify on terminal states; this GET remains the source of truth.