mcut
@mcut/timeline

ProjectCaptionRef

Generated TypeScript API reference for the public mcut SDK.

mcut SDK


mcut SDK / timeline/src / ProjectCaptionRef

Interface: ProjectCaptionRef

Defined in: packages/timeline/src/project-context.ts:19

Properties

caption

caption: object;

Defined in: packages/timeline/src/project-context.ts:23

durationMs

durationMs: number;

groupId?

optional groupId?: `g-${string}`;

Elements sharing a groupId are one editable timeline item made from multiple clips. This is separate from linkId, which remains audio/link-pair semantics.

id

id: `e-${string}` = elementIdSchema;

keyframes?

optional keyframes?: Partial<Record<
  | "blur"
  | "rotation"
  | "position.x"
  | "position.y"
  | "scale.x"
  | "scale.y"
  | "opacity"
  | "volume"
| "letterSpacing", object[]>>;

Armed fixed-effect properties (Premiere stopwatch on): per-property keyframe tracks, sorted and unique by element-local timeMs.

linkId?

optional linkId?: string;

Elements sharing a linkId are linked (e.g. video + its detached audio): UIs select and move them together. The engine stores the linkage; it does not enforce cascading edits.

startMs

startMs: number;

style

style: object = captionStyleSchema;
style.activeWordColor?
optional activeWordColor?: string;

Color applied to the word under the playhead (karaoke highlight).

style.backgroundColor
backgroundColor: string;
style.color
color: string;
style.fontFamily
fontFamily: string;
style.fontSize
fontSize: number;
style.fontWeight
fontWeight: number;
style.position
position: "top" | "middle" | "bottom";

text

text: string;

type

type: "caption";

words?

optional words?: object[];

Optional word-level timings, relative to startMs.


trackId

trackId: string;

Defined in: packages/timeline/src/project-context.ts:20


trackIndex

trackIndex: number;

Defined in: packages/timeline/src/project-context.ts:22


trackName

trackName: string;

Defined in: packages/timeline/src/project-context.ts:21

On this page