---
title: "Browse assets"
method: GET
path: "/assets"
tags: ["Assets"]
---

# Browse assets

`GET /assets`

Browse and semantically search fal Assets across all media, uploads, favorites, collections, tags, and character references.

## Query parameters

- `limit` integer — Maximum number of items to return. Actual maximum depends on query type and expansion parameters.
- `cursor` string — Pagination cursor from previous response. Encodes the page number.
- `q` string — Text query for hybrid semantic search
- `search_image_url` string, uri — fal-hosted image URL to use for semantic image search
- `search_video_url` string, uri — fal-hosted video URL to use for semantic video search
- `media_type` string[], nullable — Filter by one or more media types
- `source` string[], nullable — Filter by one or more indexed sources
- `section` 'all-media' | 'uploads' | 'favorites' | 'generated' — Asset library section to browse
- `collection_id` string — Collection scope to browse
- `character_identifier` string[], nullable — Character identifiers to use as @mention semantic filters
- `tag_id` string[], nullable — Tag IDs to filter by
- `tag_mode` 'any' | 'all' — Whether tag filters match any tag or all tags

## Response `200`

Successfully browsed assets

- object — Paginated asset browse response
  - `assets` object[], required — Asset results
    - `asset_id` string, nullable, required — Asset ID (canonical catalog identity)
    - `vector_id` string, required — Vector ID. Prefer asset_id for addressing
    - `request_id` string, nullable, required — Request ID
    - `url` string, nullable, required — Media URL
    - `type` 'image' | 'video' | 'audio' | '3d', required — Asset media type
    - `title` string, required — Display title
    - `endpoint` string, nullable, required — Model endpoint that produced the asset
    - `created_at` string, nullable, required — Asset creation time
    - `source` string, nullable, required — Asset source
    - `prompt` string, nullable, required — Saved prompt or description
    - `width` number, nullable, required — Width in pixels
    - `height` number, nullable, required — Height in pixels
    - `content_type` string, nullable, required — Media content type
    - `is_favorited` boolean, required — Whether the asset is favorited
    - `collection_ids` string[], required — Collections containing this asset
    - `tags` object[], required — Assigned tags
      - `id` string, required — Tag ID
      - `name` string, required — Tag name
      - `created_at` string, nullable, required — Tag creation time
    - `similarity` number, nullable, required — Semantic similarity score when applicable
  - `next_cursor` string, nullable, required — Cursor for the next page
  - `has_more` boolean, required — Whether more results are available
  - `total_count` number, nullable, required — Exact total when available; null when unavailable
  - `scope_truncated` boolean, required — True when the requested scope (favorites, tags, or collection membership) exceeded the maximum number of assets a single search can cover, so results were drawn from a partial slice of it and some matches are missing. Narrow the scope for complete results. `total_count` remains accurate for the results that were returned.

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Access denied
- `404` — Resource not found
- `409` — Invalid request parameters
- `422` — Invalid request parameters
- `429` — Rate limit exceeded
- `500` — Internal server error
- `502` — Upstream asset service error

---

[API](https://skmtc.dev/fal/apis/platform-apis.md) · [All operations](https://skmtc.dev/fal/apis/platform-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fal/platform-apis/revisions/0c7dabf80b00/schema)
