id | string | Yes | — | Stable, opaque demo identity. Exactly 12 characters from the URL-safe alphabet A-Z a-z 0-9 - _ (pattern ^[A-Za-z0-9_-]{12}$). |
version | integer | Yes | — | Schema version. Use 1 today. The parser accepts positive integers for forward compatibility. |
title | string | No | — | Demo title. |
subtitle | string | No | — | Demo subtitle. |
runtime | string | No | — | Optional per-demo runtime version override. Use sparingly. |
visibility | "public" | "private" | No | "public" | private demos are hidden from the hub index and return 404 on direct public URLs. Local inkly dev ignores this flag. |
background | object | No | — | Full-page canvas background behind the player. See Demo background. |
backgroundColor | string | No | — | Legacy solid-color canvas hex. New authors should use background. |
theme | object | No | — | Per-demo theme override. See Theme override. |
chrome | object | No | {} | Player chrome toggles. See Chrome. |
aspectRatio | object | No | — | Explicit player aspect ratio. When set, wins over the auto-detected ratio from the first content step. { width, height }, both positive numbers. |
chapters | object[] | No | [] | Navigation metadata grouping step ids. See Navigation and actions. |
steps | object[] | Yes | — | Ordered cover and content steps. At least one is required. |