TLBaseAsset
See source codeExtends BaseRecord<'asset', TLAssetId>.
Base interface for all asset records in tldraw. Assets represent external resources like images, videos, or bookmarks that shapes can reference. This interface extends the base record system with asset-specific typing.
interface TLBaseAsset<Type extends string, Props>
extends BaseRecord<'asset', TLAssetId> {}Example
// Define a custom asset type
interface MyCustomAsset
extends TLBaseAsset<'custom', { url: string; title: string }> {}
const customAsset: MyCustomAsset = {
id: 'asset:custom123',
typeName: 'asset',
type: 'custom',
props: {
url: 'https://example.com',
title: 'My Custom Asset',
},
meta: {},
}Parameters
| Name | Description |
|---|---|
| The specific asset type identifier (e.g., 'image', 'video', 'bookmark') |
| The properties object specific to this asset type |
Properties
id
readonly
from BaseRecord
readonly id: Idmeta
User-defined metadata that can be attached to this asset
meta: JsonObjectprops
Type-specific properties for this asset
props: Propstype
The specific type of this asset (e.g., 'image', 'video', 'bookmark')
type: TypetypeName
readonly
from BaseRecord
readonly typeName: TypeNamePrev
TLAssetStoreNext
TLBaseBinding