# Elemento template

## 1. Estrutura

```ts
interface TemplateClip extends BaseClip {
  type: "template";
  template: string;
  data?: Record<string, unknown>;
}
```

## 2. Nomes de template suportados

Nomes atualmente documentados:
- `product-intro`
- `slideshow`
- `subtitle-video`
- `talking-head`
- `comparison`
- `countdown`
- `text-reveal`
- `news`
- `quote`
- `list`

## 3. Limite do runtime

Clips `template` são expandidos para clips normais em runtime. A estrutura exata gerada depende do template selecionado e do respectivo `data`.

A herança no nível do template para `transform`, `style`, `animations`, `keyframes` ou `transition` não está documentada como um comportamento estável para clips filhos.

## 4. Exemplo

```json
{
  "type": "template",
  "template": "talking-head",
  "start": 0,
  "duration": 6,
  "data": {
    "src": { "$ref": "host" },
    "words": { "$ref": "sub-main" },
    "title": "Weekly Update",
    "speaker": "Alex Chen",
    "role": "Founder",
    "showLowerThird": true
  }
}
```