UNPKG

scrptly

Version:

Scrptly is a Video Development Kit (VDK) for programmatically generating AI-powered videos.

75 lines (74 loc) 3.89 kB
import type { RenderOptions } from './renderer.js'; import type { Time, Id, Easing, Action, AddLayerOptions } from './types.js'; export type { Time, Id, Easing, Action, AddLayerOptions }; import BaseLayer from './layers/BaseLayer.js'; export type { BaseLayerProperties, BaseLayerSettings } from './layers/BaseLayer.js'; import FolderLayer from './layers/FolderLayer.js'; export type { FolderLayerProperties, FolderLayerSettings } from './layers/FolderLayer.js'; import TextLayer from './layers/TextLayer.js'; export type { TextLayerProperties, TextLayerSettings } from './layers/TextLayer.js'; import CaptionsLayer from './layers/CaptionsLayer.js'; export type { CaptionsLayerProperties, CaptionsLayerSettings } from './layers/CaptionsLayer.js'; import ImageLayer from './layers/ImageLayer.js'; export type { ImageLayerProperties, ImageLayerSettings } from './layers/ImageLayer.js'; import VideoLayer from './layers/VideoLayer.js'; export type { VideoLayerProperties, VideoLayerSettings } from './layers/VideoLayer.js'; import AudioLayer from './layers/AudioLayer.js'; export type { AudioLayerProperties, AudioLayerSettings } from './layers/AudioLayer.js'; import TTSLayer from './layers/TTSLayer.js'; export type { TTSLayerProperties, TTSLayerSettings } from './layers/TTSLayer.js'; export { BaseLayer, FolderLayer, TextLayer, CaptionsLayer, ImageLayer, VideoLayer, AudioLayer, TTSLayer }; export { default as TextualLayer } from './layers/TextualLayer.js'; export type { TextualLayerProperties, TextualLayerSettings } from './layers/TextualLayer.js'; export { default as AuditoryLayer } from './layers/AuditoryLayer.js'; export type { AuditoryLayerProperties, AuditoryLayerSettings } from './layers/AuditoryLayer.js'; export { default as MediaLayer } from './layers/MediaLayer.js'; export type { MediaLayerProperties, MediaLayerSettings } from './layers/MediaLayer.js'; export { default as VisualLayer } from './layers/VisualLayer.js'; export type { VisualLayerProperties, VisualLayerSettings } from './layers/VisualLayer.js'; export type ProjectSettings = { size?: { width: number; height: number; }; frameRate?: number | string; backgroundColor?: string; defaults?: { easing?: Easing; fontFamily?: string; }; }; export type ScrptlySettings = { apiKey: string | false; apiEndpoint?: string; }; interface RenderCtx { result?: any; } export default class Scrptly { settings: ProjectSettings; layers: BaseLayer[]; flow: Action[]; private _flowPointer; prepareAssetsTask: any; renderVideoTask: any; renderCtx: RenderCtx; constructor(settings?: ProjectSettings); static get defaultSettings(): ProjectSettings; static setApiSettings(settings: ScrptlySettings): void; pushAction(action: Action): void; wait(time: Time): this; parallel(funcs: Array<() => Action>, settings?: any): void; addLayer<T extends BaseLayer>(LayerClass: new (parent: Scrptly, properties?: any, settings?: any) => T, properties?: any, settings?: any, options?: AddLayerOptions): T; addFolder(properties?: any, settings?: any, options?: AddLayerOptions): FolderLayer; addText(properties?: any, settings?: any, options?: AddLayerOptions): TextLayer; addImage(properties?: any, settings?: any, options?: AddLayerOptions): ImageLayer; addVideo(properties?: any, settings?: any, options?: AddLayerOptions): VideoLayer; addAudio(properties?: any, settings?: any, options?: AddLayerOptions): AudioLayer; addCaptions(properties?: any, settings?: any, options?: AddLayerOptions): CaptionsLayer; addTTS(properties?: any, settings?: any, options?: AddLayerOptions): TTSLayer; apiCall(endpoint: string, options?: any): Promise<any>; info(): Promise<any>; prepareAssets(actions?: Action[]): Promise<boolean>; renderVideo(options?: RenderOptions): Promise<any>; }