Skip to content

Mirage Avatar X

Integrate

Model id mirage-api/avatar-x/reference-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/mirage-api/avatar-x/reference-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $3.00 3,000 API credits your files are measured before the run Run it on this page

Get API key
Mirage Lipsync & Avatars Reference inputsLipsync #avatar#talking-head

Avatar X talking-head video driven by your audio and an image, video or stock avatar reference

Mirage · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required audio_url
Drop a file, or

Public HTTPS address for the audio that drives the generated video, accessible without authorization headers or cookies. Accepted audio formats are FLAC, Opus or Vorbis, AAC or ALAC, PCM WAV or AIFF, and MP3. The file must contain a single mono or stereo stream, last 3–180 seconds, occupy no more than 64 MiB, and have a sample rate of 8–48 kHz.

Advanced video_reference_url · avatar · image_reference_url

Reference-video HTTPS URL, accessible publicly without authorization headers or cookies, for a file containing exactly one video stream and at least one suitable 1-second segment to serve as the reference; audio is disregarded. Accepted files pair .mp4, .mov, or .m4v with H.264, H.265/HEVC, or ProRes, or .webm with VP8 or VP9; duration must be 1 to 120 seconds, size must not exceed 1 GiB, and the display aspect ratio must fall within 5% of either 9:16 or 16:9. If image_reference_url is also provided, the video takes priority.

Stock visual selection used only when no image or video reference is supplied; None and the default both leave it unset. Audio is never supplied by this visual and always comes from audio_url. To choose a visual, preview the options in the [avatar catalog](https://captions.ai/help/docs/api/actor-catalog) and copy its exact Avatar value.

Reference image HTTPS URL, publicly accessible without cookies or authorization headers; supplying video_reference_url causes it to be ignored. Accepts a single static image in .jpg, .jpeg, .png, or .webp format, limited to 25 MiB and 25 megapixels. The shorter edge must measure at least 512 px and neither edge may exceed 8192 px; the aspect ratio must be within 5% of 9:16 or 16:9.

POST /run/mirage-api/avatar-x/reference-to-video?wait=20 quote → $3.00
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/mirage-api/avatar-x/reference-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Mirage Avatar X

Makes a lip-synced avatar video from `audio_url` (3 to 180 seconds). The visual comes from `video_reference_url`, `image_reference_url`, or a stock `avatar`; the video reference takes precedence over the image when both are given. The avatar option supplies only visuals, not audio. Reference URLs must be publicly fetchable over HTTPS.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
audio_urlrequired audio
Typeurl · audio
Public HTTPS address for the audio that drives the generated video, accessible without authorization headers or cookies. Accepted audio formats are FLAC, Opus or Vorbis, AAC or ALAC, PCM WAV or AIFF, and MP3. The file must contain a single mono or stereo stream, last 3–180 seconds, occupy no more than 64 MiB, and have a sample rate of 8–48 kHz.
video_reference_urloptional
Typestring | null
Reference-video HTTPS URL, accessible publicly without authorization headers or cookies, for a file containing exactly one video stream and at least one suitable 1-second segment to serve as the reference; audio is disregarded. Accepted files pair .mp4, .mov, or .m4v with H.264, H.265/HEVC, or ProRes, or .webm with VP8 or VP9; duration must be 1 to 120 seconds, size must not exceed 1 GiB, and the display aspect ratio must fall within 5% of either 9:16 or 16:9. If image_reference_url is also provided, the video takes priority.
avataroptional
Typeenum
NoneAyeshaAyesha (16:9)FarhanFarhan (16:9)GiuliaGiulia (16:9)JasmineJasmine (16:9)LukeLuke (16:9)MayaMaya (16:9)MichaelMichael (16:9)Neha
+5 moreNeha (16:9)TariqTariq (16:9)ValerieValerie (16:9)
Stock visual selection used only when no image or video reference is supplied; None and the default both leave it unset. Audio is never supplied by this visual and always comes from audio_url. To choose a visual, preview the options in the [avatar catalog](https://captions.ai/help/docs/api/actor-catalog) and copy its exact Avatar value.
image_reference_urloptional
Typestring | null
Reference image HTTPS URL, publicly accessible without cookies or authorization headers; supplying video_reference_url causes it to be ignored. Accepts a single static image in .jpg, .jpeg, .png, or .webp format, limited to 25 MiB and 25 megapixels. The shorter edge must measure at least 512 px and neither edge may exceed 8192 px; the aspect ratio must be within 5% of 9:16 or 16:9.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "mirage-api/avatar-x/reference-to-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 3000,
    "usd": "3.00",
    "charged": 3000,
    "refunded": 0
  },
  "input": {
    "audio_url": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}

More models: Lipsync & Avatars

For AI agents: this page as Markdown is at https://doitong.com/developers/models/mirage-api/avatar-x/reference-to-video.md. All models and guides: https://doitong.com/developers/llms.txt