# JsonCut V2 public authoring guide Canonical docs: https://jsoncut.com/docs/ Interactive V2 API: https://jsoncut.com/docs/current-api/ OpenAPI: https://api.jsoncut.com/api/v2/openapi.json Project schema: https://jsoncut.com/schemas/v2/project-source.schema.json cut.md schema: https://jsoncut.com/schemas/v2/cut.schema.json Studio: https://studio.jsoncut.com ## Model JsonCut keeps editable project source separate from rendered output. Studio, the V2 API and MCP operate on the same durable image or video projects. A pinned project version can be rendered directly or published as a typed template. Project source uses format `jsoncut-html`, version `1`. Image projects use `compositionKind: image`, `fps: 1` and `duration: 1`. Video projects use a positive frame rate and duration. Editable layers are declared in the source HTML with stable IDs and `data-jc-*` attributes; project CSS controls their visual presentation. Supported layer kinds are scene, group, text, caption, shape, image, video, audio, html and custom. Prefer native editable layers. Custom blocks are isolated expert layers for Canvas 2D, SVG, DOM or WebGL when the ordinary layer model is insufficient. ## Variables and templates Public variable types are string, number, color, boolean, image, video, audio, sanitized html and a bounded flat string array. Bind values to text, source, visibility, repetition or a supported editable property. Nested variable paths and arbitrary object inputs are not supported. Publish a reviewed project as a template, discover its input contract, then render one or many validated variants. Bulk JSON and CSV inputs are bounded and pinned to one template version. ## Media Upload or import media before placing it in a durable source. Persist the returned `jsoncut-media://...` reference, not an expiring preview URL. Public media kinds are image, video, audio and font. ## Rendering Project, template and inline rendering are asynchronous. Render states are queued, rendering, completed, failed and cancelled. Use an Idempotency-Key for render creation. Download completed artifacts through the authenticated artifact route or react to signed webhooks. ## Agents and MCP Remote MCP endpoint: https://mcp.jsoncut.com/mcp Legacy V1 MCP endpoint: https://mcp.jsoncut.com/legacy/mcp Read `jsoncut://v2/authoring-guide` before authoring. For a new direction or multi-scene build, use the active `jsoncut://v2/cut-standard` contract. Make bounded version-aware edits, resolve real media first, validate, visually review, repair concrete findings and render only a pinned final version. ## Documentation routes - Overview: https://jsoncut.com/docs/ - How JsonCut works: https://jsoncut.com/docs/workflow/ - Studio: https://jsoncut.com/docs/studio/ - Project schema: https://jsoncut.com/docs/create/ - cut.md: https://jsoncut.com/docs/create/cut/ - Automation: https://jsoncut.com/docs/authentication/ - MCP: https://jsoncut.com/docs/mcp/ - Examples: https://jsoncut.com/docs/examples/ - V2 API reference: https://jsoncut.com/docs/current-api/ - V1 API: https://jsoncut.com/docs/v1/ Do not infer internal rendering, storage, queue, worker or billing implementation from this public contract.