Skip to main content

@twick/studio - v0.15.0 / Exports / StudioConfig

Interface: StudioConfig

Hierarchy

  • VideoEditorConfig

    StudioConfig

Table of contents

Properties

Properties

canvasConfig

Optional canvasConfig: CanvasConfig

Canvas behavior options (e.g. enableShiftAxisLock). Same as editorConfig.canvasConfig in TwickEditor.

Overrides

VideoEditorConfig.canvasConfig

Defined in

studio/src/types/index.ts:145


captionGenerationService

Optional captionGenerationService: ICaptionGenerationService

Caption generation service for polling-based async caption generation Implement this in your application code to provide API endpoints

Defined in

studio/src/types/index.ts:152


customPanels

Optional customPanels: Record<string, ComponentType<PanelProps>>

Custom panel renderers keyed by tool id.

Defined in

studio/src/types/index.ts:174


customTools

Optional customTools: ToolCategory[]

Extra tool definitions injected into the left toolbar.

Defined in

studio/src/types/index.ts:170


exportVideo

Optional exportVideo: (project: ProjectJSON, videoSettings: VideoSettings) => Promise<Result>

Type declaration

▸ (project, videoSettings): Promise<Result>

Parameters
NameType
projectProjectJSON
videoSettingsVideoSettings
Returns

Promise<Result>

Defined in

studio/src/types/index.ts:163


hiddenTools

Optional hiddenTools: string[]

Tool ids that should be hidden from the default toolbar.

Defined in

studio/src/types/index.ts:172


imageGenerationService

Optional imageGenerationService: IImageGenerationService

Image generation service for polling-based async image generation

Defined in

studio/src/types/index.ts:154


loadProject

Optional loadProject: () => Promise<ProjectJSON>

Type declaration

▸ (): Promise<ProjectJSON>

Returns

Promise<ProjectJSON>

Defined in

studio/src/types/index.ts:147


media

Optional media: Object

Media library configuration (multi-tenant safe).

By default, Twick Studio uses an IndexedDB-backed BrowserMediaManager and seeds demo defaults (Pexels/Pixabay URLs). In production SaaS, you typically:

  • set seed to the string "none"
  • set namespace to a tenant-scoped string (for example env, tenant id, and user id joined with colons)
  • optionally provide a custom manager that talks to your backend

Type declaration

NameTypeDescription
createManager?() => BaseMediaManager-
manager?BaseMediaManagerProvide a media manager implementation (remote-backed, custom cache, etc.). If omitted, Studio uses an IndexedDB-backed BrowserMediaManager.
namespace?stringNamespace key used by storage-backed media managers (e.g. IndexedDB) to isolate assets per tenant/user. If omitted, a shared default namespace is used.
seed?{ items: Omit<MediaItem, "id">[] } | "defaults" | "none" | (manager: BaseMediaManager) => Promise<void>Controls initial seeding behavior. - "defaults": seed demo defaults (backwards compatible behavior) - "none": do not seed anything - { items } object shape: seed with a fixed list of assets - (mgr) => Promise<void>: custom async seeding (e.g. fetch user library)

Defined in

studio/src/types/index.ts:187


saveProject

Optional saveProject: (project: ProjectJSON, fileName: string) => Promise<Result>

Type declaration

▸ (project, fileName): Promise<Result>

Parameters
NameType
projectProjectJSON
fileNamestring
Returns

Promise<Result>

Defined in

studio/src/types/index.ts:146


scriptToTimelineService

Optional scriptToTimelineService: IScriptToTimelineService

Script-to-timeline service for AI outline expansion.

Defined in

studio/src/types/index.ts:162


templates

Optional templates: ProjectTemplate[]

Optional project templates shown in Template Gallery.

Defined in

studio/src/types/index.ts:176


translationService

Optional translationService: ITranslationService

Caption translation service for multi-language workflows.

Defined in

studio/src/types/index.ts:160


uploadConfig

Optional uploadConfig: UploadConfig

When set, media panels show cloud upload (S3 or GCS). Backend must be configured with env (e.g. FILE_UPLOADER_S3_* or GOOGLE_CLOUD_*). See cloud-functions/cors/ and file-uploader README for CORS and credentials.

Defined in

studio/src/types/index.ts:168


videoGenerationService

Optional videoGenerationService: IVideoGenerationService

Video generation service for polling-based async video generation

Defined in

studio/src/types/index.ts:156


voiceoverGenerationService

Optional voiceoverGenerationService: IVoiceoverService

Voiceover generation service for narration generation.

Defined in

studio/src/types/index.ts:158