---
title: "Request asynchronous download"
method: POST
path: "/download-async/{video_external_id}"
tags: ["Download-asynchronous"]
---

# Request asynchronous download

`POST /download-async/{video_external_id}`

Creates an asynchronous download request for a specific video

## Path parameters

- `video_external_id` string, required

## Request body

- DownloadRequest
  - `quality` '240p' | '360p' | '480p' | '720p' | '1080p' | '2160p' | 'original', required — File quality
  - `format` 'video' | 'audio', required — File format
  - `language` 'pt-BR' | 'en' | 'en-UK' | 'es' | 'es-MX' | 'fr' | 'fr-CA' | 'de' | 'it' | 'it-CH' | 'ja' | 'ru' | 'vi' | 'zh' | 'zh-TW' | 'ar' | 'ko' | 'nl' | 'pl' | 'hi' | 'th' | 'tr' | 'id' | 'sv' | 'no' | 'ro' | 'el' | 'cs' | 'hu' | 'ms' | 'bg' | 'fil' | 'pt' | 'fi' | 'hr' | 'sk' | 'uk' | 'ta' | 'sw' | 'sr' | 'ur' | 'default', required — Content language
  - `video_title` string, required — Optional video title for the download

## Response `200`

Download created successfully

- DownloadResponse
  - `video_external_id` string — External video ID
  - `resolution` string — Video resolution
  - `status` 'enqueued' | 'running' | 'ready' | 'failed' — Current download status
  - `language` string — Content language
  - `percentage` integer — Processing completion percentage
  - `url` string, uri, nullable — Download URL (only available when status = ready)
  - `video_title` string — Video title
  - `timeRemaining` integer — Estimated time remaining in seconds

## Other responses

- `404` — Video not found
- `500` — Internal server error

---

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