One entry of the bin. The probe’s findings are stored, so a project opens
meaningfully even when the file is missing.
Field
Type
Meaning
id
string
"m…", never re-issued
path
string
Absolute path. Also the duplicate check
name
string
Display name, normally the file’s basename
duration
number
optional. Seconds, when the container says
kind
string
video, audio, image
width, height
integer
optional
frameRate
number
optional. Decimal, for display
frameRateFraction
string
optional. Exact, e.g. "30000/1001"
videoCodec, audioCodec
string
optional
hasAudio
bool
The file carries sound
audioTracks
AudioTrack[]
optional. Every audio stream, in file order
placeholder
bool
optional. True for a template slot
colorRange
string
optional. limited or full: the levels the picture is read as, over the file’s own tag. Absent means “as tagged”. Set with setMediaColorRange
origin
string
optional. speech for a file the speech sheet read aloud. Absent for an import. The bin shelves a file with an origin under Generated, not with the imports
AudioTrack
Field
Type
index
integer, the stream’s index in the file
codec
string
channels
integer
sampleRate
integer
title
string, optional
language
string, optional
AppliedFilter
One link of an effect chain, in filters or videoEffects.
Field
Type
Meaning
id
string
A package id from catalogue.list, e.g. "concat.gaussian-blur"
params
object
Parameter key → number. Missing keys mean the package’s defaults
enabled
bool
optional, default true. False bypasses without losing settings
Every parameter is stored as a number, whatever its type in the
catalogue: a bool is 0 or 1, an enum is one of its values, a color
is packed RGBA, a point is two keys <key>.x and <key>.y in 0..1.
Transition
Field
Type
Meaning
id
string
A transition package id, e.g. "concat.dissolve", "concat.push", "concat.clock-wipe"
duration
number
Seconds, default 1
TextStyle
A title’s styling. Sizes are fractions of the frame, so a title made at
1080p exports right at 4K. In a command you send only the fields you
change; the rest take these defaults.
Field
Type
Default
Meaning
content
string
"Your text"
The words, newlines included
fontFamily
string
"\"Cabinet Grotesk\""
CSS-style family name, quoted where needed. May name an added font
fontSize
number
0.09
Cap height as a fraction of frame height
fontWeight
number
700
100..=900
italic
bool
false
color
string
"#ffffff"
CSS hex
align
string
"center"
left, center, right. Also which point of the block the clip’s position pins
opacity
number
1
0..=1, multiplied with the clip’s
strokeWidth
number
0
Outline as a fraction of frame height; 0 is none
strokeColor
string
"#000000"
shadow
bool
true
A drop shadow
background
string
""
A background colour behind the text, #rrggbb[aa], its alpha the opacity; empty is none
backgroundRadius
number
0.0135
The background’s corner radius as a fraction of frame height; 0 is square
backgroundPaddingX
number
0.0315
The background’s air either side of the words, as a fraction of frame height; ignored on an axis maxWidth sizes
backgroundPaddingY
number
0.018
The same above and below; ignored when maxHeight sizes the box
lineHeight
number
1.2
Multiple of the font size; floored at 0.5
tracking
number
0
Extra letter spacing, in frame-height fractions
maxWidth
number
0
Wrap width as a fraction of frame width; 0 is no wrap
maxHeight
number
0
Box height as a fraction of frame height; 0 is the words’ own
Crop
Fractions of the source taken off each edge: {left, top, right, bottom},
each 0..=0.9, with at least a tenth of the picture left.
Cutout
Field
Type
Meaning
mode
string
auto (the model’s mask) or custom (the mask plus strokes)
subject
string
optional, default auto. person, object, or auto (person if found, else object)
{at, speed}: at a fraction 0..=1 of the clip, speed source seconds
per timeline second there.
NewMedia
A probed file, as addMedia, fillSlot, replaceClipMedia and
freezeFrame take it. The same fields as MediaItem minus id and
placeholder: path, name, duration, kind, width, height,
frameRate, frameRateFraction, videoCodec, audioCodec, hasAudio,
audioTracks, and origin (optional; leave it out for an import).
Media
MediaSummary
Reply to media.probe.
Field
Type
Meaning
path
string
The file, as given
duration
number
optional. Container duration in seconds
kind
string
video, audio, image
video
VideoStreamInfo
optional. The first video stream
audio
AudioStreamInfo
optional. The first audio stream, what a clip plays unless it names another
audioTracks
AudioStreamInfo[]
Every audio stream, in file order
VideoStreamInfo:index, codec, width, height, frameRate
(decimal), frameRateFraction (exact, e.g. "30/1"), and colorRange
(limited or full, present only when the file says; a file that says
nothing is played as limited).
author.name, e.g. "concat.gaussian-blur". What a chain stores
name
string
The catalogue card’s title
kind
string
effect, filter, audio, transition, generator
category
string
The shelf the card sits on
description
string
One sentence
intensity
string
optional. The parameter the simple view shows as its one slider
params
ParamInfo[]
In inspector order
ParamInfo
Field
Type
Meaning
key
string
What params stores it under
label
string
The control’s label
type
string
float, int, bool, enum, color, point
min, max
number
The range
default
number
The value an untouched control means
step
number
Slider increment; 0 is continuous
unit
string
Shown after the number
animate
bool
Can carry keyframes
values
number[]
For enum: the values the document may hold
labels
string[]
For enum: the name of each value, in values order
Templates
TemplateInfo
Field
Type
Meaning
path
string
The bundle folder. What template.instantiate takes
name
string
width, height
integer
Output size
rateNum, rateDen
integer
Frame rate
slots
SlotInfo[]
In the order they first appear on the timeline
hasPoster
bool
The bundle carries poster.jpg
SlotInfo
Field
Type
Meaning
mediaId
string
The placeholder’s id. What a fill names
name
string
As the creator labelled it
kind
string
video, audio, image: what the slot wants
seconds
number
Timeline seconds the slot covers
Events
Every event carries job and path. As a bare object the tag is event;
in the JSON-RPC envelope the tag becomes the notification’s method and
the rest its params.
cutout.progress
Field
Type
Meaning
mediaId
string
The media being analysed
fetching
bool
True while a model downloads, false while it runs
fraction
number
0..=1
export.progress
Field
Type
Meaning
frame
integer
Frames done
total
integer
Frames in total
stage
string
video, audio, mux
export.done
Field
Type
output
string, the file written
width, height
integer
export.failed
Field
Type
error
ApiError; code is cancelled when export.cancel stopped it