---
title: "Get Asset Download Url Batch Json"
method: POST
path: "/asset/download_urls"
tags: ["accepts-api-key"]
---

# Get Asset Download Url Batch Json

`POST /asset/download_urls`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/asset/download_urls`
- Auth: none declared

Return download URL payloads for multiple assets using one shared config.

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Request body

- AssetDownloadUrlBatchRequest: Request body for resolving multiple asset download URLs.
  - `asset_ids` string[], required: Asset IDs to resolve.
  - `quality` '480p' | '720p' | '1080p' | 'original' | 'highest' | 'lowest' | 'thumbnail'
  - `player_compatible` boolean
  - `frame_time` number, nullable
  - `request_id` string, nullable

## Response `200`

Successful Response

- AssetDownloadUrlBatchResponse
  - `items` AssetDownloadUrlBatchItem[], required
    - `asset_id` string, required
    - `error` boolean, required
    - `error_message` string, nullable
    - `download` AssetDownloadUrlResponse: Media URL and how long it should remain valid (for refresh / UrlSource lifecycle).
      - `url` string, required
      - `expiredIn` integer, required: Seconds the URL is expected to work: matches S3 presign expiry when applicable; for Pexels/CDN links this is a recommended refresh interval, not a hard protocol expiry.
      - `current_time` string, date-time: The current time when the URL was generated
      - `request_id` string, nullable: The request ID when the URL was generated

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tellers/apis/tellers-api.md) - [All operations](https://skmtc.dev/tellers/apis/tellers-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tellers/apis/tellers-api/revisions/fdaa0fa44a26?raw)
