Asset
Asset manifests declare binary resources such as logos, pictograms, and fonts.
Layouts refer to assets by metadata.name so that paths and URLs are centralized.
Spec overview
Section titled “Spec overview”apiVersion: bino.bi/v1alpha1
kind: Asset
metadata:
name: brandLogo
description: Main brand logo used in report headers
spec:
type: image # image | file | font
mediaType: image/png # MIME type
source:
# exactly one of: inlineBase64 | localPath | remoteURLImportant fields:
spec.type– one ofimage,file,font.spec.mediaType– MIME type, for exampleimage/png,image/svg+xml,font/woff2.metadata.description– optional free-form description of this asset.spec.source.inlineBase64– base64-encoded content embedded in the manifest.spec.source.localPath– relative or absolute path to a file in your project.spec.source.remoteURL– HTTP/HTTPS URL pointing to a remote asset.
Examples
Section titled “Examples”Local logo file
Section titled “Local logo file”---
apiVersion: bino.bi/v1alpha1
kind: Asset
metadata:
name: brandLogo
description: Main brand logo
spec:
type: image
mediaType: image/png
source:
localPath: ./assets/brand-logo.pngRemote placeholder image
Section titled “Remote placeholder image”---
apiVersion: bino.bi/v1alpha1
kind: Asset
metadata:
name: sampleReportPreview
description: Sample report preview screenshot
spec:
type: image
mediaType: image/png
source:
remoteURL: https://via.placeholder.com/1200x800?text=Report+PreviewEmbedded font
Section titled “Embedded font”---
apiVersion: bino.bi/v1alpha1
kind: Asset
metadata:
name: corporateHeadingFont
description: Heading font for corporate reports
spec:
type: font
mediaType: font/woff2
source:
localPath: ./assets/fonts/corporate-heading.woff2Using assets in Markdown images
Section titled “Using assets in Markdown images”You can reference any non-font asset from Markdown content using the asset: URL scheme:
At build time bino resolves asset:brandLogo to the actual URL based on the asset’s source type:
| Source type | Resolved URL |
|---|---|
localPath | /assets/files/brandLogo |
remoteURL | The URL as-is |
inlineBase64 | data:image/png;base64,… |
If the name does not match any asset the image renders as a broken link (#asset-not-found:name).
This works in two contexts:
- DocumentArtefact – inside
.mdsource files rendered viaspec.sources. - Text components – in the
spec.valueMarkdown ofText,LayoutPageinline text children, andGridtext cells.
Example
Section titled “Example”Given this asset:
---
apiVersion: bino.bi/v1alpha1
kind: Asset
metadata:
name: companyLogo
spec:
type: image
mediaType: image/png
source:
localPath: ./assets/logo.pngReference it from a DocumentArtefact markdown file:
# Annual Report

Welcome to the 2025 annual report.Or from a Text component:
---
apiVersion: bino.bi/v1alpha1
kind: Text
metadata:
name: headerWithLogo
spec:
value: " **ACME Corp**"Attribute Reference
Section titled “Attribute Reference”Common Metadata
Section titled “Common Metadata”| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
apiVersion | string | yes | — | Must be bino.bi/v1alpha1. |
kind | string | yes | — | Must be Asset. |
metadata.name | string | yes | — | Unique asset identifier. Used to reference this asset from layouts. |
metadata.labels | object | no | — | Key-value pairs for categorization and constraint matching. |
metadata.annotations | object | no | — | Arbitrary key-value metadata, not used by the system. |
metadata.description | string | no | — | Free-form description of this asset. |
metadata.constraints | array | no | — | Conditional inclusion rules. See Constraints. |
Spec Attributes
Section titled “Spec Attributes”| Attribute | Type | Required | Default | Description | Sample |
|---|---|---|---|---|---|
spec.type | string | yes | — | Asset type. Values: image, file, font. | type: image |
spec.mediaType | string | yes | — | MIME type of the asset. | mediaType: image/png |
spec.source | object | yes | — | Asset source. Exactly one of inlineBase64, localPath, or remoteURL. | see below |
spec.source.inlineBase64 | string | conditional | — | Base64-encoded content embedded in the manifest. | inlineBase64: iVBORw0KGgo... |
spec.source.localPath | string | conditional | — | Relative or absolute file path to the asset. | localPath: ./assets/logo.png |
spec.source.remoteURL | string | conditional | — | HTTP/HTTPS URL pointing to a remote asset. | remoteURL: https://example.com/logo.png |