OpenReels
Configuration

Archetypes

How archetype configs control visual style, pacing, captions, transitions, and the image prompter's style bible.

An archetype is a complete visual identity for a video. It controls everything from color palette and art style to pacing tier, caption style, and default transitions. OpenReels ships with 14 archetypes, and you can create custom ones by adding JSON files.

The 14 built-in archetypes

ArchetypePacingCaption StyleDefault TransitionFeel
cinematic_documentarycinematiccleancrossfadeGrounded, authoritative, documentary
moody_cinematiccinematiccleancrossfadeDark, atmospheric, tension
studio_realismcinematiccleancrossfadePolished, photographic
warm_narrativecinematiccleancrossfadeIntimate, story-driven
pastoral_watercolorcinematicgradient_risecrossfadeSoft, painterly, nostalgic
warm_editorialmoderatecolor_highlightslide_leftMagazine editorial warmth
editorial_caricaturemoderatecolor_highlightslide_leftExpressive, satirical
anime_illustrationmoderatebold_outlineflipIntense, dynamic, anime
vintage_snapshotmoderatebold_outlinewipeRetro, nostalgic
surreal_dreamscapemoderategradient_risecrossfadeEthereal, otherworldly
gothic_fantasymoderatekaraoke_sweepcrossfadeDark, ornate, dramatic
infographicfastblock_impactslide_leftClean, data-driven, rapid
bold_illustrationfastbold_outlineslide_leftGraphic, punchy
comic_bookfastbold_outlinewipePanel-style, energetic

Config format

Each archetype is a JSON file in src/config/archetypes/. Here is the full schema with what each field controls:

Pacing and rendering fields

{
  "scenePacing": "cinematic",
  "defaultTransition": "crossfade",
  "transitionDurationFrames": 18,
  "captionStyle": "clean",
  "colorPalette": {
    "background": "#1a1a14",
    "accent": "#c8a96e",
    "text": "#e8e0d0"
  },
  "textCardFont": "Inter",
  "motionIntensity": 0.9
}
FieldTypeDescription
scenePacing"fast" | "moderate" | "cinematic"Controls scene count and word budget. See Pacing.
defaultTransitionTransitionTypeApplied when the Creative Director omits a per-scene transition.
transitionDurationFramesnumberHow many frames the transition animation lasts (at 30fps, 15 frames = 0.5s).
captionStylestringWhich caption component renders. See Captions.
colorPalette.backgroundhex stringBackground color for text cards.
colorPalette.accenthex stringAccent color for text card glow, accent bars.
colorPalette.texthex stringText color for text cards.
textCardFontstringFont family for text cards. Available: "Inter", "Merriweather", "Space Grotesk".
motionIntensitynumberMultiplier for Ken Burns zoom/pan distance. 0.8 is subtle, 1.4 is aggressive.

Creative/visual fields (style bible)

These fields are injected into the Image Prompter agent's system prompt as a "style bible" that every generated image must follow:

{
  "artStyle": "Photorealistic documentary photography with cinematic framing...",
  "lighting": "Natural side lighting with soft shadows. Golden hour warmth...",
  "compositionRules": "Rule of thirds with subject at power points...",
  "culturalMarkers": "Context-appropriate architecture with weathered textures...",
  "mood": "Grounded, authoritative, contemplative.",
  "antiArtifactGuidance": "Crisp sharp focus on subject with natural bokeh...",
  "visualColorPalette": [
    "muted earth tones",
    "warm amber",
    "deep forest green",
    "soft cream",
    "charcoal gray"
  ]
}
FieldDescription
artStylePrimary visual direction. Describes the rendering approach, detail level, and overall aesthetic.
lightingLighting setup for all scenes. Direction, quality, temperature.
compositionRulesFraming rules. Camera angles, depth layers, subject placement.
culturalMarkersEnvironmental and period details that ground scenes in reality.
moodEmotional tone descriptors that guide image generation atmosphere.
antiArtifactGuidanceSpecific instructions to avoid common AI image artifacts (waxy skin, blurred edges, broken perspective).
visualColorPaletteDescriptive color names the image model should use. Different from the hex colorPalette used for rendering.

How archetypes are used

Archetypes flow through the pipeline in three ways:

  1. Creative Director -- selects or receives the archetype, which determines pacing tier and scene count constraints
  2. Image Prompter -- receives the full style bible (artStyle, lighting, compositionRules, culturalMarkers, mood, antiArtifactGuidance, visualColorPalette) as part of its system prompt
  3. Score-to-props mapper -- reads rendering fields (colorPalette, captionStyle, motionIntensity, textCardFont, defaultTransition, transitionDurationFrames) to configure Remotion components

Creating a custom archetype

To add a custom archetype:

  1. Create a JSON file in src/config/archetypes/ following the schema above (all fields are required)
  2. Import and register it in src/config/archetype-registry.ts:
import myCustom from "./archetypes/my-custom.json" with { type: "json" };

const ARCHETYPES: Record<string, ArchetypeConfig> = {
  // ... existing archetypes
  my_custom: myCustom as ArchetypeConfig,
};
  1. Use it with --archetype my_custom on the CLI or select it in the web UI

Tips for writing style bible fields:

  • artStyle: Be specific about the rendering technique. "Photorealistic documentary photography" produces very different results from "Modern anime illustration with sharp detailed linework."
  • antiArtifactGuidance: Call out the specific artifacts your art style is prone to. Photorealistic styles need guidance on skin texture and perspective. Anime styles need guidance on linework consistency and color boundaries.
  • visualColorPalette: Use descriptive names ("warm amber", "deep forest green") rather than hex codes. Image generation models respond better to natural language color descriptions.
  • motionIntensity: Start at 1.0 and adjust. Documentary styles work well around 0.9. Action/anime styles can go up to 1.4.

Source files

FileRole
src/config/archetype-registry.tsLoads and exposes all archetypes
src/config/archetypes/*.jsonIndividual archetype config files
src/schema/archetype.tsTypeScript interface for ArchetypeConfig