Item fields
The schema is item.schema.json. Unknown fields are ignored, so a site can add its own.
Required
Section titled “Required”| Field | Meaning |
|---|---|
id | A stable id. |
link | The page of the item, absolute or relative. |
image | The picture for the card, about 512 px wide. |
aspect | Width divided by height. |
An item whose link or image is not an http(s) URL or a relative reference is dropped. See
Security and privacy.
Optional
Section titled “Optional”| Field | One line |
|---|---|
title, subtitle | Text on the card and in the viewer. |
image_focus, image_full | Larger images for the focused card and the viewer. See Image sizes. |
video, projection, stereo | Video URL, its projection (flat, equirect180, equirect360) and stereo layout (mono, sbs, tb). |
badges | Short labels drawn on the card. |
blurhash | A placeholder while the texture loads. |
meta | Free key and value strings shown in the viewer, in order. |
kind | item (default), collection or tag: what the card is. |
media_type | photo, gif or video. |
unplayable | { "provider": "..." }: the video is an embed that cannot play in WebGL. |
creator | { "id", "label" }: who made the item. |
collection | { "id", "label", "following" }: the set the item belongs to. |
tags | A list of tags. |
count | The number of items inside a collection or tag card. |
width, height | Pixel size of the original image. When width is known, the wall does not ask an image host for a copy wider than the original. See Image sizes. |
actions | Action ids that apply to this item, from the manifest’s actions. Absent means all of them. An empty list means none. |
state | { "liked": true }: the viewer’s state for this item, by key (boolean, number or string). |
likes | The like count. |
description | Longer text for the viewer. |
tag | The tag name on a tag card. |
state.likedis the state of thelikeaction. Another action reads its own key. See Actions and login.metavalues are strings. Show a price as text ("1 250 EUR"), and label the key in the view withpanel.metaLabels.- A video URL must be allowed by CORS to play in the wall. Without that, set
unplayableor leave the video out and the wall offers the item’s page instead.