JsonCutDocs
Projects & Schema

Layers, media and SVG

Add editable text, shapes, images, footage, audio, HTML snippets and SVG without flattening the project.

Every editable element carries data-jc-clip and a stable id. Its data-jc-kind selects the focused Studio controls and validation rules.

Rendered output

Headphones product cinema

Real footage, product images, text and graphic layers stay independently editable across three scenes.

Video1920 × 108012 secondsEditable V2 source

Layer kinds

KindBest for
textHeadings, body copy, labels and editable text effects
shapeRectangles, ellipses, paths, gradients and accents
imagePhotos, screenshots, generated images and editable SVG
videoFootage with crop, trim, speed, volume and loop controls
audioMusic, narration and sound effects
htmlSafe static markup that behaves like an ordinary layer
captionWord-timed transcript segments
scene, groupHierarchy and local compositions
customIsolated DOM, SVG, Canvas 2D or WebGL code

Media references

<video id="product-demo" data-jc-clip data-jc-kind="video"
  data-jc-name="Product demo" data-jc-start="0" data-jc-duration="4.63"
  data-jc-track="1" data-jc-media-start="1.2" data-jc-media-end="5.83"
  data-jc-playback-rate="1" data-jc-volume="0.85"
  src="jsoncut-media://media_product_demo"></video>

Upload substantial media with POST /api/v2/media and store the returned jsoncut-media://... reference. Small Base64 data URLs remain available within request-size limits.

Editable SVG

<div id="mark" data-jc-clip data-jc-kind="image" data-jc-name="Vector mark"
  data-jc-start="0" data-jc-duration="5" data-jc-track="3">
  <svg viewBox="0 0 100 100" aria-hidden="true">
    <path data-jc-vector-path d="M50 4 96 50 50 96 4 50Z" fill="#ff9418" />
  </svg>
</div>

SVG layers retain their source. Declared colors can be changed through ordinary Studio color controls without converting the vector to a bitmap.

Required clip identity and timing

Every editable tag needs a unique stable id, data-jc-clip, a valid data-jc-kind, numeric data-jc-start, positive data-jc-duration and a non-negative integer data-jc-track.

<h2 id="feature-title" data-jc-clip data-jc-kind="text"
  data-jc-name="Feature title" data-jc-start="1.2"
  data-jc-duration="3.4" data-jc-track="4">One source.</h2>

data-jc-name is strongly recommended for people and Agents even though the stable id is the machine identity.

Media controls

AttributeApplies toMeaning
srcimage, video, audioOwned media reference, HTTPS URL allowed by policy, or bounded matching data URL
data-jc-media-startvideo, audioSource in-point in seconds
data-jc-playback-ratevideo, audioSource playback multiplier
data-jc-volumevideo, audioBase volume before volume keyframes
data-jc-fade-in, data-jc-fade-outvideo, audioAudio fade duration in seconds
data-jc-muted, data-jc-loopvideo, audioBoolean playback behavior

Image projects reject video, audio, caption and scene kinds. Every image layer must use start 0 and duration 1.