workspace

Get one media asset

Returns a single asset, including one the list does not show yet.

This is how you confirm an upload landed. POST /v1/uploads mints the asset row when it reserves the slot, and the bytes then travel from your client straight to storage without passing through this API — so a 201 there proves a slot exists, never that a file arrived. bytes_uploaded answers that by checking storage; false means the transfer never completed and the row is a reservation you should re-upload or DELETE.

get/v1/workspace/assets/{asset_id}

Request

  • Base URL: https://api.framelane.io
  • URL: https://api.framelane.io/v1/workspace/assets/{asset_id}
  • Auth: HTTP bearer

Path parameters

asset_idstring required

Response

Successful Response

idstring required

Unique asset ID.

source_urlstring required

CDN URL of the uploaded file. Pass as source_url in render requests.

kindstring required

Media kind, derived from the file extension: video, audio or image.

filenamestring nullable

The file's original name, for display. Null for assets uploaded before names were recorded; derive one from source_url in that case.

durationnumber nullable

Duration in seconds. Always null for images.

widthinteger nullable

Pixel width (video or image).

heightinteger nullable

Pixel height (video or image).

created_atstring date-time required

When the asset was uploaded.

readyboolean required

Whether this asset can be used in a render. False while a video or audio duration probe is still running.

bytes_uploadedboolean required

Whether the file is actually in storage. False means the upload never completed and this row is only a reservation — re-upload it. This is the one reliable confirmation for a direct upload, because those bytes go straight to storage without passing through the API.

Example response

{
  "id": "asset_01J8QR2K5VKDGN2T4FBM3CZYX7",
  "source_url": "https://cdn-user.framelane.io/uploads/ws_01J.../a1b2c3.mp4",
  "kind": "video",
  "filename": "brand-logo.png",
  "duration": 15.3,
  "width": 1920,
  "height": 1080
}

Changes

No recorded changes to this operation across all 1 revision of this API.