---
title: "Pin a generation output (gen_<id>#<n>) or a file (file_<id>) to a shelf with a name."
method: POST
path: "/v1/shelves/{project}/items"
---

# Pin a generation output (gen_<id>#<n>) or a file (file_<id>) to a shelf with a name.

`POST /v1/shelves/{project}/items`

## Request

- Base URL: `https://api.lumeta.ai`
- URL: `https://api.lumeta.ai/v1/shelves/{project}/items`
- Auth: HTTP bearer

## Path parameters

- `project` string, required

## Request body

- object
  - `media` string, required: `gen_<id>#<n>` or `file_<id>`
  - `name` string

## Response `201`

OK

- ShelfItem
  - `id` string
  - `name` string
  - `project` string
  - `created_at` string
  - `type` 'image' | 'video' | 'audio' | 'other'
  - `url` string: Durable https URL of the stored file.
  - `width` integer
  - `height` integer
  - `duration` number: Seconds, for audio and video.

## Other responses

- `default`: Error

---

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