Asset
Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
Metadata
Field index
This definition uses the forms or value constraints below.
oneOf 1 · string
Exact constraints for oneOf 1
{
"type": "string",
"examples": [
"asset:acme-logo",
"https://cdn.acme.com/image.png",
"./assets/image.png",
"data:image/png;base64,..."
]
}oneOf 2 · object
| Field | Type | Req. | Default | Description |
|---|---|---|---|---|
| src | string | yes | — | Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path. |
| alt | string | — | — | Alternative text for images and other visual assets. |
| title | string | — | — | Human-readable asset title for editors and asset pickers. |
| description | string | — | — | Optional notes about the asset's contents, provenance, or intended use. |
| mediaType | string | — | — | Optional MIME media type when it cannot be inferred from src. |
src
typestringrequiredyesdefault—
Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.
{
"src": "asset:acme-logo"
}alt
typestringrequirednodefault—
Alternative text for images and other visual assets.
title
typestringrequirednodefault—
Human-readable asset title for editors and asset pickers.
description
typestringrequirednodefault—
Optional notes about the asset's contents, provenance, or intended use.
mediaType
typestringrequirednodefault—
Optional MIME media type when it cannot be inferred from src.
{
"mediaType": "image/svg+xml"
}Exact constraints for oneOf 2
{
"type": "object",
"additionalProperties": false,
"required": [
"src"
],
"properties": {
"src": {
"type": "string",
"description": "Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.",
"examples": [
"asset:acme-logo",
"./assets/logo.svg",
"https://cdn.acme.com/logo.png",
"data:image/svg+xml;base64,...",
"/Users/alice/decks/data/revenue.csv"
]
},
"alt": {
"type": "string",
"description": "Alternative text for images and other visual assets."
},
"title": {
"type": "string",
"description": "Human-readable asset title for editors and asset pickers."
},
"description": {
"type": "string",
"description": "Optional notes about the asset's contents, provenance, or intended use."
},
"mediaType": {
"type": "string",
"description": "Optional MIME media type when it cannot be inferred from src.",
"examples": [
"image/svg+xml",
"image/png",
"text/csv",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
]
}
}
}Complete definition constraints
{
"description": "Reusable or inline resource. A string is shorthand for { \"src\": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.",
"oneOf": [
{
"type": "string",
"examples": [
"asset:acme-logo",
"https://cdn.acme.com/image.png",
"./assets/image.png",
"data:image/png;base64,..."
]
},
{
"type": "object",
"additionalProperties": false,
"required": [
"src"
],
"properties": {
"src": {
"type": "string",
"description": "Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.",
"examples": [
"asset:acme-logo",
"./assets/logo.svg",
"https://cdn.acme.com/logo.png",
"data:image/svg+xml;base64,...",
"/Users/alice/decks/data/revenue.csv"
]
},
"alt": {
"type": "string",
"description": "Alternative text for images and other visual assets."
},
"title": {
"type": "string",
"description": "Human-readable asset title for editors and asset pickers."
},
"description": {
"type": "string",
"description": "Optional notes about the asset's contents, provenance, or intended use."
},
"mediaType": {
"type": "string",
"description": "Optional MIME media type when it cannot be inferred from src.",
"examples": [
"image/svg+xml",
"image/png",
"text/csv",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
]
}
}
}
]
}