> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vibepeak.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Intro & Outro Templates

> Visual reference for every intro and outro overlay — preview, id, accepted fields, default animation and the colours each design ships with

The catalogue ships **27 designs**: 15 intros and 12 outros. Every one has a landscape and a portrait layout, and every one accepts your agency's colours.

Pass a design's **id** as `templateId` inside [`elements_config.intro_outro`](/api-reference/videos/create-narrated-slideshow):

```json theme={null}
"intro": {
  "templateId": "ruled_caps",
  "templateVersion": 1,
  "animation": "wipe",
  "values": { "title": "Sunset Villa" }
}
```

Every intro requires `values.title` and every contact-card outro requires `values.agent_name`, so a selection without one is rejected before any task is created. See [Fields](#fields).

The `intro` slot accepts intro designs only and the `outro` slot outro designs only; naming one in the wrong slot is a `VALIDATION_ERROR`. To read the same catalogue from code, call [List Intro & Outro Templates](/api-reference/videos/list-intro-outro-templates).

## Intro designs

An intro is **ink over your video**: it declares no background of its own, so what sits behind its type is whatever frame it opens on. The previews below are drawn on a neutral grey for that reason — a design set in near-white would be invisible on this page and unremarkable over a dark room.

<Columns cols={3}>
  <Frame caption="Fine Line · hairline_lowercase">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/hairline_lowercase.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=98448d11e9099b7a8e5176cbc460d084" alt="Fine Line intro template preview" width="800" height="450" data-path="images/intro-outro/intro/hairline_lowercase.jpg" />
  </Frame>

  <Frame caption="Ruled Caps · ruled_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/ruled_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=baaf72ddf3a063e4d952f70335f3c9ad" alt="Ruled Caps intro template preview" width="800" height="450" data-path="images/intro-outro/intro/ruled_caps.jpg" />
  </Frame>

  <Frame caption="Condensed Caps · compressed_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/compressed_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=9cd69fad92f8a8e7971beb60e725b9bf" alt="Condensed Caps intro template preview" width="800" height="450" data-path="images/intro-outro/intro/compressed_caps.jpg" />
  </Frame>

  <Frame caption="Navy Script · navy_script">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/navy_script.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=b040e26c22a430cad1491dcaffab777d" alt="Navy Script intro template preview" width="800" height="450" data-path="images/intro-outro/intro/navy_script.jpg" />
  </Frame>

  <Frame caption="Underlined Caps · underlined_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/underlined_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=30954a4e9142f16ef6fd9fae89390a3e" alt="Underlined Caps intro template preview" width="800" height="450" data-path="images/intro-outro/intro/underlined_caps.jpg" />
  </Frame>

  <Frame caption="Terracotta Rounded · terracotta_rounded">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/terracotta_rounded.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=d03b97196c24aedd745b75081adda640" alt="Terracotta Rounded intro template preview" width="800" height="450" data-path="images/intro-outro/intro/terracotta_rounded.jpg" />
  </Frame>

  <Frame caption="Gold Italic Serif · gold_serif_italic">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/gold_serif_italic.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=50e95e808a495b21bd560dfa2d4ec51a" alt="Gold Italic Serif intro template preview" width="800" height="450" data-path="images/intro-outro/intro/gold_serif_italic.jpg" />
  </Frame>

  <Frame caption="Plum Stack · plum_rounded_stack">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/plum_rounded_stack.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=06472d76779b25fc4d7bfef8844131a1" alt="Plum Stack intro template preview" width="800" height="450" data-path="images/intro-outro/intro/plum_rounded_stack.jpg" />
  </Frame>

  <Frame caption="Serif Stack · serif_stack">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/serif_stack.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=fb698ad3d813282ac69b46382e08de92" alt="Serif Stack intro template preview" width="800" height="450" data-path="images/intro-outro/intro/serif_stack.jpg" />
  </Frame>

  <Frame caption="Corner Frame · corner_frame_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/corner_frame_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=c7d793e73a33b3f9d28846b664bb27f7" alt="Corner Frame intro template preview" width="800" height="450" data-path="images/intro-outro/intro/corner_frame_caps.jpg" />
  </Frame>

  <Frame caption="Script Stack · script_stack">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/script_stack.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=cda3d076885644e299396b9cc47abcd0" alt="Script Stack intro template preview" width="800" height="450" data-path="images/intro-outro/intro/script_stack.jpg" />
  </Frame>

  <Frame caption="Poster Caps · poster_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/poster_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=8ccd38baecfc79812feb5dc31420f18b" alt="Poster Caps intro template preview" width="800" height="450" data-path="images/intro-outro/intro/poster_caps.jpg" />
  </Frame>

  <Frame caption="Mint Caption · mint_caption">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/mint_caption.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=b12ebd7d12653ca2594e244f501af77a" alt="Mint Caption intro template preview" width="800" height="450" data-path="images/intro-outro/intro/mint_caption.jpg" />
  </Frame>

  <Frame caption="Glow Caps · glow_caps">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/glow_caps.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=81a138f18a614640ef112ec68782d116" alt="Glow Caps intro template preview" width="800" height="450" data-path="images/intro-outro/intro/glow_caps.jpg" />
  </Frame>

  <Frame caption="Outlined Frame · outline_frame_serif">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/outline_frame_serif.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=514020536b6c31f9fe63ffb6d70740a3" alt="Outlined Frame intro template preview" width="800" height="450" data-path="images/intro-outro/intro/outline_frame_serif.jpg" />
  </Frame>
</Columns>

<AccordionGroup>
  <Accordion title="Portrait layouts (15)">
    Each design is laid out again for a 9:16 video. The layout is picked from the video's own shape — `orientation` on [Narrated Slideshow](/api-reference/videos/create-narrated-slideshow) and [Living Property](/api-reference/videos/create-living-property), `format` on [Land](/api-reference/videos/create-land) — never selected on the overlay itself.

    <Columns cols={3}>
      <Frame caption="Fine Line · hairline_lowercase">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/hairline_lowercase-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=df898cd4795ddef788f72ad6be1d55e0" alt="Fine Line intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/hairline_lowercase-portrait.jpg" />
      </Frame>

      <Frame caption="Ruled Caps · ruled_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/ruled_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=4bee4fb035ca85891b6ed771230be19d" alt="Ruled Caps intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/ruled_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Condensed Caps · compressed_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/compressed_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=6d0d0f31c2ac07e5911896d41f2f377a" alt="Condensed Caps intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/compressed_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Navy Script · navy_script">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/navy_script-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=44d1e14f8d177316791d205b69b38452" alt="Navy Script intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/navy_script-portrait.jpg" />
      </Frame>

      <Frame caption="Underlined Caps · underlined_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/underlined_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=479b466b25043f863e896aed53d392bd" alt="Underlined Caps intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/underlined_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Terracotta Rounded · terracotta_rounded">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/terracotta_rounded-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=046dac835f733e07c697549139755157" alt="Terracotta Rounded intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/terracotta_rounded-portrait.jpg" />
      </Frame>

      <Frame caption="Gold Italic Serif · gold_serif_italic">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/gold_serif_italic-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=780e4c8698fe9ad709aa67b56471bce7" alt="Gold Italic Serif intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/gold_serif_italic-portrait.jpg" />
      </Frame>

      <Frame caption="Plum Stack · plum_rounded_stack">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/plum_rounded_stack-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=aa3735780d29e4e40286b766a1b130d6" alt="Plum Stack intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/plum_rounded_stack-portrait.jpg" />
      </Frame>

      <Frame caption="Serif Stack · serif_stack">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/serif_stack-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=eabbe73a252fa1886c4f1166cbd07ba7" alt="Serif Stack intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/serif_stack-portrait.jpg" />
      </Frame>

      <Frame caption="Corner Frame · corner_frame_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/corner_frame_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=a32897e6438e498fe567b5ca4879f069" alt="Corner Frame intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/corner_frame_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Script Stack · script_stack">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/script_stack-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=ef77d040c16bda1351fddaf5f8d0777a" alt="Script Stack intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/script_stack-portrait.jpg" />
      </Frame>

      <Frame caption="Poster Caps · poster_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/poster_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=bcc2d0739771271017ab507843451e5f" alt="Poster Caps intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/poster_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Mint Caption · mint_caption">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/mint_caption-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=f93fbf9622a04491c3baacd3c47cb859" alt="Mint Caption intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/mint_caption-portrait.jpg" />
      </Frame>

      <Frame caption="Glow Caps · glow_caps">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/glow_caps-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=d53986ce5bc6598da1d2bb7d480cc765" alt="Glow Caps intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/glow_caps-portrait.jpg" />
      </Frame>

      <Frame caption="Outlined Frame · outline_frame_serif">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/intro/outline_frame_serif-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=12b6c64022818abbdd1f0c914c14d326" alt="Outlined Frame intro template preview (portrait)" width="391" height="700" data-path="images/intro-outro/intro/outline_frame_serif-portrait.jpg" />
      </Frame>
    </Columns>
  </Accordion>
</AccordionGroup>

### Intro reference

`title` and `subtitle` are the two fields every intro renders. The colours are what the design ships with: `brandColorPrimary` repaints the title, `brandColorContrast` the subtitle.

| Design             | `id`                  | Default animation | Title     | Subtitle  |
| ------------------ | --------------------- | ----------------- | --------- | --------- |
| Fine Line          | `hairline_lowercase`  | `fade`            | `#303231` | `#30322F` |
| Ruled Caps         | `ruled_caps`          | `wipe`            | `#090909` | `#A8512C` |
| Condensed Caps     | `compressed_caps`     | `slide_up`        | `#FBFBFC` | `#EDEDEE` |
| Navy Script        | `navy_script`         | `fade`            | `#1B2A41` | `#212E43` |
| Underlined Caps    | `underlined_caps`     | `wipe`            | `#F8F8F8` | `#EEEEEE` |
| Terracotta Rounded | `terracotta_rounded`  | `scale`           | `#893E16` | `#422F1C` |
| Gold Italic Serif  | `gold_serif_italic`   | `fade`            | `#C29A52` | `#E8E8E8` |
| Plum Stack         | `plum_rounded_stack`  | `scale`           | `#45173B` | `#44183C` |
| Serif Stack        | `serif_stack`         | `stagger`         | `#23100F` | `#251310` |
| Corner Frame       | `corner_frame_caps`   | `wipe`            | `#F6F6F7` | `#20E3E9` |
| Script Stack       | `script_stack`        | `fade`            | `#252F2D` | `#272F2E` |
| Poster Caps        | `poster_caps`         | `slide_up`        | `#030303` | `#F70605` |
| Mint Caption       | `mint_caption`        | `slide_left`      | `#E1F2E1` | `#DCEFDF` |
| Glow Caps          | `glow_caps`           | `blur`            | `#F9F1FA` | `#F4E5F5` |
| Outlined Frame     | `outline_frame_serif` | `fade`            | `#25160C` | `#26180F` |

## Outro designs

An outro is an **opaque card**: it covers the frame with its own background, so the video never shows through it and its colours are the whole picture.

Eleven of the twelve are contact cards built around a name and a contact line. The twelfth, `custom_image`, closes on an image of your own instead: no text fields, no brand slots, and the image is fitted to the video's shape by extending its background rather than by cropping it.

<Columns cols={3}>
  <Frame caption="Quiet Off-White · quiet_offwhite">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/quiet_offwhite.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=d71f002fa1d171706dd9564c46998542" alt="Quiet Off-White outro template preview" width="800" height="450" data-path="images/intro-outro/outro/quiet_offwhite.jpg" />
  </Frame>

  <Frame caption="Serif Business Card · serif_business_card">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/serif_business_card.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=b253101d2e3071ba168dbd94ca4db844" alt="Serif Business Card outro template preview" width="800" height="450" data-path="images/intro-outro/outro/serif_business_card.jpg" />
  </Frame>

  <Frame caption="Navy Neon · navy_neon">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/navy_neon.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=e62caf1a3eaba54f80b5e1b27a3b8762" alt="Navy Neon outro template preview" width="800" height="450" data-path="images/intro-outro/outro/navy_neon.jpg" />
  </Frame>

  <Frame caption="Gradient Script · gradient_script">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/gradient_script.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=3b3ad335def994a204fc47d0dff221f2" alt="Gradient Script outro template preview" width="800" height="450" data-path="images/intro-outro/outro/gradient_script.jpg" />
  </Frame>

  <Frame caption="Charcoal Split · charcoal_split">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/charcoal_split.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=aa281d45fdea9c13bd0ee5e6d6ee8810" alt="Charcoal Split outro template preview" width="800" height="450" data-path="images/intro-outro/outro/charcoal_split.jpg" />
  </Frame>

  <Frame caption="Cream Squircle · cream_squircle">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/cream_squircle.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=4ac43796130d5411de57377276a587ca" alt="Cream Squircle outro template preview" width="800" height="450" data-path="images/intro-outro/outro/cream_squircle.jpg" />
  </Frame>

  <Frame caption="Black and Gold · black_gold">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/black_gold.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=cb7a2f0b6aaba854acec1c91f3b82bb0" alt="Black and Gold outro template preview" width="800" height="450" data-path="images/intro-outro/outro/black_gold.jpg" />
  </Frame>

  <Frame caption="Sunburst Serif · sunburst_serif">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/sunburst_serif.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=6702464ed45b5e67001cf6be1c08e58f" alt="Sunburst Serif outro template preview" width="800" height="450" data-path="images/intro-outro/outro/sunburst_serif.jpg" />
  </Frame>

  <Frame caption="Bold Ring Card · bold_ring_card">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/bold_ring_card.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=1bebf34d3fec020ea46714c798503492" alt="Bold Ring Card outro template preview" width="800" height="450" data-path="images/intro-outro/outro/bold_ring_card.jpg" />
  </Frame>

  <Frame caption="Forest Green · forest_green">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/forest_green.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=dd612e942ded32503fea0a72c59f3c7b" alt="Forest Green outro template preview" width="800" height="450" data-path="images/intro-outro/outro/forest_green.jpg" />
  </Frame>

  <Frame caption="Bordered Cream · bordered_cream">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/bordered_cream.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=fcc197589f6138b7d1b7e09ab449b0f0" alt="Bordered Cream outro template preview" width="800" height="450" data-path="images/intro-outro/outro/bordered_cream.jpg" />
  </Frame>

  <Frame caption="Custom image · custom_image">
    <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/custom_image.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=fa50d59d2eacd8a9778c557dec967d17" alt="Custom image outro template preview" width="800" height="450" data-path="images/intro-outro/outro/custom_image.jpg" />
  </Frame>
</Columns>

<AccordionGroup>
  <Accordion title="Portrait layouts (12)">
    The portrait cards were composed rather than reframed: four designs break the name onto two lines and none of the layouts is derived from its landscape version. If you publish in 9:16, judge the design here.

    <Columns cols={3}>
      <Frame caption="Quiet Off-White · quiet_offwhite">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/quiet_offwhite-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=352929998bcb7a75e8ec6cc246e42479" alt="Quiet Off-White outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/quiet_offwhite-portrait.jpg" />
      </Frame>

      <Frame caption="Serif Business Card · serif_business_card">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/serif_business_card-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=187c7b95cb4f0cf6f520be8df151534d" alt="Serif Business Card outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/serif_business_card-portrait.jpg" />
      </Frame>

      <Frame caption="Navy Neon · navy_neon">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/navy_neon-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=28e144ceb08d01337e52c0b0baf717e3" alt="Navy Neon outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/navy_neon-portrait.jpg" />
      </Frame>

      <Frame caption="Gradient Script · gradient_script">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/gradient_script-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=3bb5dacf90e8eceb4968f8942427fdff" alt="Gradient Script outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/gradient_script-portrait.jpg" />
      </Frame>

      <Frame caption="Charcoal Split · charcoal_split">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/charcoal_split-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=2a375f96758b3b0d640bd94c1ecd0686" alt="Charcoal Split outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/charcoal_split-portrait.jpg" />
      </Frame>

      <Frame caption="Cream Squircle · cream_squircle">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/cream_squircle-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=28bbf33bbe980b21bdbd45fc36e9a95f" alt="Cream Squircle outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/cream_squircle-portrait.jpg" />
      </Frame>

      <Frame caption="Black and Gold · black_gold">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/black_gold-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=1c26254d1ffbc9ce0f69e0fb1f4e6e7c" alt="Black and Gold outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/black_gold-portrait.jpg" />
      </Frame>

      <Frame caption="Sunburst Serif · sunburst_serif">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/sunburst_serif-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=8a242f9bb1d2df62735f1170e98bd099" alt="Sunburst Serif outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/sunburst_serif-portrait.jpg" />
      </Frame>

      <Frame caption="Bold Ring Card · bold_ring_card">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/bold_ring_card-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=a32c361ed8f872d5a30cced5ee36c2dd" alt="Bold Ring Card outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/bold_ring_card-portrait.jpg" />
      </Frame>

      <Frame caption="Forest Green · forest_green">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/forest_green-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=7a592c1578a0eb3b0e7040232feca34e" alt="Forest Green outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/forest_green-portrait.jpg" />
      </Frame>

      <Frame caption="Bordered Cream · bordered_cream">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/bordered_cream-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=a79311e4acf85289d308d0e8cd7304a3" alt="Bordered Cream outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/bordered_cream-portrait.jpg" />
      </Frame>

      <Frame caption="Custom image · custom_image">
        <img src="https://mintcdn.com/vibepeak/BVXK14byxoPwaraR/images/intro-outro/outro/custom_image-portrait.jpg?fit=max&auto=format&n=BVXK14byxoPwaraR&q=85&s=b6f9bbbc7384f72d6bc7e000870efbe4" alt="Custom image outro template preview (portrait)" width="394" height="700" data-path="images/intro-outro/outro/custom_image-portrait.jpg" />
      </Frame>
    </Columns>
  </Accordion>
</AccordionGroup>

### Outro reference

`agent_name` and `contact_line` are the two text fields of the eleven contact cards, and `agent_photo` the portrait they draw; `custom_image` takes none of the three and declares one image field of its own. `brandColorPrimary` repaints the name, `brandColorContrast` the contact line and the furniture around it. **Card** is the design's own background, the colour a branded line has to read against.

| Design              | `id`                  | Default animation | Name      | Contact line | Card                     |
| ------------------- | --------------------- | ----------------- | --------- | ------------ | ------------------------ |
| Quiet Off-White     | `quiet_offwhite`      | `fade`            | `#111414` | `#787874`    | `#F4F3EF`                |
| Serif Business Card | `serif_business_card` | `slide_up`        | `#040404` | `#A44A20`    | `#FFFFFF`                |
| Navy Neon           | `navy_neon`           | `blur`            | `#FBFBFC` | `#EAECEE`    | `#093663 → #010001`      |
| Gradient Script     | `gradient_script`     | `fade`            | `#213345` | `#2A3C46`    | `#DDCCAE → #ABCECA`      |
| Charcoal Split      | `charcoal_split`      | `slide_left`      | `#FBFBFA` | `#F4F4F4`    | `#323232`                |
| Cream Squircle      | `cream_squircle`      | `scale`           | `#6F2C14` | `#2F1907`    | `#F4E9D2`                |
| Black and Gold      | `black_gold`          | `fade`            | `#CCAB6B` | `#F1F0E8`    | `#1B1B1A`                |
| Sunburst Serif      | `sunburst_serif`      | `scale`           | `#54341C` | `#4F3016`    | `#F4EACF`                |
| Bold Ring Card      | `bold_ring_card`      | `scale`           | `#020202` | `#D72324`    | `#FFFFFF`                |
| Forest Green        | `forest_green`        | `fade`            | `#F1EFDF` | `#EBF1DE`    | `#2A503A`                |
| Bordered Cream      | `bordered_cream`      | `fade`            | `#312315` | `#25190C`    | `#EFEAD7`                |
| Custom image        | `custom_image`        | `fade`            | None      | None         | Your image, on `#000000` |

<Note>
  `navy_neon` and `gradient_script` draw a two-stop gradient instead of a flat card; the pair above is the gradient, and the first stop is the tone the name actually sits on.
</Note>

<Note>
  **`custom_image` is an outro, not an extra scene.** It rides the same closing window as the other eleven and adds no duration. Send the image as `assets.custom_image`, leave `values` empty, and pick any of the nine animations. When the image's aspect ratio differs from the video's, the server extends its background to the video's shape before rendering, so nothing in the image is ever cropped. That preparation runs while the create request is being accepted, which is why a request carrying a `custom_image` outro takes a few seconds, and up to about 25 seconds when the ratios differ. The image must be a JPG, PNG or WEBP of at most 8 MB whose shortest edge is at least 400 px; anything else is a `400 INVALID_PARAMETER`. It costs no extra credits.
</Note>

## Fields

A design's content comes from two objects on the selection: `values` for text and `assets` for images. **Both are keyed by the field ids below.** The ids are the same for all 15 intros and for the eleven contact-card outros; `custom_image` is the exception, and declares one image field of its own instead.

| Slot  | Object   | Field id              | Required                    | Max length | When you omit it                                                                  |
| ----- | -------- | --------------------- | --------------------------- | ---------- | --------------------------------------------------------------------------------- |
| intro | `values` | `title`               | Yes                         | 40         | `400 VALIDATION_ERROR` on `elements_config.intro_outro.intro.values.title`        |
| intro | `values` | `subtitle`            | No                          | 24         | No subtitle line is drawn                                                         |
| outro | `values` | `agent_name`          | Yes                         | 32         | `400 VALIDATION_ERROR` on `elements_config.intro_outro.outro.values.agent_name`   |
| outro | `values` | `contact_line`        | No                          | 64         | No contact line is drawn                                                          |
| outro | `assets` | `agent_photo`         | No                          | —          | No photo is drawn                                                                 |
| outro | `assets` | `custom_image`        | Yes, on `custom_image` only | n/a        | `400 VALIDATION_ERROR` on `elements_config.intro_outro.outro.assets.custom_image` |
| outro | `assets` | `custom_image_source` | Server-set                  | n/a        | Not accepted from you                                                             |

**Required means required.** `title` on any intro and `agent_name` on any of the eleven contact-card outros must arrive with a non-blank value: missing, empty or whitespace-only is a `400 VALIDATION_ERROR` from the request schema, with `details.field` naming the field as a dotted path such as `elements_config.intro_outro.intro.values.title` and `details.issues` listing every field refused, and no task is created. `assets.custom_image` is enforced the same way on the `custom_image` outro.

**Optional means nothing is drawn.** A design sent without `subtitle`, `contact_line` or `agent_photo` renders without that line or portrait, exactly as if you had sent an empty string. Nothing is substituted for it.

<Warning>
  **A key that is not on this list is accepted and then ignored.** Only the ids above are read, so `{ "name": "Alex Rivera" }` on an outro contributes nothing: the field is called `agent_name`. Because `agent_name` is required, that payload is rejected with `400 VALIDATION_ERROR` on `elements_config.intro_outro.outro.values.agent_name` instead of rendering anything. A misspelled **optional** key still fails silently, though: the value is dropped and the design simply draws without that line, so check your ids against this list if a line is missing from the result.
</Warning>

<Note>
  The previews on this page were rendered from the designs as delivered, so they still carry the designers' sample copy, including a contact line that reads `example@vibepeak.com`. None of it reaches your video: a design renders the values you send and nothing else. The `default_value` returned by [`GET /v1/intro-outro/templates`](/api-reference/videos/list-intro-outro-templates) is that same sample copy, published so a picker in your own product can preview a design; it is never drawn into a render.
</Note>

<Note>
  **Max length is a design measurement, not a limit.** The API accepts strings up to 500 characters; the numbers above are what each design was drawn to hold. A longer value is fitted down to size rather than refused, so it renders — just smaller than the design intends.

  Intros declare **no image field at all**, so an `assets` object on an intro selection does nothing. Both of the catalogue's image fields live on outros: `agent_photo`, which the eleven contact cards draw, and `custom_image`, which is the whole picture on the design of the same name. `custom_image_source` is a companion key the server writes next to `custom_image` to keep the URL you sent; you never send it and the renderer ignores it.
</Note>

## Animations

`animation` is required on every selection. The same nine presets apply to both slots, and a preset is one directional transition rather than an in-and-out pair: an intro is fully formed at its first frame and plays the preset as an **exit**, an outro plays it as an **entrance** and holds through the final frame.

| `animation`   | Name        | Motion                                                                                                                                    |
| ------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `fade`        | Fade        | Opacity only. The overlay dissolves without moving.                                                                                       |
| `slide_up`    | Slide up    | Travels upward: an intro leaves through the top, an outro arrives from below.                                                             |
| `slide_down`  | Slide down  | Travels downward: an intro leaves through the bottom, an outro arrives from above.                                                        |
| `slide_left`  | Slide left  | Travels left: an intro leaves through the left edge, an outro arrives from the right.                                                     |
| `slide_right` | Slide right | Travels right: an intro leaves through the right edge, an outro arrives from the left.                                                    |
| `scale`       | Zoom        | The overlay shrinks away as it fades, and grows into place on the way in.                                                                 |
| `blur`        | Blur        | Blur dissolve: the overlay softens out of focus as it fades.                                                                              |
| `wipe`        | Wipe        | A band moving in from the right reveals or hides the overlay.                                                                             |
| `stagger`     | Staggered   | Each layer animates in turn rather than the card moving as one block. The entrance reverses the order, so an outro arrives bottom to top. |

The **Default animation** column in the two reference tables is the motion each design was delivered with. It is never applied for you — `animation` has no default — but it is the choice the design was drawn around.

## Brand colours

Every design takes `brandColorPrimary` and `brandColorContrast`, set per overlay so an intro and an outro can carry different colours or only one of them can be branded. Branding is a **repaint of the slots the tables above name** and nothing else: no layer moves, appears or disappears.

Sent on its own, `brandColorPrimary` also paints everything `brandColorContrast` would, so the design renders in one tone rather than half branded. A `brandColorContrast` with no primary is a `VALIDATION_ERROR`.

<Note>
  **`custom_image` has no brand slots.** It draws your image over a black plate and no type of its own, so both colours are accepted on it and then repaint nothing. Its `default_colors` come back with `primary` and `contrast` set to `null`.
</Note>

<Tip>
  The **Card** column is the number to check a colour against. Each outro's own type was drawn at roughly 3:1 against its card, so that is the contrast worth aiming at. Nothing is refused for how it reads — a colour that contrasts weakly is rendered exactly as sent — so a line that comes back thin is fixed with a lighter or darker shade, or a different design.

  Intros have no card to measure against: what is behind an intro's type is your video, and nothing is added to compensate.
</Tip>

## Reading the catalogue from code

Everything on this page is also served by [`GET /v1/intro-outro/templates`](/api-reference/videos/list-intro-outro-templates) — ids, names, default animations, field definitions, default colours and preview image URLs — so a template picker in your own product does not need to hardcode any of it.

```bash theme={null}
curl https://api.vibepeak.ai/v1/intro-outro/templates?kind=outro \
  -H "Authorization: Bearer vpk_live_xxxxx"
```
