---
title: "Get a media asset"
method: GET
path: "/v2/assets/{assetId}"
tags: ["Assets"]
---

# Get a media asset

`GET /v2/assets/{assetId}`

## Request

- Base URL: `https://api.apiframe.ai`
- URL: `https://api.apiframe.ai/v2/assets/{assetId}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns the stored asset (`status`, `url`, metadata). Assets are `Active` from the moment creation succeeds and can be referenced as `asset://{assetId}` in generation requests. Only assets created by the caller's team are accessible.

## Path parameters

- `assetId` string, uuid, required

## Response `200`

Stored media asset.

- Asset
  - `status` 'Active', required
  - `url` string, uri, required
  - `errorMsg` unknown, required
  - `type` 'image' | 'video' | 'audio', required
  - `contentType` string, required
  - `byteSize` integer, required
  - `createdAt` string, date-time, required

## Other responses

- `401`: Authentication failed (missing / invalid API key).
- `403`: Authenticated but the API key is inactive or lacks permission.
- `404`: Asset not found, or owned by a different team.
- `429`: Rate limit exceeded. Retry after the `Retry-After` seconds.

---

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