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.
| Model | Source |
|---|---|
| sonnet | pack: video |
Full Reference
create-template
Section titled “create-template”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.
Quick Reference
Section titled “Quick Reference”| Item | Value |
|---|---|
| Schema library | Zod (z.object({})) |
| Schema location | src/templates/<Name>/schema.ts |
| Composition registration | src/Root.tsx |
| Studio UI controls | Pass schema prop to <Composition> |
| Dynamic duration | Use calculateMetadata callback |
| SSR video component | <OffthreadVideo> — never <Video> |
| Test render (fast) | npx remotion still or --frames=0-29 |
| Multi-ratio strategy | One <Composition> per format, same component |
Reference Index
Section titled “Reference Index”| I want to… | File |
|---|---|
| Map design elements to Remotion primitives, define Zod schema, or set up directory structure | schema-and-structure.md |
| Build animated components, add overlays with Sequences, or handle multi-aspect-ratio layouts | component-patterns.md |
Register in Root.tsx, use calculateMetadata for dynamic duration, or run test renders | registration-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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Announcement
Section titled “Announcement”┏━ 🎬 create-template ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ [one-line description of the template you’re building] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Output this box as the first response before any work begins. No exceptions.