문서와 설정
이 페이지는 문서 버전에 해당하는 project.v1.schema.json에서 자동 생성되며, 필드 설명은 원문(영어) 그대로입니다. 스키마는 형태만 검사합니다. 범위, 한도, 참조, 키프레임 순서는 엔진 검증 단계에서 검사합니다.
Project
The deserialized shape of a Project before its invariants are checked.
This is the wire contract the published JSON Schema is derived from; validate then decides whether a well-shaped document is valid.
| Field | Type | Description |
|---|---|---|
audio | MasterAudio | Master bus applied to the summed track audio. Default: |
compositions | Composition[] | Composition graphs that clips show. Default: |
effect_resources | EffectResource[] | Non-media resources referenced by effect invocations. Default: |
idrequired | ProjectId | Stable identity of this project. |
namerequired | string | Human-readable project name. It has no semantic meaning. |
schema_versionrequired | 1 | Document version. This build reads and writes only |
settingsrequired | ProjectSettings | Output-wide timeline settings. |
sourcesrequired | MediaSource[] | Media resources referenced by clips. |
timelinerequired | Timeline | Ordered visual and audio tracks. |
AudioStreamShape
An audio stream's channel count and sample rate.
| Field | Type | Description |
|---|---|---|
channelsrequired | integer (uint32) | Channel count. |
sample_raterequired | integer (uint32) | Samples per second per channel. |
EffectResource
Host-resolved, non-media data consumed by one or more visual effects.
| Field | Type | Description |
|---|---|---|
idrequired | EffectResourceId | Stable identity referenced by effect invocations. |
kindrequired | EffectResourceKind | Resource representation expected by the effect definition. |
locatorrequired | string | Opaque host locator. The core never opens it directly. |
EffectResourceId
A stable effect-resource identifier.
Type: string
EffectResourceKind
Portable effect-resource categories supported by the render ABI.
"lut3d"A cubic, filterable RGB lookup table, normally authored as a.cubefile.
FrameRate
A positive rational frame rate in reduced form, at most one frame per tick (120 000 fps).
| Field | Type | Description |
|---|---|---|
denrequired | integer (uint32) | Seconds per |
numrequired | integer (uint32) | Frames per |
HdrSources
What a project does with HDR sources.
"tone_map"Tone-map them into the SDR working space."reject"Refuse to render them.
LoopMode
How each pass of a Loop follows the one before.
"repeat"Every pass plays forward from the start. Sound fades out and in overLOOP_FADE_SECONDSat each wrap so the jump does not click."ping_pong"Passes alternate forward and backward.
MediaFingerprint
Evidence of a source's media, each part recorded only when known.
A matching content hash proves the same bytes; without one, the other parts can only show a difference. modified_ms narrows a search and never decides identity.
| Field | Type | Description |
|---|---|---|
byte_length | integer | null | The file's length in bytes. |
color | ColorMetadata | null | The color the decoded pictures carry. |
content_sha256 | string | null | SHA-256 of the whole file, as 64 lowercase hexadecimal digits. |
duration_ticks | integer | null | Where the media ends on its own timeline, in ticks: first presentation plus length (a stream starting at 1.4 s and lasting 2 s ends at 3.4 s). Non-negative. |
modified_ms | integer | null | The file's modification time, in milliseconds since the Unix epoch. |
streams | StreamTopology | null | The streams the file carries. |
MediaKind
The payload domain of a source.
"video"A video stream, potentially with an audio stream."audio"An audio stream."image"A still visual image."generated"A picture the engine draws from the source'sGenerator; the host supplies nothing."composition"A composition of the project, drawn with the source time as its own time. The host supplies only the media its nodes read.
MediaSource
A host-resolved media resource.
| Field | Type | Description |
|---|---|---|
color_metadata | ColorMetadata | null | The color a Default: |
composition | CompositionId | null | The composition a |
fingerprint | MediaFingerprint | null | What the host found at the locator when the project recorded it, so another host can tell whether media it finds is the same. Generated sources have none. |
generator | Generator | null | What a Default: |
has_audio | boolean | Whether the media has an audio stream. This is a fact of the file, recorded the same by every host whether or not it can decode the stream; a host that cannot plays the source silent.
Default: |
idrequired | SourceId | Stable source identity. |
kindrequired | MediaKind | Media payload domain. |
locator | string | Opaque URI or host locator; the engine does not open it. Required except for Default: |
provider | ProviderSource | null | The extension provider and settings that supply this source's media when the host's own decoders do not read it. |
MissingFrames
How an image sequence shows a frame missing from its numbering.
"reject"A sequence with a missing frame is refused."hold"The frame before it is shown."blank"Nothing is shown: a transparent frame.
ProjectId
A stable project identifier.
Type: string
ProjectSettings
Output-wide settings independent of a renderer or encoder.
| Field | Type | Description |
|---|---|---|
background | Rgb | Opaque color under every layer, in preview and export alike, so empty canvas is never left to a host or encoder. Default: |
blend_space | BlendSpace | The space in which clips' blend modes are evaluated, in preview and export alike. Default: |
color | ColorPipeline | How sources' colors come into the working space. Default: |
frame_raterequired | FrameRate | Timeline frame rate. |
heightrequired | integer (uint32) | Canvas height in output pixels, at most |
sample_raterequired | integer (uint32) | Internal audio sample rate, within |
widthrequired | integer (uint32) | Canvas width in output pixels, at most |
ProviderSource
A source whose media an extension provider supplies instead of the host's video and image decoders.
A host picks the provider by probing the bytes at import, never by file name, and records it here so every host opens the source the same way. The engine does not read it.
One of:
format: "svg"
A static SVG document, rasterized at its shown size. The source's kind is image.
format: "animated_image"
A GIF, animated WebP, or APNG: one cycle of frames, each with its own duration. Repetition is the clip's. The source's kind is video.
format: "lottie"
A Lottie animation (JSON file or dotLottie package), evaluated at its own frames. The source's kind is video.
| Field | Type | Description |
|---|---|---|
animation | string | null | The dotLottie animation shown, by ID. Absent means the package's first; always absent for a Lottie JSON file. |
format: "image_sequence"
Still images played in order at a fixed rate. The source's kind is video.
| Field | Type | Description |
|---|---|---|
frame_raterequired | FrameRate | The rate the frames play at. |
framesrequired | string | null[] | Each frame's locator, in play order. |
missing | MissingFrames | How a missing frame is shown. Default: |
primaries | LinearPrimaries | null | The primaries of OpenEXR frames' linear RGB, overriding the first frame's chromaticities. Only for OpenEXR frames. |
start_number | integer (uint64) | The number of the first frame, as its file was numbered. Default: |
format: "exr"
A still OpenEXR image: linear-light RGB(A), read at half precision. The source's kind is image.
| Field | Type | Description |
|---|---|---|
primaries | LinearPrimaries | null | The primaries of its linear RGB, overriding the file's chromaticities (BT.709 when the file has none, as OpenEXR defines). |
SourceId
A stable media-source identifier.
Type: string
StreamTopology
The streams a media file carries.
| Field | Type | Description |
|---|---|---|
audio | AudioStreamShape | null | The primary audio stream, if there is one. |
video | VideoStreamShape | null | The primary video stream, if there is one. |
VideoStreamShape
A video stream's displayed size and frame rate.
| Field | Type | Description |
|---|---|---|
frame_rate | FrameRate | null | The rate the first frames are presented at, measured from packet times and rounded ( |
heightrequired | integer (uint32) | Displayed height in square pixels, after the pixel aspect ratio and orientation. |
widthrequired | integer (uint32) | Displayed width in square pixels, after the pixel aspect ratio and orientation. |
