## Create downloads `client.stream.downloads.create(stringidentifier, DownloadCreateParamsparams, RequestOptionsoptions?): DownloadCreateResponse` **post** `/accounts/{account_id}/stream/{identifier}/downloads` Creates a download for a video when a video is ready to view. Use `/downloads/{download_type}` instead for type-specific downloads. Available types are `default` and `audio`. ### Parameters - `identifier: string` A Cloudflare-generated unique identifier for a media item. - `params: DownloadCreateParams` - `account_id: string` Path param: Identifier. - `body: unknown` Body param ### Returns - `DownloadCreateResponse` - `percentComplete?: number` Indicates the progress as a percentage between 0 and 100. - `status?: "ready" | "inprogress" | "error"` The status of a generated download. - `"ready"` - `"inprogress"` - `"error"` - `url?: string` The URL to access the generated download. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const download = await client.stream.downloads.create('ea95132c15732412d22c1476fa83f27a', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', body: {}, }); console.log(download.percentComplete); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "percentComplete": 0, "status": "ready", "url": "https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/downloads/default.mp4" } } ```