File size: 3,671 Bytes
7312c42 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | export type MultiTrackType = 'task' | 'video' | 'audio' | 'subtitle'
export type MultiTrackTaskMode = 'default' | 'l2v' | 'ref' | 'edit'
export type MultiTrackContinuityMode = 'shot' | 'context' | 'context_swap'
export type MultiTrackRefImageSize = 'match' | 'max'
export type MultiTrackUserPromptVariant = 'a' | 'b'
export type MultiTrackMediaType = 'image' | 'audio' | 'video' | 'subtitle' | 'none'
export type MultiTrackSourceType = 'preset' | 'input' | 'output' | 'local' | 'url' | 'slot'
export interface MultiTrackPanoramaView {
version: 1
projection: 'equirectangular'
yaw: number
pitch: number
hfov: number
aspect_ratio: number
}
export interface MultiTrackTaskImage {
id: string
source_type?: MultiTrackSourceType
file_path?: string
local_path?: string
url?: string
slot_name?: string
file_name?: string
panorama_view?: MultiTrackPanoramaView
shared_reference?: boolean
shared_reference_copy?: boolean
muted?: boolean
}
export interface MultiTrackSegmentContent {
media_type: MultiTrackMediaType
source_type?: MultiTrackSourceType
file_path?: string
local_path?: string
url?: string
slot_name?: string
file_name?: string
text?: string
user_prompt?: string
user_prompt_b?: string
user_prompt_variant?: MultiTrackUserPromptVariant
system_prompt?: string
task_mode?: MultiTrackTaskMode
continuity_mode?: MultiTrackContinuityMode
ref_image_size?: MultiTrackRefImageSize
images?: MultiTrackTaskImage[]
duration?: number
volume_db?: number
muted?: boolean
speed?: number
media_index?: number
shared_reference?: boolean
shared_media_index?: number
/** @deprecated Migrated to shared_reference when legacy workflows are loaded. */
speaker_reference?: boolean
subtitle_style?: MultiTrackSubtitleStyle
subtitle_speech?: MultiTrackSubtitleSpeechSettings
}
export interface MultiTrackSubtitleSpeechSettings {
model: 'VoxCPM2'
prompt: string
cfg: number
steps: number
referenceAudio: string
referenceAudioSourceType?: Extract<MultiTrackSourceType, 'input' | 'output' | 'local'>
}
export interface MultiTrackSubtitleStyle {
font_size: number
color: string
outline_color?: string
background_color: string
background_opacity: number
x: number
y: number
width: number
}
export interface MultiTrackSegment {
id: string
start_frame: number
end_frame: number
origin_start_frame?: number
content: MultiTrackSegmentContent
color: string
}
export interface MultiTrackTaskMarker {
id: string
frame: number
}
export interface MultiTrack {
id: string
name: string
type: MultiTrackType
task_mode?: MultiTrackTaskMode
color: string
muted: boolean
solo?: boolean
visible?: boolean
volume_db?: number
locked: boolean
audio_locked?: boolean
media_index?: number
segments: MultiTrackSegment[]
}
export interface TrackData {
tracks: MultiTrack[]
total_length: number
frame_rate: number
task_markers?: MultiTrackTaskMarker[]
task_overview?: boolean
muted?: boolean
volume_db?: number
}
export interface TracksInfoMediaItem {
index: number
track_id: string
segment_id: string
source_type?: MultiTrackSourceType
file_path?: string
local_path?: string
url?: string
slot_name?: string
file_name?: string
duration?: number
panorama_view?: MultiTrackPanoramaView
}
export interface TracksInfo {
total_length: number
frame_rate: number
task_markers?: MultiTrackTaskMarker[]
muted?: boolean
volume_db?: number
width: number
height: number
tracks: MultiTrack[]
media: {
images: TracksInfoMediaItem[]
audio: TracksInfoMediaItem[]
video: TracksInfoMediaItem[]
}
}
|