@twick/studio - v0.15.0 / Exports
@twick/studio - v0.15.0
Table of contents
References
Interfaces
- CaptionEntry
- CloudMediaUploadProps
- ExportProjectBundleOptions
- GCSUploadResponse
- GenerateCaptionsResponse
- GenerateImageParams
- GenerateVideoParams
- ICaptionGenerationPollingResponse
- ICaptionGenerationService
- IImageGenerationService
- IScriptToTimelineService
- ITranslationService
- IVideoGenerationService
- IVoiceoverService
- PanelProps
- ProjectBundleExport
- ProjectTemplate
- PropertiesPanelProps
- RequestStatus
- RequestStatusCompleted
- RequestStatusPending
- Result
- S3PresignResponse
- StudioConfig
- Timeline
- TimelineElement
- ToolCategory
- UploadConfig
- UseCloudMediaUploadConfig
- UseCloudMediaUploadReturn
- VideoSettings
Type Aliases
Variables
- CAPTION_PROPS
- DEFAULT_PROJECT_TEMPLATES
- DEFAULT_STUDIO_CONFIG
- DEMO_STUDIO_CONFIG
- EDU_STUDIO_CONFIG
- LivePlayerProvider
- MARKETING_STUDIO_CONFIG
Functions
- AnnotationsPanel
- AudioPanel
- CaptionsPanel
- ChaptersPanel
- CirclePanel
- CloudMediaUpload
- ImagePanel
- RecordPanel
- RectPanel
- ScriptPanel
- StudioHeader
- TemplateGalleryPanel
- TextPanel
- Toolbar
- TwickStudio
- VideoPanel
- exportProjectBundle
- useCloudMediaUpload
- useGenerateCaptions
- useScreenRecorder
- useStudioManager
References
LivePlayer
Renames and re-exports LivePlayerProvider
PLAYER_STATE
Renames and re-exports LivePlayerProvider
default
Renames and re-exports TwickStudio
generateId
Renames and re-exports LivePlayerProvider
getBaseProject
Renames and re-exports LivePlayerProvider
useLivePlayerContext
Renames and re-exports LivePlayerProvider
Type Aliases
CloudUploadProvider
Ƭ CloudUploadProvider: "s3" | "gcs"
Defined in
studio/src/hooks/use-cloud-media-upload.ts:3
RequestStatusResponse
Ƭ RequestStatusResponse: RequestStatusPending | RequestStatusCompleted
Union type for request status responses
Defined in
Variables
CAPTION_PROPS
• Const CAPTION_PROPS: Object
Type declaration
| Name | Type |
|---|---|
highlight_bg | { colors: { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } ; font: { family: string = "Bangers"; size: number = 46; weight: number = 700 } ; fontWeight: number = 700; lineWidth: number = 0.35; shadowColor: string = "#000000"; shadowOffset: number[] ; stroke: string = "#000000" } |
highlight_bg.colors | { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } |
highlight_bg.colors.bgColor | string |
highlight_bg.colors.highlight | string |
highlight_bg.colors.text | string |
highlight_bg.font | { family: string = "Bangers"; size: number = 46; weight: number = 700 } |
highlight_bg.font.family | string |
highlight_bg.font.size | number |
highlight_bg.font.weight | number |
highlight_bg.fontWeight | number |
highlight_bg.lineWidth | number |
highlight_bg.shadowColor | string |
highlight_bg.shadowOffset | number[] |
highlight_bg.stroke | string |
outline_only | { colors: { bgColor: string = "#000000"; highlight: string = "#ff4081"; text: string = "#ffffff" } ; font: { family: string = "Arial"; size: number = 42; weight: number = 600 } ; fontWeight: number = 600; lineWidth: number = 0.5; shadowBlur: number = 0; shadowColor: string = "#000000"; shadowOffset: number[] ; stroke: string = "#000000" } |
outline_only.colors | { bgColor: string = "#000000"; highlight: string = "#ff4081"; text: string = "#ffffff" } |
outline_only.colors.bgColor | string |
outline_only.colors.highlight | string |
outline_only.colors.text | string |
outline_only.font | { family: string = "Arial"; size: number = 42; weight: number = 600 } |
outline_only.font.family | string |
outline_only.font.size | number |
outline_only.font.weight | number |
outline_only.fontWeight | number |
outline_only.lineWidth | number |
outline_only.shadowBlur | number |
outline_only.shadowColor | string |
outline_only.shadowOffset | number[] |
outline_only.stroke | string |
soft_box | { colors: { bgColor: string = "#333333"; highlight: string = "#ff4081"; text: string = "#ffffff" } ; font: { family: string = "Montserrat"; size: number = 40; weight: number = 600 } ; fontWeight: number = 600; lineWidth: number = 0.2; shadowBlur: number = 3; shadowColor: string = "rgba(0,0,0,0.3)"; shadowOffset: number[] ; stroke: string = "#000000" } |
soft_box.colors | { bgColor: string = "#333333"; highlight: string = "#ff4081"; text: string = "#ffffff" } |
soft_box.colors.bgColor | string |
soft_box.colors.highlight | string |
soft_box.colors.text | string |
soft_box.font | { family: string = "Montserrat"; size: number = 40; weight: number = 600 } |
soft_box.font.family | string |
soft_box.font.size | number |
soft_box.font.weight | number |
soft_box.fontWeight | number |
soft_box.lineWidth | number |
soft_box.shadowBlur | number |
soft_box.shadowColor | string |
soft_box.shadowOffset | number[] |
soft_box.stroke | string |
word_by_word | { colors: { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } ; font: { family: string = "Bangers"; size: number = 46; weight: number = 700 } ; lineWidth: number = 0.35; shadowBlur: number = 5; shadowColor: string = "#000000"; shadowOffset: number[] ; stroke: string = "#000000" } |
word_by_word.colors | { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } |
word_by_word.colors.bgColor | string |
word_by_word.colors.highlight | string |
word_by_word.colors.text | string |
word_by_word.font | { family: string = "Bangers"; size: number = 46; weight: number = 700 } |
word_by_word.font.family | string |
word_by_word.font.size | number |
word_by_word.font.weight | number |
word_by_word.lineWidth | number |
word_by_word.shadowBlur | number |
word_by_word.shadowColor | string |
word_by_word.shadowOffset | number[] |
word_by_word.stroke | string |
word_by_word_with_bg | { colors: { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } ; font: { family: string = "Bangers"; size: number = 46; weight: number = 700 } ; lineWidth: number = 0.35; shadowBlur: number = 5; shadowColor: string = "#000000"; shadowOffset: number[] } |
word_by_word_with_bg.colors | { bgColor: string = "#444444"; highlight: string = "#ff4081"; text: string = "#ffffff" } |
word_by_word_with_bg.colors.bgColor | string |
word_by_word_with_bg.colors.highlight | string |
word_by_word_with_bg.colors.text | string |
word_by_word_with_bg.font | { family: string = "Bangers"; size: number = 46; weight: number = 700 } |
word_by_word_with_bg.font.family | string |
word_by_word_with_bg.font.size | number |
word_by_word_with_bg.font.weight | number |
word_by_word_with_bg.lineWidth | number |
word_by_word_with_bg.shadowBlur | number |
word_by_word_with_bg.shadowColor | string |
word_by_word_with_bg.shadowOffset | number[] |
Defined in
studio/src/helpers/constant.ts:3
DEFAULT_PROJECT_TEMPLATES
• Const DEFAULT_PROJECT_TEMPLATES: ProjectTemplate[]
Defined in
studio/src/templates/default-templates.ts:4
DEFAULT_STUDIO_CONFIG
• Const DEFAULT_STUDIO_CONFIG: StudioConfig
Defined in
studio/src/profiles/index.ts:9
DEMO_STUDIO_CONFIG
• Const DEMO_STUDIO_CONFIG: StudioConfig
Defined in
studio/src/profiles/index.ts:22
EDU_STUDIO_CONFIG
• Const EDU_STUDIO_CONFIG: StudioConfig
Defined in
studio/src/profiles/index.ts:14
LivePlayerProvider
• LivePlayerProvider: any
MARKETING_STUDIO_CONFIG
• Const MARKETING_STUDIO_CONFIG: StudioConfig
Defined in
studio/src/profiles/index.ts:30
Functions
AnnotationsPanel
▸ AnnotationsPanel(«destructured»): ReactElement<unknown, string | JSXElementConstructor<any>>
Parameters
| Name | Type |
|---|---|
«destructured» | PanelProps |
Returns
ReactElement<unknown, string | JSXElementConstructor<any>>
Defined in
studio/src/components/panel/annotations-panel.tsx:17
AudioPanel
▸ AudioPanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | AudioPanelProps |
Returns
Element
Defined in
studio/src/components/panel/audio-panel.tsx:38
CaptionsPanel
▸ CaptionsPanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | Object |
› addCaption | () => void |
› captions | CaptionEntry[] |
› deleteCaption | (index: number) => void |
› splitCaption | (index: number) => void |
› updateCaption | (index: number, caption: CaptionEntry) => void |
Returns
Element
Defined in
studio/src/components/panel/captions-panel.tsx:43
ChaptersPanel
▸ ChaptersPanel(_props): ReactElement<unknown, string | JSXElementConstructor<any>>
Parameters
| Name | Type |
|---|---|
_props | PanelProps |
Returns
ReactElement<unknown, string | JSXElementConstructor<any>>
Defined in
studio/src/components/panel/chapters-panel.tsx:9
CirclePanel
▸ CirclePanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | CirclePanelProps |
Returns
Element
Defined in
studio/src/components/panel/circle-panel.tsx:45
CloudMediaUpload
▸ CloudMediaUpload(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | CloudMediaUploadProps |
Returns
Element
Defined in
studio/src/components/shared/cloud-media-upload.tsx:21
ImagePanel
▸ ImagePanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | ImagePanelProps |
Returns
Element
Defined in
studio/src/components/panel/image-panel.tsx:34
RecordPanel
▸ RecordPanel(«destructured»): ReactElement<unknown, string | JSXElementConstructor<any>>
Parameters
| Name | Type |
|---|---|
«destructured» | PanelProps |
Returns
ReactElement<unknown, string | JSXElementConstructor<any>>
Defined in
studio/src/components/panel/record-panel.tsx:6
RectPanel
▸ RectPanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | RectPanelProps |
Returns
Element
Defined in
studio/src/components/panel/rect-panel.tsx:42
ScriptPanel
▸ ScriptPanel(«destructured»): ReactElement<unknown, string | JSXElementConstructor<any>>
Parameters
| Name | Type |
|---|---|
«destructured» | PanelProps |
Returns
ReactElement<unknown, string | JSXElementConstructor<any>>
Defined in
studio/src/components/panel/script-panel.tsx:11
StudioHeader
▸ StudioHeader(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | StudioHeaderProps |
Returns
Element
Defined in
studio/src/components/header.tsx:32
TemplateGalleryPanel
▸ TemplateGalleryPanel(«destructured»): ReactElement<unknown, string | JSXElementConstructor<any>>
Parameters
| Name | Type |
|---|---|
«destructured» | TemplateGalleryPanelProps |
Returns
ReactElement<unknown, string | JSXElementConstructor<any>>
Defined in
studio/src/components/panel/template-gallery-panel.tsx:10
TextPanel
▸ TextPanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | TextPanelProps |
Returns
Element
Defined in
studio/src/components/panel/text-panel.tsx:63
Toolbar
▸ Toolbar(«destructured»): Element
Parameters
| Name | Type | Default value |
|---|---|---|
«destructured» | Object | undefined |
› customTools? | ToolCategory[] | [] |
› hiddenTools? | string[] | [] |
› selectedTool | string | undefined |
› setSelectedTool | (tool: string) => void | undefined |
Returns
Element
Defined in
studio/src/components/toolbar.tsx:70
TwickStudio
▸ TwickStudio(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | Object |
› studioConfig? | StudioConfig |
Returns
Element
Defined in
studio/src/components/twick-studio.tsx:32
VideoPanel
▸ VideoPanel(«destructured»): Element
Parameters
| Name | Type |
|---|---|
«destructured» | VideoPanelProps |
Returns
Element
Defined in
studio/src/components/panel/video-panel.tsx:36
exportProjectBundle
▸ exportProjectBundle(project, options?): ProjectBundleExport
Creates a portable export bundle with project JSON, chapters, and captions. This intentionally avoids zip dependencies; callers can zip externally.
Parameters
| Name | Type |
|---|---|
project | ProjectJSON |
options? | ExportProjectBundleOptions |
Returns
Defined in
studio/src/helpers/export-project-bundle.ts:33
useCloudMediaUpload
▸ useCloudMediaUpload(config): UseCloudMediaUploadReturn
Parameters
| Name | Type |
|---|---|
config | UseCloudMediaUploadConfig |
Returns
Defined in
studio/src/hooks/use-cloud-media-upload.ts:64
useGenerateCaptions
▸ useGenerateCaptions(studioConfig?): Object
Parameters
| Name | Type |
|---|---|
studioConfig? | StudioConfig |
Returns
Object
| Name | Type |
|---|---|
addCaptionsToTimeline | (captions: CaptionEntry[]) => void |
getCaptionstatus | (reqId: string) => Promise<ICaptionGenerationPollingResponse> |
onGenerateCaptions | (videoElement: VideoElement) => Promise<null | string> |
pollingIntervalMs | number |
Defined in
studio/src/hooks/use-generate-captions.ts:8
useScreenRecorder
▸ useScreenRecorder(): UseScreenRecorderReturn
Returns
UseScreenRecorderReturn
Defined in
studio/src/hooks/use-screen-recorder.ts:14
useStudioManager
▸ useStudioManager(): Object
Returns
Object
| Name | Type |
|---|---|
addElement | (element: TrackElement) => Promise<void> |
selectedElement | null | TrackElement |
selectedProp | string |
selectedTool | string |
setSelectedProp | Dispatch<SetStateAction<string>> |
setSelectedTool | Dispatch<SetStateAction<string>> |
updateElement | (element: TrackElement) => void |