> **Shapeless capabilities index**
> Fetch https://shapelessai.com/llms.txt to discover every page before exploring further.
> Every page also answers Markdown: append `.md` to its path, or send `Accept: text/markdown`.

# Use the media library

*Verified 2026-10-07. Source: https://shapelessai.com/capabilities/media-library*

Everything the account can attach to a post: uploaded brand assets and the media the team generated.

List the library, upload an image, video, audio file or PDF as a brand asset, rename or delete one, and stream any media key the account owns, with Range requests for video. A media key from here goes straight into a post's media list or a job's attachments.

## Ask in plain words

- "upload our new logo as a brand asset"
- "which videos did the team render last week"
- "attach the demo clip to the next post"
- "download the carousel PDF the team made"
- "rename the logo file and delete the old one"

## From an agent host (MCP)

Server: `https://shapelessai.com/mcp` ([add it to your host](https://shapelessai.com/connect)).

- `assets_list`: The media library: brand uploads and generated media. Needs the read scope.

## From code (REST)

Bearer API key with the scope each call names ([auth](https://shapelessai.com/docs/auth), [OpenAPI](https://shapelessai.com/api/openapi.json)).

- `GET /api/assets` (read scope): The full asset library.
- `GET /api/brain/assets` (read scope): Brand uploads.
- `GET /api/brain/assets/{filename}` (read scope): Stream one asset (Range supported).
- `PUT /api/brain/assets/{filename}` (write scope): Upload an asset.
- `PATCH /api/brain/assets/{filename}` (write scope): Rename an asset.
- `DELETE /api/brain/assets/{filename}` (write scope): Delete an asset.
- `GET /api/media/{key}` (read scope): Stream any media key this account owns.

## From a terminal (CLI)

- `shapeless assets list`
- `shapeless assets upload`
- `shapeless assets get`

## Example

```bash
curl -s https://shapelessai.com/api/brain/assets/logo.png -X PUT -H "Authorization: Bearer $SHAPELESS_API_KEY" -H "Content-Type: image/png" --data-binary @logo.png
```
```jsonc
// MCP tool call
{ "tool": "assets_list", "arguments": {} }
```
```bash
shapeless assets upload ./logo.png
```

## Where else

- [Do it in the studio](https://shapelessai.com/studio/assets)
