Skip to content

create-template

Use when creating a reusable Remotion composition template — analyzing design references, translating visual designs into React components, building parameterized inputProps schemas with Zod, registering compositions in Root.tsx, and test rendering to verify output.

ModelSource
sonnetpack: video
Full Reference

A Remotion template is a parameterized composition — visual structure defined in React, data injected via inputProps. Good templates are reusable across many renders with different data. The workflow is: analyze design → define Zod schema → build component → register in Root.tsx → test render.

ItemValue
Schema libraryZod (z.object({}))
Schema locationsrc/templates/<Name>/schema.ts
Composition registrationsrc/Root.tsx
Studio UI controlsPass schema prop to <Composition>
Dynamic durationUse calculateMetadata callback
SSR video component<OffthreadVideo> — never <Video>
Test render (fast)npx remotion still or --frames=0-29
Multi-ratio strategyOne <Composition> per format, same component
I want to…File
Map design elements to Remotion primitives, define Zod schema, or set up directory structureschema-and-structure.md
Build animated components, add overlays with Sequences, or handle multi-aspect-ratio layoutscomponent-patterns.md
Register in Root.tsx, use calculateMetadata for dynamic duration, or run test rendersregistration-and-testing.md

Usage: Read the reference file matching your current task from the index above. Each file is self-contained with code examples and inline gotchas.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┏━ 🎬 create-template ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ [one-line description of the template you’re building] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Output this box as the first response before any work begins. No exceptions.