---
title: "Retrieve Video (v2)"
method: GET
path: "/v2/videos/{video_id}"
tags: ["Videos v2"]
---

# Retrieve Video (v2)

`GET /v2/videos/{video_id}`

Retrieve a video and its current status. Completed videos include a download URL.

## Path parameters

- `video_id` string, required

## Headers

- `x-api-key` string, required — API Key for authentication

## Response `200`

Successful Response

- MirageVideoAPIV2Video
  - `id` string, required
  - `object` 'video'
  - `status` 'PROCESSING' | 'COMPLETE' | 'FAILED' | 'CANCELLED', required
  - `model` 'mirage-avatar-x-latest'
  - `aspect_ratio` '9:16' | '16:9', nullable
  - `created_at` integer, required
  - `completed_at` integer, nullable
  - `output` MirageVideoAPIV2Output
    - `url` string, uri, required
    - `content_type` string, required
    - `duration_ms` integer, required
    - `size_bytes` integer, required
  - `error` MirageVideoAPIV2TerminalError
    - `code` 'no_face_detected' | 'media_processing_failed' | 'content_policy_violation' | 'exceeded_quota' | 'rate_limit_exceeded' | 'internal_server_error', required
    - `message` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mirage/apis/mirage-video-api.md) · [All operations](https://skmtc.net/mirage/apis/mirage-video-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mirage/mirage-video-api/revisions/ae3399c6a7c6/schema)
