> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Assets API

> The Assets API is used to create, retrieve, update, delete assets object from pipeline

Use the Assets API to manage stored media assets and inspect the schema used across upload, retrieval, update, and deletion flows.

## Asset Object

<ResponseField name="id" type="string">
  This is a unique identifier for the asset.
</ResponseField>

<ResponseField name="type" type="string">
  Type of the asset. This can be either 'video' or 'audio'.
</ResponseField>

<ResponseField name="playbackId" type="string">
  Used to form playback URL and storage folder.
</ResponseField>

<ResponseField name="staticMp4" type="boolean" writeOnly="true">
  Whether to generate MP4s for the asset.
</ResponseField>

<ResponseField name="c2pa" type="boolean">
  Attach Livepeer Studio C2PA Attestation in the output mp4 video.
</ResponseField>

<ResponseField name="playbackUrl" type="string">
  URL for HLS playback.
</ResponseField>

<ResponseField name="downloadUrl" type="string">
  URL to manually download the asset if desired.
</ResponseField>

<ResponseField name="playbackPolicy" type="object">
  Reference to the playback-policy schema.
</ResponseField>

<ResponseField name="source" type="object">
  Source of the asset, which can be URL, recording, directUpload, or clip.
</ResponseField>

<ResponseField name="creatorId" type="string">
  Reference to the creator-id schema.
</ResponseField>

<ResponseField name="storage" type="object">
  Information about the storage of the asset, particularly on IPFS.
</ResponseField>

<ResponseField name="status" type="object">
  Status of the asset, including its phase, update time, and any error message.
</ResponseField>

<ResponseField name="name" type="string">
  Name of the asset. This is not necessarily the filename, can be a custom name or title.
</ResponseField>

<ResponseField name="createdAt" type="number">
  Timestamp (in milliseconds) at which asset was created.
</ResponseField>

<ResponseField name="size" type="number">
  Size of the asset in bytes.
</ResponseField>

<ResponseField name="hash" type="array">
  Hash of the asset.
</ResponseField>

<ResponseField name="videoSpec" type="object">
  Video metadata including format, duration, bitrate, and tracks information.
</ResponseField>

## Endpoints

* [Upload Asset](./upload) - `POST /asset/request-upload`
* [Upload Asset via URL](./upload-via-url) - `POST /asset/request-upload/url`
* [Get Asset](./get) - `GET /asset/{assetId}`
* [Get All Assets](./get-all) - `GET /asset`
* [Update Asset](./update) - `PATCH /asset/{assetId}`
* [Delete Asset](./delete) - `DELETE /asset/{assetId}`
