TikTok Media API — Fetch Images and Cover Frames
Documentation menu
FetchLayer FetchLayer API

Stream an image or cover

Re-fetches one asset and streams it back, with Range requests supported. TikTok’s own asset URLs are signed and expire within hours, so every asset in a response carries a downloadUrl pointing here instead. Only TikTok’s own CDN hosts can be fetched; anything else is a 400. This route serves images: photo-post frames, cover frames and avatars. A clip’s url is returned on the video, and that is what you use to open or embed it. Billing: 1 credit.

GET /media Utilities
https://api.fetchlayer.dev/tiktok/media
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

url string required

The asset URL, taken from an asset’s downloadUrl or from a coverUrl or avatarUrl. Must be a TikTok CDN host.

Response Fields

media

Stream an image or cover

(binary) file

The image bytes, streamed. Content-Type, Content-Length, Content-Range and Accept-Ranges are passed through, so byte-range seeking works.

Request

curl -X GET "https://api.fetchlayer.dev/tiktok/media?url=https%3A%2F%2Fp19-common-sign.tiktokcdn-us.com%2Ftos-useast5-p-0068-tx%2F..." \
  -H "Authorization: Bearer ss-your-key"

Response

{
  "note": "Binary image data streamed back with the upstream content type."
}