Registers a custom effect definition in the library.
Effect definition options.
A promise that resolves to the created effect ID.
Registers a filter definition in the library.
Filter definition options.
A promise that resolves to the created filter ID.
Imports media into the library from a file, URL, or raw bytes.
Media source to import.
OptionalmimeType: stringOptional MIME type override for byte or URL inputs.
Optionalfilename: stringOptional filename override.
Optionalid: stringOptional ID override.
OptionalforcedHash: stringA promise that resolves to the created media ID, or null if creation fails before an ID is available.
Restores a serialized media asset into the library.
Serialized media payload.
A promise that resolves to the restored media ID.
Adds a subtitles asset to the library.
Subtitles asset to add.
The subtitles asset ID.
Registers a transition definition in the library.
Transition definition options.
A promise that resolves to the created transition ID.
Refits clips whose media loaded with different dimensions/duration than the project was
serialized with — the "injected media" template flow: the host swaps a media's permanentUrl
in the serialized payload (e.g. a user logo replacing a template logo), and the freshly loaded
asset no longer matches the clip styles/trims that were laid out for the old asset.
Must run after both the library (media loaded, dimensions known) and the timeline (clips initialized) are ready; the engine calls it at the end of initialization.
Detection per media (backwards compatible with projects that predate media size serialization):
load() overwrote them)
differ from the loaded ones.When a change is detected, visual clips are refit through the same updateMediaData path as
replaceMedia, honoring each clip's own fitStrategy first, then mediaData.fitStrategy
(fitStyle default FitStyleEnum.MATCH_SCALE, toCrop default true). Timed clips
additionally get their right trim adjusted so the trimmed timeline duration stays what the
project intended, mirroring the replaceMedia trim behavior.
A promise that resolves after all media have been processed.
Removes all custom metadata stored on the library.
Nothing.
Creates and initializes the built-in effect definitions exposed by the SDK.
A promise that resolves after all built-in effects have been registered.
Queues filmstrip extraction for a media asset.
Media asset ID to process.
A promise that resolves after the request has been queued.
Deletes a media asset and removes any clips that depend on it.
Media asset ID to delete.
A promise that resolves after deletion completes.
Destroys active background workers and releases all media assets.
A promise that resolves after teardown completes.
Extracts an audio track from a video media asset and imports it back into the library.
Video media asset ID.
Audio stream index to extract.
A promise that resolves to the new audio media ID, or null if extraction fails.
Returns a copy of all custom metadata stored on the library.
A copied metadata map, or undefined if no custom data has been stored.
Returns all available effect IDs, including registered custom effects and built-in effects.
The combined effect ID list.
Returns the IDs of built-in effects shipped with the SDK.
The built-in effect IDs.
Returns a previously stored library metadata value.
Metadata key to look up.
The stored value, or undefined if the key is not present.
Returns an effect definition by ID, including built-in effects.
Effect definition ID.
The matching effect definition, or undefined if not found.
Returns a filter definition by ID.
Filter definition ID.
The matching filter definition, or undefined if not found.
Returns the IDs of all registered filters.
The registered filter IDs.
Returns a media asset by its library ID.
Media asset ID to look up.
The matching media asset, or undefined if not found.
Returns the IDs of custom effects registered in this library instance.
The registered custom effect IDs.
Returns a subtitles asset by ID.
Subtitles asset ID.
The matching subtitles asset, or undefined if not found.
Returns the IDs of all subtitles assets in the library.
The subtitles asset IDs.
Returns a transition definition by ID.
Transition definition ID.
The matching transition definition, or undefined if not found.
Returns the IDs of all registered transitions.
The registered transition IDs.
Indicates whether the library has a stored metadata value for the provided key.
Metadata key to test.
true if the key exists; otherwise false.
Indicates whether any media load is still in progress (status not yet settled to
READY/ERROR/DESTROYED). Unlike isProcessing, a pending background hash does not count.
true while any media is loading.
Indicates whether any media is still in progress: loading, transcoding, or waiting for its (background) hash. Media in the ERROR state does not count — errors are final, not pending.
true while any media operation is pending.
Initializes all library assets and built-in effect definitions.
A promise that resolves after the library is ready for use.
Verifies that every ready media payload is restorable: its hash is present in at least one
active storage provider, which is what project restore needs (StorageController::getMedia
returns the first provider hit). Weaker than isAllMediaSynced — some providers may still be
missing payloads.
Returns false while any media is still pending (in progress is never skipped) or when a
ready media's hash is missing from every readable active provider. Providers whose stored list
cannot be read are skipped, but if none can be read the result is false (unverifiable is not
restorable). Media in the ERROR state does not block the result — errors are final. With no
active providers this resolves to true.
A promise that resolves to true when every media is restorable from storage.
Verifies against the active storage providers that every ready media payload is fully persisted, so hosts can check it is safe to leave the editor.
Strict semantic: every active provider must have every ready media hash (syncAllMedia
stores into each provider individually). Returns false while any media is still pending (in
progress is never skipped), when any ready media's hash is missing from any active provider
(run syncAllMedia), or when a provider's stored list cannot be read (unverifiable is not
synced). Media in the ERROR state (failed load or failed hash) does not block the result —
errors are final. With no active providers this resolves to true (there is nothing to sync
to). For the weaker "can the project load back" check see isAllMediaRestorable.
A promise that resolves to true when all media is synced to all active providers.
Indicates whether any media asset is still loading, transcoding, or processing.
A media that is READY but still waiting for its background hash (see
Settings::setMediaBackgroundHashing) also counts as processing, so serialization
(Engine::isSafeToSerialize) waits for hashes and never persists a media without its
storage-restore key.
true if any media item is still processing; otherwise false.
Reads media metadata without adding the media to the library.
Media source to probe.
A promise that resolves to media metadata, or null if probing fails.
Removes a custom effect definition from the library.
Effect definition ID to remove.
Nothing.
Removes a filter definition from the library.
Filter definition ID to remove.
Nothing.
Removes a subtitles asset from the library and deletes dependent timeline clips.
Subtitles asset ID to remove.
Nothing.
Removes a transition definition from the library.
Transition definition ID to remove.
Nothing.
Removes unused media, subtitles, effects, filters, and transitions from the library.
A promise that resolves after all removable assets have been processed.
Removes custom effects that are not referenced by any clip on the timeline.
Nothing.
Removes filters that are not referenced by any clip on the timeline.
Nothing.
Removes media assets that are not referenced by any clip on the timeline.
A promise that resolves after all unused media items have been deleted.
Removes subtitles assets that are not referenced by any clip on the timeline.
Nothing.
Removes transitions that are not referenced by any layer on the timeline.
Nothing.
Replaces an existing media asset with new source content while preserving the media ID.
Media asset ID to replace.
Replacement media source.
OptionalreplaceOptions: ReplaceMediaOptionsOptional replacement behavior.
A promise that resolves to true if replacement succeeds.
Replaces an existing media asset with serialized media data.
Serialized replacement media payload.
A promise that resolves to true if replacement succeeds.
Serializes the library and all serializable assets it owns.
The serialized library payload.
Replaces all custom library metadata with a copy of the provided map.
Metadata entries to store.
Nothing.
Stores an arbitrary metadata entry on the library instance.
Metadata key.
Metadata value.
Whether an existing value for the same key may be replaced.
true if the value was stored; otherwise false when overwrite is disabled and the key already exists.
Persists every library media item through the configured storage controller.
A promise that resolves after all store requests have settled.
Synchronizes stored media across all configured storage providers.
A promise that resolves after synchronization completes.
Resolves once no media load is in progress (see hasLoadingMedia). Used to defer derived-data
extraction (samples/filmstrip) while an import batch is still loading.
Poll interval in milliseconds.
A promise that resolves when all media loads have settled.
StaticdeserializeCreates a library instance from serialized data.
Serialized library payload.
The deserialized library.
Owns project media, subtitles, effects, filters, transitions, and related asset-processing workflows.