Skip to main content
POST
/
v1
/
videos
Create Video
curl --request POST \
  --url https://api.mirage.app/v1/videos \
  --header 'Content-Type: multipart/form-data' \
  --header 'x-api-key: <api-key>' \
  --form model=mirage-video-1-latest \
  --form image_reference=@example-file \
  --form audio_reference=@example-file
{
  "completed_at": 1730822520,
  "created_at": 1730822400,
  "model": "mirage-video-1-latest",
  "progress": 100,
  "status": "COMPLETE",
  "video_id": "video_abc123def456"
}

Authorizations

x-api-key
string
header
required

API key for authentication.

Body

multipart/form-data
image_reference
file
required

Image file (JPEG or PNG)

audio_reference
file
required

Audio file (WAV or MP3)

model
string
default:mirage-video-1-latest

Model to use for generation

Allowed value: "mirage-video-1-latest"

Response

200 - application/json

Returns a Video object representing the generation job

Represents a video generation job

status
enum<string>
required

Current state of video generation

Available options:
PROCESSING,
COMPLETE,
FAILED,
CANCELLED
Examples:

"COMPLETE"

video_id
string
required

Video generation job ID

Examples:

"video_abc123def456"

created_at
integer
required

When the job was created (unix timestamp)

Examples:

1730822400

model
string
required

Model used for generation

Allowed value: "mirage-video-1-latest"
Examples:

"mirage-video-1-latest"

progress
integer | null

Progress percentage (0-100)

Examples:

100

completed_at
integer | null

When the job completed (if applicable, unix timestamp)

Examples:

1730822520

error
object | null

Error payload that explains why generation failed, if applicable

Examples:

null