---
title: "Poll an image-to-video job"
method: GET
path: "/api/image-to-video/{request_id}/status"
tags: ["Image to Video"]
---

# Poll an image-to-video job

`GET /api/image-to-video/{request_id}/status`

## Request

- Base URL: `https://open.eternalai.org`
- URL: `https://open.eternalai.org/api/image-to-video/{request_id}/status`
- Auth: one of:
  - HTTP bearer
  - API key in header `api-key`

Returns the current job status and, when `status` is `completed`, a `video_url`.

**Cadence:** poll every 2–5 seconds. Status calls are not billed and not rate-limited at typical polling rates.

**Typical completion time:** 30–90 seconds for a 720p / 5s clip. Set client timeouts to ~5 minutes (90 polls at 3s) to absorb queue spikes.

**Terminal states:** `completed` (with `result.video_url`) and `failed` (with `result.error` populated). After a terminal state, the `request_id` remains addressable for roughly 24 hours. The `video_url` is served from a CDN and expires about 24 hours after generation — download and re-host it if you need long-term storage.

**Error location on failure:** the failure reason lives at `result.error` (string), with the envelope `error` field set to `null`. The top-level `status` boolean is `true` for any successful status fetch — the job-level outcome is in `result.status`.

## Path parameters

- `request_id` string, uuid, required

## Response `200`

Current job state.

- PollResponse
  - `status` boolean
  - `error` string, nullable
  - `result` object
    - `request_id` string, uuid
    - `status` 'pending' | 'processing' | 'completed' | 'failed': Lifecycle state.
    - `progress` integer: Percent complete (0–100).
    - `video_url` string, nullable: Generated MP4 URL. Present only when `status` is `completed`. Served from a CDN and expires about 24 hours after generation; download and re-host if you need long-term storage.
    - `created_at` string, date-time

## Other responses

- `400`: Missing `request_id`.
- `401`: Missing, invalid, or inactive API key.
- `403`: Request belongs to a different API key.
- `404`: No such request_id.

---

[API](https://skmtc.dev/eternalai/apis/eternal-ai-image-to-video-api.md) - [All operations](https://skmtc.dev/eternalai/apis/eternal-ai-image-to-video-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eternalai/apis/eternal-ai-image-to-video-api/revisions/a47c64304004?raw)
