← Files Pray Production StudioARCHIVED FILE
skills/pps-ads/packages/remotion-kit/src/ad/types.ts
1.12 KB · Oct 8, 2026 · 06:29 UTC
import type { AdTheme } from '../theme'
import type { AdFormat, BeatType } from '../grammar'
export interface RenderCaptionGroup {
text: string
start: number
end: number
words: Array<{ text: string; start: number; end: number }>
}
/** The spec's beat, as the composition receives it: ids already swapped for URLs by the worker. */
export interface RenderBeat {
type: BeatType
start: number
end: number
text?: string
subtitle?: string
kicker?: string
partner?: string
lines?: string[]
punchline?: boolean
clipUrl?: string
clipUrls?: string[]
imageUrls?: string[]
thumbnailUrl?: string
pickIndex?: number
frame?: 'phone' | 'laptop'
inner?: 'prompt' | 'agent' | 'results'
captions?: boolean
captionAccent?: string[]
captionGroups?: RenderCaptionGroup[]
voiceoverUrl?: string
voiceoverSeconds?: number
}
export interface BeatProps {
beat: RenderBeat
theme: AdTheme
brand: { name: string; logoUrl?: string }
seconds: number
bpm: number
format: AdFormat
/** True when the beat renders inside a device frame (Task 7): smaller chrome, no full-bleed effects. */
compact?: boolean
}
SHA-256: 0de827e41af84ed974817df57fa059287193ab25fbd3aa08ceea7ff4b2a71f4f