# Poll Video Generation Job Status

> Poll Video Generation Job Status is a paid API for AI agents from video.withzero.xyz, paid per call via MPP, price unknown, status unknown (last checked 2026-10-07, last successful call 2026-07-22).

Retrieves the current status and result URL of an async video generation job by job ID

## Facts

- Endpoint: GET https://video.withzero.xyz/api/v1/jobs/{id}?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-07
- Last successful call: 2026-07-22
- Success rate: 100% of calls made through Zero
- Activations on Zero: 30
- Provider: video.withzero.xyz
- Website: https://video.withzero.xyz
- Canonical page: https://www.zero.xyz/c/video-withzero-xyz-poll-video-generation-job-status-5fb07d53
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RBtjq99y9EJc7x4f1kPP6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability video-withzero-xyz-poll-video-generation-job-status-5fb07d53
```

Example prompt: Can you check the status of my video generation job with ID 'job_abc123' and let me know if it's done — and if so, give me the video URL?

## When to prefer this

Use this endpoint after calling one of the video generation endpoints (Sora, Veo, Kling) that return a job_id. This is the correct polling endpoint to check async job completion and retrieve the final video URL. Prefer this over re-submitting a generation request — it is read-only and idempotent.

## Known failure modes

- Job ID not found — returns an error or 404 if the ID is invalid or expired
- Status is 'failed' with an error string describing why generation failed
- Job still in_progress — agent must retry polling until status changes
- Network timeout if the polling service is temporarily unavailable

## Output

Returns a JSON object with the job_id, current status (in_progress, completed, or failed), the model being used, and either a public video URL (when completed) or an error reason (when failed).

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "job_id",
  "status",
  "model"
 ],
 "properties": {
  "url": {
   "type": "string",
   "description": "Public URL of the finished video. Present when status is completed."
  },
  "error": {
   "type": "string",
   "description": "Failure reason. Present when status is failed."
  },
  "model": {
   "type": "string",
   "description": "The model generating the video."
  },
  "job_id": {
   "type": "string",
   "description": "The job id being polled."
  },
  "status": {
   "enum": [
    "in_progress",
    "completed",
    "failed"
   ],
   "type": "string",
   "description": "Generation status."
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/video-withzero-xyz-poll-video-generation-job-status-5fb07d53/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from video.withzero.xyz](https://www.zero.xyz/host/video.withzero.xyz/llms.txt)
