---
title: "Create Video (v2)"
method: POST
path: "/v2/videos"
tags: ["Videos v2"]
---

# Create Video (v2)

`POST /v2/videos`

Create a video from an appearance reference and either audio or a script.

## Headers

- `Idempotency-Key` string, required — Unique key used to safely retry this request.
- `x-api-key` string, required — API Key for authentication

## Response `202`

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/31e2df09dcfa/schema)
