# Remotion Render Server — API Reference
**Base URL**: `http://remotion:18806` (internal) or `https://remotion.stratia.app.br` (external)
## Authentication
No authentication required for internal calls. External access should go through the reverse proxy.
---
## Endpoints
### Health Check
```
GET /health
```
**Response**:
```json
{
"status": "ok",
"bundleReady": true,
"templatesLoaded": true,
"templateCount": 44,
"brandCount": 4,
"activeJobs": 0,
"totalJobs": 5
}
```
---
### List Brands
```
GET /brands
```
Returns all 4 brand presets with colors, fonts, logos.
**Response**: `BrandPreset[]`
---
### List Templates
```
GET /templates
GET /templates?brandId=investiza
```
**Query Parameters**:
| Param | Type | Description |
|-------|------|-------------|
| `brandId` | string | Filter by brand: `henriquenapoles`, `investiza`, `navigo`, `ciadosorriso` |
**Response**: Array of template summaries:
```json
[
{
"id": "inv_dinheiro_na_mesa",
"brandId": "investiza",
"name": "Dinheiro na Mesa",
"description": "Barras comparativas + apresentador",
"category": "dados",
"requiredProps": ["videoUrl", "subtitles", "hookValue", "hookText", "chartItems", "ctaText"],
"optionalProps": ["subtitleStyle", "music"]
}
]
```
---
### Get Template Details
```
GET /templates/:id
```
Returns the full template including segment definitions and example payload.
**Response**: Full `TemplatePreset` object with `examplePayload`.
---
### Start a Render (Template-Based)
```
POST /renders
Content-Type: application/json
```
**Request Body** (template mode):
```json
{
"templateId": "inv_dinheiro_na_mesa",
"templateProps": {
"videoUrl": "https://storage.example.com/video.mp4",
"subtitles": [
{"start": 0, "end": 3, "text": "Você está deixando dinheiro na mesa"}
],
"hookValue": 500000,
"hookText": "Valor médio não captado",
"chartItems": [
{"label": "Empresa A", "value": 500000, "color": "#00C2A8"},
{"label": "Empresa B", "value": 200000}
],
"ctaText": "Fale com um especialista"
}
}
```
**Request Body** (raw mode — existing behavior):
```json
{
"compositionId": "VideoFactory",
"inputProps": {
"format": "9:16",
"segments": [...],
"globalStyle": {...}
}
}
```
**Response** (202 Accepted):
```json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"compositionId": "VideoFactory",
"templateId": "inv_dinheiro_na_mesa"
}
```
**Validation Error** (400):
```json
{
"error": "Missing required props: videoUrl, subtitles",
"requiredProps": ["videoUrl", "subtitles", "hookValue", "hookText", "chartItems", "ctaText"],
"examplePayload": {...}
}
```
---
### Check Render Status
```
GET /renders/:id
```
**Response**:
```json
{
"id": "550e8400-...",
"compositionId": "VideoFactory",
"templateId": "inv_dinheiro_na_mesa",
"status": "rendering",
"progress": 45,
"createdAt": "2026-03-13T12:00:00.000Z",
"error": null
}
```
Status values: `queued` → `rendering` → `done` (or `error`)
---
### Download Rendered Video
```
GET /renders/:id/output
```
Returns the video file (mp4). Only available when status is `done`.
---
### Delete Render Job
```
DELETE /renders/:id
```
Removes the job and deletes the output file.
---
## Render Flow for AI Agents
1. **Choose template**: `GET /templates?brandId=investiza` → pick one
2. **Check requirements**: `GET /templates/inv_dinheiro_na_mesa` → read `requiredProps` and `examplePayload`
3. **Submit render**: `POST /renders` with `templateId` + `templateProps`
4. **Poll status**: `GET /renders/:id` until `status === 'done'`
5. **Download**: `GET /renders/:id/output`
### "Simple" Templates
Templates ending in `_simple` (e.g., `hnap_simple`, `inv_simple`) use a special resolution mode:
- Pass `videoUrl`, `subtitles`, `duration`
- Optionally pass `brolls[]` to interleave b-roll clips
- The system auto-generates `talking_head ↔ broll` alternating segments
- Subtitles continue over b-rolls seamlessly
```json
{
"templateId": "inv_simple",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-talking.mp4",
"subtitles": [...],
"duration": 60,
"brolls": [
{"mediaUrl": "https://storage.example.com/office.mp4", "startAt": 8, "duration": 4},
{"mediaUrl": "https://storage.example.com/chart.png", "startAt": 20, "duration": 3, "effect": "ken_burns"}
]
}
}
```
---
## Segment Types Reference
| Type | Key Props | Duration Calc |
|------|-----------|---------------|
| `hook` | `template`, `text`, `duration` | `duration` (seconds) |
| `talking_head` | `videoUrl`, `subtitles`, `startTime`, `endTime` | `endTime - startTime` |
| `broll` | `mediaUrl`, `effect`, `duration` | `duration` (seconds) |
| `dataviz` | `template`, `items/value`, `duration` | `duration` (seconds) |
| `cta` | `template`, `text`, `duration` | `duration` (seconds) |
| `overlay` | `template`, `videoUrl` (optional), `duration` | `duration` (seconds) |
| `versus` | `template`, `leftLabel`, `rightLabel`, `duration` | `duration` (seconds) |
| `timeline` | `steps[]`, `duration` | `duration` (seconds) |
| `reveal` | `template`, `beforeImage/afterImage`, `duration` | `duration` (seconds) |
| `showcase` | `template`, `logos/testimonial`, `duration` | `duration` (seconds) |
| `interactive` | `template`, `question/options`, `duration` | `duration` (seconds) |
---
## Rate Limits
- Max concurrent renders: limited by server memory (~3-4 simultaneous)
- Recommended: poll renders every 2-3 seconds, not faster
- Max input JSON size: 10MB
# Template Catalog — All 44 Templates
## Quick Reference
| Brand | Templates | IDs Prefix |
|-------|-----------|------------|
| @henriquenapoles | 11 | `hnap_` |
| Investiza | 11 | `inv_` |
| Navigo | 11 | `nav_` |
| Cia do Sorriso | 11 | `cds_` |
---
## @henriquenapoles (11 templates)
### 1. hnap_mentira_da_semana
**Category**: apologetico | **Segments**: overlay(glitch_text) → talking_head → cta
**Description**: Henrique fala com glitch text "MENTIRA #X" overlay animado. Efeito de interferência digital.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo do Henrique falando |
| `subtitles` | Subtitle[] | Legendas sincronizadas |
| `mentiraText` | string | Texto da mentira (ex: "MENTIRA #47") |
| Optional: `subtitleStyle`, `music` |
### 2. hnap_versus_teologico
**Category**: apologetico | **Segments**: hook → versus(split_compare) → talking_head → cta
**Description**: Split screen: falso vs bíblico. Henrique nos dois lados explicando.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `hookText` | string | Texto do hook inicial |
| `leftLabel` | string | Label esquerda (ex: "FALSO") |
| `rightLabel` | string | Label direita (ex: "BÍBLICO") |
| `leftItems` | string[] | Pontos da esquerda |
| `rightItems` | string[] | Pontos da direita |
| Optional: `subtitleStyle`, `ctaText` |
### 3. hnap_frase_profetica
**Category**: profetico | **Segments**: reveal(cinematic_quote) → talking_head
**Description**: Frase em parallax com câmera lenta. Henrique comenta depois.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `quote` | string | Frase profética |
| `author` | string | Autor da frase |
| Optional: `subtitleStyle` |
### 4. hnap_countdown_revelation
**Category**: educativo | **Segments**: interactive(ranked_list) → talking_head
**Description**: Counter 5→1, Henrique PiP reagindo a cada revelação.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `rankedItems` | Array<{rank,text,detail?,icon?}> | Items do ranking |
| Optional: `subtitleStyle` |
### 5. hnap_heresia_detector
**Category**: apologetico | **Segments**: overlay(scanner) → talking_head → hook
**Description**: Scanner vermelho analisa frase herética. Henrique explica o erro.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `scanTitle` | string | Título do scanner (ex: "HERESIA DETECTADA") |
| `scanItems` | Array<{label,value?,color?}> | Resultados do scan |
| Optional: `subtitleStyle` |
### 6. hnap_reaction_video
**Category**: entretenimento | **Segments**: overlay(commentary) → talking_head
**Description**: Tela dividida: conteúdo + Henrique reagindo com badges.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| Optional: `commentaryTitle`, `reactions`, `subtitleStyle` |
### 7. hnap_qa_comunidade
**Category**: engajamento | **Segments**: overlay(question_card) → talking_head
**Description**: Card de pergunta da comunidade → Henrique responde.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `question` | string | Pergunta da comunidade |
| Optional: `questionAuthor`, `subtitleStyle` |
### 8. hnap_timeline_igreja
**Category**: educativo | **Segments**: hook → timeline → talking_head → cta
**Description**: Timeline histórica da igreja com Henrique narrando.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `hookText` | string | Texto do hook |
| `timelineSteps` | Array<{year?,label,description?,icon?}> | Passos da timeline |
| Optional: `timelineTitle`, `subtitleStyle`, `ctaText` |
### 9. hnap_duelo_doutrinas
**Category**: apologetico | **Segments**: hook → versus(card_battle) → talking_head
**Description**: 2 cards de doutrina colidem. Henrique escolhe o vencedor.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `hookText` | string | Texto do hook |
| `leftLabel` | string | Doutrina A |
| `rightLabel` | string | Doutrina B |
| `leftItems` | string[] | Argumentos A |
| `rightItems` | string[] | Argumentos B |
| Optional: `winner`, `subtitleStyle` |
### 10. hnap_monologo_profetico
**Category**: profetico | **Segments**: overlay(prophetic) → talking_head
**Description**: Close extremo, partículas flutuantes, texto overlay profético.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `quote` | string | Frase profética |
| Optional: `author`, `subtitleStyle` |
### 11. hnap_simple
**Category**: simples | **Segments**: talking_head ↔ broll (auto-interleaved)
**Description**: Henrique falando + cortes para b-roll. Legendas sempre visíveis.
| Required Props | Type | Description |
|---------------|------|-------------|
| `videoUrl` | string | URL do vídeo |
| `subtitles` | Subtitle[] | Legendas |
| `duration` | number | Duração total em segundos |
| Optional: `brolls`, `subtitleStyle`, `music` |
---
## Investiza (11 templates)
### 1. inv_dinheiro_na_mesa
**Category**: dados | **Segments**: hook(number_counter) → dataviz(bar_chart) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `hookValue`, `hookText`, `chartItems`, `ctaText` |
### 2. inv_case_60s
**Category**: case | **Segments**: overlay(story_card) → talking_head → dataviz(number_ticker)
| Required: `videoUrl`, `subtitles`, `storyTitle`, `storySubtitle`, `storyItems`, `metricValue`, `metricLabel` |
### 3. inv_mapa_oportunidades
**Category**: dados | **Segments**: overlay(map) → talking_head → dataviz(bar_chart)
| Required: `videoUrl`, `subtitles`, `mapPoints`, `chartItems` |
### 4. inv_banco_recusou
**Category**: drama | **Segments**: overlay(stamp_drama) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `ctaText` |
### 5. inv_counter_impacto
**Category**: dados | **Segments**: hook(number_counter) → dataviz → talking_head
| Required: `videoUrl`, `subtitles`, `hookValue`, `hookText`, `metricValue`, `metricLabel` |
### 6. inv_elegibilidade_express
**Category**: interativo | **Segments**: interactive(quiz) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `question`, `options`, `ctaText` |
### 7. inv_erro_custa_caro
**Category**: educativo | **Segments**: hook(shake_text) → talking_head → dataviz → cta
| Required: `videoUrl`, `subtitles`, `hookText`, `chartItems` |
### 8. inv_linha_do_mes
**Category**: produto | **Segments**: timeline → talking_head → dataviz
| Required: `videoUrl`, `subtitles`, `timelineSteps`, `metricValue`, `metricLabel` |
### 9. inv_depoimento_cliente
**Category**: social_proof | **Segments**: showcase(testimonial) → talking_head
| Required: `videoUrl`, `subtitles`, `testimonial` |
### 10. inv_webinar_teaser
**Category**: convite | **Segments**: hook → talking_head → broll → cta(countdown)
| Required: `videoUrl`, `subtitles`, `hookText`, `brollUrl`, `ctaText`, `countdownSeconds` |
### 11. inv_simple
**Category**: simples | **Segments**: auto-interleaved
| Required: `videoUrl`, `subtitles`, `duration` |
---
## Navigo (11 templates)
### 1. nav_planilha_vs_sap
**Category**: comparativo | **Segments**: versus → talking_head → reveal(before_after)
| Required: `videoUrl`, `subtitles`, `leftLabel`, `rightLabel`, `leftItems`, `rightItems`, `beforeImage`, `afterImage` |
### 2. nav_stat_shock
**Category**: dados | **Segments**: hook(number_counter) → dataviz → talking_head
| Required: `videoUrl`, `subtitles`, `hookValue`, `hookText`, `chartItems` |
### 3. nav_client_wall
**Category**: social_proof | **Segments**: showcase(logo_wall) → talking_head → dataviz
| Required: `videoUrl`, `subtitles`, `logos`, `metricValue`, `metricLabel` |
### 4. nav_bastidores
**Category**: institucional | **Segments**: overlay(credential) → talking_head → broll
| Required: `videoUrl`, `subtitles`, `credentialName`, `credentialTitle`, `brollUrl` |
### 5. nav_roadmap
**Category**: educativo | **Segments**: timeline → talking_head → cta
| Required: `videoUrl`, `subtitles`, `timelineSteps`, `ctaText` |
### 6. nav_roi_calculator
**Category**: interativo | **Segments**: interactive(calculator) → talking_head → dataviz
| Required: `videoUrl`, `subtitles`, `calcLabel`, `calcSteps`, `calcValue`, `metricValue`, `metricLabel` |
### 7. nav_hot_take
**Category**: opiniao | **Segments**: overlay(hot_take) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `hotTakeTitle` |
### 8. nav_antes_depois_dept
**Category**: comparativo | **Segments**: versus → talking_head → reveal(before_after)
| Required: `videoUrl`, `subtitles`, `leftLabel`, `rightLabel`, `leftItems`, `rightItems`, `beforeImage`, `afterImage` |
### 9. nav_depoimento_diretor
**Category**: social_proof | **Segments**: showcase(testimonial) → talking_head
| Required: `videoUrl`, `subtitles`, `testimonial` |
### 10. nav_evento_highlight
**Category**: institucional | **Segments**: showcase(highlight_reel) → broll → talking_head → cta
| Required: `videoUrl`, `subtitles`, `highlightClips`, `brollUrl`, `ctaText` |
### 11. nav_simple
**Category**: simples | **Segments**: auto-interleaved
| Required: `videoUrl`, `subtitles`, `duration` |
---
## Cia do Sorriso (11 templates)
### 1. cds_smile_reveal
**Category**: transformacao | **Segments**: reveal(before_after) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `beforeImage`, `afterImage`, `ctaText` |
### 2. cds_30_anos
**Category**: institucional | **Segments**: timeline → talking_head → showcase(logo_wall)
| Required: `videoUrl`, `subtitles`, `timelineSteps`, `logos` |
### 3. cds_frame_procedimento
**Category**: procedimento | **Segments**: reveal(frame_showcase) → talking_head → broll
| Required: `videoUrl`, `subtitles`, `showcaseMediaUrl`, `brollUrl` |
### 4. cds_depoimento_real
**Category**: social_proof | **Segments**: showcase(testimonial) → talking_head
| Required: `videoUrl`, `subtitles`, `testimonial` |
### 5. cds_mito_verdade
**Category**: educativo | **Segments**: versus(split_compare) → talking_head → cta
| Required: `videoUrl`, `subtitles`, `leftLabel`, `rightLabel`, `leftItems`, `rightItems`, `ctaText` |
### 6. cds_apresentacao_especialista
**Category**: institucional | **Segments**: overlay(credential) → talking_head → broll
| Required: `videoUrl`, `subtitles`, `credentialName`, `credentialTitle`, `brollUrl` |
### 7. cds_jornada_sorriso
**Category**: paciente | **Segments**: timeline → talking_head → reveal(before_after)
| Required: `videoUrl`, `subtitles`, `timelineSteps`, `beforeImage`, `afterImage` |
### 8. cds_tech_clinica
**Category**: tecnologia | **Segments**: overlay(lifestyle) → talking_head → broll
| Required: `videoUrl`, `subtitles`, `brollUrl` |
### 9. cds_lifestyle_premium
**Category**: lifestyle | **Segments**: overlay(lifestyle) → talking_head → broll → cta
| Required: `videoUrl`, `subtitles`, `brollUrl`, `ctaText` |
### 10. cds_cta_direto
**Category**: conversao | **Segments**: hook → talking_head → cta
| Required: `videoUrl`, `subtitles`, `hookText`, `ctaText` |
### 11. cds_simple
**Category**: simples | **Segments**: auto-interleaved
| Required: `videoUrl`, `subtitles`, `duration` |
---
## Data Types Reference
### Subtitle
```json
{"start": 0, "end": 3.5, "text": "Olá, tudo bem?"}
```
With word-level timing (for Hormozi style):
```json
{
"start": 0, "end": 3.5, "text": "Olá tudo bem",
"words": [
{"start": 0, "end": 1, "text": "Olá"},
{"start": 1, "end": 2.2, "text": "tudo"},
{"start": 2.2, "end": 3.5, "text": "bem"}
]
}
```
### Testimonial
```json
{
"name": "João Silva",
"role": "CEO da TechCorp",
"text": "Transformou nossa operação completamente",
"rating": 5,
"metric": "+300% de eficiência"
}
```
### B-Roll (for simple templates)
```json
{"mediaUrl": "https://storage.example.com/clip.mp4", "startAt": 8, "duration": 4, "effect": "ken_burns"}
```
Effects: `fullscreen`, `pip`, `split_screen`, `parallax`, `ken_burns`, `mockup_phone`
# Brand Presets Reference
## @henriquenapoles
| Property | Value |
|----------|-------|
| **ID** | `henriquenapoles` |
| **Name** | @henriquenapoles |
| **Description** | Pastor e teólogo — conteúdo apologético e profético |
| **Primary Color** | `#1A1A2E` (deep navy) |
| **Accent Color** | `#E94560` (vibrant red) |
| **Secondary** | `#533483` (deep purple) |
| **Background** | `#0F0F1A` |
| **Heading Font** | Playfair Display |
| **Body Font** | Lato |
| **Social** | @henriquenapoles |
### Template Categories
- Apologético (mentira, versus, heresia, duelo)
- Profético (frase, monólogo)
- Educativo (countdown, timeline)
- Engajamento (Q&A, reaction)
- Simples (talking head + b-rolls)
---
## Investiza
| Property | Value |
|----------|-------|
| **ID** | `investiza` |
| **Name** | Investiza |
| **Description** | Assessoria de crédito empresarial — B2B financeiro |
| **Primary Color** | `#0D2137` (dark blue) |
| **Accent Color** | `#00C2A8` (teal green) |
| **Secondary** | `#1B4D6E` (mid blue) |
| **Background** | `#091520` |
| **Heading Font** | Montserrat |
| **Body Font** | Inter |
| **Social** | @investiza |
| **Website** | investiza.com.br |
### Template Categories
- Dados (dinheiro, counter, mapa)
- Case (case 60s)
- Drama (banco recusou)
- Interativo (elegibilidade)
- Educativo (erro, linha do mês)
- Social Proof (depoimento)
- Convite (webinar)
- Simples
---
## Navigo
| Property | Value |
|----------|-------|
| **ID** | `navigo` |
| **Name** | Navigo |
| **Description** | Consultoria SAP B1 — transformação digital para indústrias |
| **Primary Color** | `#1E3A5F` (corporate blue) |
| **Accent Color** | `#FF8C42` (warm orange) |
| **Secondary** | `#4A7FB5` (light blue) |
| **Background** | `#0E1F33` |
| **Heading Font** | Montserrat |
| **Body Font** | Nunito Sans |
| **Social** | @navigoconsultoria |
| **Website** | navigo.com.br |
### Template Categories
- Comparativo (planilha vs SAP, antes/depois)
- Dados (stat shock)
- Social Proof (client wall, depoimento)
- Institucional (bastidores, evento)
- Educativo (roadmap)
- Interativo (ROI calculator)
- Opinião (hot take)
- Simples
---
## Cia do Sorriso
| Property | Value |
|----------|-------|
| **ID** | `ciadosorriso` |
| **Name** | Cia do Sorriso |
| **Description** | Clínica odontológica premium — 30 anos em Recife |
| **Primary Color** | `#006A71` (teal) |
| **Accent Color** | `#FFD93D` (warm gold) |
| **Secondary** | `#00A8A8` (bright teal) |
| **Background** | `#002B2E` |
| **Heading Font** | Cormorant Garamond |
| **Body Font** | Nunito Sans |
| **Social** | @ciadosorriso |
| **Website** | ciadosorriso.com.br |
### Template Categories
- Transformação (smile reveal)
- Institucional (30 anos, apresentação)
- Procedimento (frame)
- Social Proof (depoimento)
- Educativo (mito/verdade)
- Paciente (jornada)
- Tecnologia (tech clínica)
- Lifestyle (lifestyle premium)
- Conversão (CTA direto)
- Simples
# Example Payloads — All 44 Templates
Each example is a complete `POST /renders` body ready to copy-paste.
---
## @henriquenapoles
### hnap_mentira_da_semana
```json
{
"templateId": "hnap_mentira_da_semana",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-mentira.mp4",
"subtitles": [
{"start": 0, "end": 4, "text": "Essa é a mentira número 47 que derrubamos"},
{"start": 4, "end": 8, "text": "Muita gente acredita nisso sem questionar"},
{"start": 8, "end": 12, "text": "Mas a Bíblia diz algo completamente diferente"}
],
"mentiraText": "MENTIRA #47"
}
}
```
### hnap_versus_teologico
```json
{
"templateId": "hnap_versus_teologico",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-versus.mp4",
"subtitles": [
{"start": 0, "end": 5, "text": "Vamos comparar o que dizem com o que a Bíblia realmente ensina"},
{"start": 15, "end": 22, "text": "A diferença é gigantesca quando você olha o texto original"}
],
"hookText": "FALSO vs BÍBLICO",
"leftLabel": "Teologia da Prosperidade",
"rightLabel": "Ensino Bíblico",
"leftItems": ["Deus quer você rico", "Oferte para receber", "Fé é uma moeda de troca"],
"rightItems": ["Contentamento é ganho", "Dai sem esperar retorno", "Fé é confiança em Deus"],
"ctaText": "Siga para mais verdades"
}
}
```
### hnap_frase_profetica
```json
{
"templateId": "hnap_frase_profetica",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-profetico.mp4",
"subtitles": [
{"start": 6, "end": 12, "text": "Essa frase mudou minha forma de ver o ministério"},
{"start": 12, "end": 18, "text": "E acredito que vai impactar sua vida também"}
],
"quote": "Não é sobre ter todas as respostas, é sobre fazer as perguntas certas diante de Deus",
"author": "Charles Spurgeon"
}
}
```
### hnap_countdown_revelation
```json
{
"templateId": "hnap_countdown_revelation",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-countdown.mp4",
"subtitles": [
{"start": 15, "end": 25, "text": "O número 1 vai te surpreender completamente"}
],
"rankedItems": [
{"rank": 5, "text": "Calvino debateu com Serveto", "detail": "1553 em Genebra"},
{"rank": 4, "text": "Lutero pregou as 95 teses", "detail": "1517 em Wittenberg"},
{"rank": 3, "text": "Wesley iniciou o metodismo", "detail": "1738 na Inglaterra"},
{"rank": 2, "text": "Athanasius contra mundum", "detail": "325 em Niceia"},
{"rank": 1, "text": "Paulo no Areópago", "detail": "Atos 17 - o maior debate da história", "icon": "👑"}
]
}
}
```
### hnap_heresia_detector
```json
{
"templateId": "hnap_heresia_detector",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-heresia.mp4",
"subtitles": [
{"start": 0, "end": 5, "text": "O scanner detectou algo sério nessa frase"},
{"start": 10, "end": 18, "text": "Vamos analisar ponto por ponto o que está errado"}
],
"scanTitle": "HERESIA DETECTADA",
"scanItems": [
{"label": "Base bíblica", "value": "NENHUMA", "color": "#ff2020"},
{"label": "Origem", "value": "Gnosticismo", "color": "#ff8800"},
{"label": "Perigo", "value": "ALTO", "color": "#ff2020"}
]
}
}
```
### hnap_reaction_video
```json
{
"templateId": "hnap_reaction_video",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-react.mp4",
"subtitles": [
{"start": 0, "end": 6, "text": "Acabei de ver esse vídeo e preciso comentar"},
{"start": 6, "end": 12, "text": "O que ele disse aqui não tem base nenhuma"}
],
"commentaryTitle": "REAGINDO",
"reactions": [
{"label": "Sem base bíblica", "icon": "❌"},
{"label": "Contexto errado", "icon": "⚠️"},
{"label": "Mistura de fontes", "icon": "🔀"}
]
}
}
```
### hnap_qa_comunidade
```json
{
"templateId": "hnap_qa_comunidade",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-qa.mp4",
"subtitles": [
{"start": 3, "end": 10, "text": "Ótima pergunta, vou explicar com calma"},
{"start": 10, "end": 18, "text": "Na verdade existem três perspectivas sobre isso"}
],
"question": "Pastor, qual a diferença entre predestinação e livre arbítrio?",
"questionAuthor": "@maria_santos"
}
}
```
### hnap_timeline_igreja
```json
{
"templateId": "hnap_timeline_igreja",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-timeline.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "A história da igreja é fascinante quando você entende os marcos"},
{"start": 20, "end": 28, "text": "Cada um desses momentos mudou o rumo do cristianismo"}
],
"hookText": "2000 ANOS EM 60 SEGUNDOS",
"timelineTitle": "Marcos da Igreja",
"timelineSteps": [
{"year": "33 d.C.", "label": "Pentecostes", "description": "Nascimento da Igreja"},
{"year": "325", "label": "Concílio de Niceia", "description": "Definição da Trindade"},
{"year": "1517", "label": "Reforma Protestante", "description": "Lutero e as 95 teses"},
{"year": "1738", "label": "Avivamento Wesleyano", "description": "Metodismo na Inglaterra"},
{"year": "1906", "label": "Azusa Street", "description": "Movimento Pentecostal"}
],
"ctaText": "Aprenda mais no canal"
}
}
```
### hnap_duelo_doutrinas
```json
{
"templateId": "hnap_duelo_doutrinas",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-duelo.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Essas duas doutrinas parecem iguais mas são opostas"},
{"start": 18, "end": 25, "text": "Vou mostrar qual tem mais respaldo bíblico"}
],
"hookText": "DUELO DE DOUTRINAS",
"leftLabel": "Cessacionismo",
"rightLabel": "Continuísmo",
"leftItems": ["Dons cessaram com apóstolos", "Suficiência das Escrituras", "Razão + Palavra"],
"rightItems": ["Dons são para hoje", "Espírito continua operando", "Experiência + Palavra"],
"winner": "right"
}
}
```
### hnap_monologo_profetico
```json
{
"templateId": "hnap_monologo_profetico",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-monologo.mp4",
"subtitles": [
{"start": 0, "end": 8, "text": "Há algo que precisa ser dito nessa geração"},
{"start": 8, "end": 16, "text": "A igreja precisa acordar para sua verdadeira missão"}
],
"quote": "O maior inimigo da fé não é a dúvida, é a indiferença"
}
}
```
### hnap_simple
```json
{
"templateId": "hnap_simple",
"templateProps": {
"videoUrl": "https://storage.example.com/henrique-fala.mp4",
"subtitles": [
{"start": 0, "end": 4, "text": "Hoje vou falar sobre algo que muitos ignoram"},
{"start": 4, "end": 9, "text": "A importância do contexto na interpretação bíblica"},
{"start": 9, "end": 15, "text": "Sem contexto, qualquer versículo vira pretexto"}
],
"duration": 30,
"brolls": [
{"mediaUrl": "https://storage.example.com/biblia-aberta.jpg", "startAt": 5, "duration": 3, "effect": "ken_burns"},
{"mediaUrl": "https://storage.example.com/pergaminho.mp4", "startAt": 12, "duration": 4}
]
}
}
```
---
## Investiza
### inv_dinheiro_na_mesa
```json
{
"templateId": "inv_dinheiro_na_mesa",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-dinheiro.mp4",
"subtitles": [
{"start": 7, "end": 14, "text": "Sua empresa pode estar perdendo crédito aprovado"},
{"start": 14, "end": 20, "text": "Veja o comparativo real de empresas do mesmo porte"}
],
"hookValue": 500000,
"hookText": "R$ que empresas deixam na mesa todo mês",
"chartItems": [
{"label": "Com assessoria", "value": 500000, "color": "#00C2A8"},
{"label": "Sem assessoria", "value": 120000, "color": "#ff6b6b"},
{"label": "Média do mercado", "value": 250000}
],
"ctaText": "Descubra seu potencial"
}
}
```
### inv_case_60s
```json
{
"templateId": "inv_case_60s",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-case.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Em 60 dias conseguimos virar o jogo para essa empresa"},
{"start": 20, "end": 26, "text": "O resultado foi surpreendente até para nós"}
],
"storyTitle": "TechFabric Ltda",
"storySubtitle": "Indústria têxtil — Recife/PE",
"storyItems": [
{"label": "Faturamento", "value": "R$ 8M/ano"},
{"label": "Problema", "value": "Capital de giro"},
{"label": "Solução", "value": "BNDES Automático"}
],
"metricValue": 2000000,
"metricLabel": "Crédito aprovado"
}
}
```
### inv_mapa_oportunidades
```json
{
"templateId": "inv_mapa_oportunidades",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-mapa.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Existem linhas específicas para cada região do Brasil"}
],
"mapTitle": "Linhas de Crédito por Região",
"mapPoints": [
{"x": 25, "y": 20, "label": "FNE - Nordeste"},
{"x": 55, "y": 50, "label": "FCO - Centro-Oeste"},
{"x": 70, "y": 70, "label": "BNDES - Sudeste"},
{"x": 40, "y": 15, "label": "FNO - Norte"}
],
"chartItems": [
{"label": "FNE", "value": 800, "color": "#00C2A8"},
{"label": "BNDES", "value": 650},
{"label": "FCO", "value": 400}
]
}
}
```
### inv_banco_recusou
```json
{
"templateId": "inv_banco_recusou",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-banco.mp4",
"subtitles": [
{"start": 4, "end": 10, "text": "O banco recusou mas nós encontramos o caminho"},
{"start": 10, "end": 18, "text": "Com a estratégia certa, o crédito foi aprovado em 30 dias"}
],
"ctaText": "Fale com um especialista"
}
}
```
### inv_counter_impacto
```json
{
"templateId": "inv_counter_impacto",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-counter.mp4",
"subtitles": [
{"start": 10, "end": 18, "text": "Esse é o impacto real que entregamos aos nossos clientes"}
],
"hookValue": 150,
"hookText": "Empresas atendidas em 2025",
"metricValue": 47000000,
"metricLabel": "Total em crédito aprovado",
"metricPrefix": "R$ "
}
}
```
### inv_elegibilidade_express
```json
{
"templateId": "inv_elegibilidade_express",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-quiz.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Vamos descobrir se sua empresa é elegível"}
],
"question": "Sua empresa fatura mais de R$ 300K/ano?",
"options": [
{"text": "Sim, acima de R$ 300K", "correct": true, "icon": "✅"},
{"text": "Não, abaixo de R$ 300K", "icon": "📊"},
{"text": "Não sei informar", "icon": "❓"}
],
"ctaText": "Faça sua análise grátis"
}
}
```
### inv_erro_custa_caro
```json
{
"templateId": "inv_erro_custa_caro",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-erro.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Esse erro custa caro e muitas empresas cometem"},
{"start": 15, "end": 22, "text": "Veja os números reais de quanto se perde"}
],
"hookText": "ERRO DE R$ 200K",
"chartItems": [
{"label": "Juros banco tradicional", "value": 180000, "color": "#ff6b6b"},
{"label": "Linha BNDES", "value": 45000, "color": "#00C2A8"},
{"label": "Diferença = Lucro", "value": 135000, "color": "#FFD700"}
]
}
}
```
### inv_linha_do_mes
```json
{
"templateId": "inv_linha_do_mes",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-linha.mp4",
"subtitles": [
{"start": 8, "end": 16, "text": "A linha do mês é a Proger Urbano do Banco do Brasil"}
],
"timelineTitle": "Proger Urbano — Passo a Passo",
"timelineSteps": [
{"label": "Consulta de elegibilidade", "description": "Análise do CNPJ em 24h"},
{"label": "Documentação", "description": "Enviamos checklist completo"},
{"label": "Submissão ao banco", "description": "Protocolo em até 5 dias"},
{"label": "Aprovação", "description": "Prazo médio: 15-30 dias"}
],
"metricValue": 500000,
"metricLabel": "Limite máximo por operação"
}
}
```
### inv_depoimento_cliente
```json
{
"templateId": "inv_depoimento_cliente",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-depo.mp4",
"subtitles": [
{"start": 10, "end": 18, "text": "Esse é o tipo de resultado que buscamos para cada cliente"}
],
"testimonial": {
"name": "Carlos Mendes",
"role": "CEO — FabricaTech",
"text": "A Investiza conseguiu aprovar R$ 2M em crédito que 3 bancos tinham negado",
"rating": 5,
"metric": "R$ 2M aprovados em 45 dias"
}
}
}
```
### inv_webinar_teaser
```json
{
"templateId": "inv_webinar_teaser",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-webinar.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Na próxima terça vamos revelar as melhores linhas de 2026"}
],
"hookText": "WEBINAR GRATUITO",
"brollUrl": "https://storage.example.com/office-broll.mp4",
"ctaText": "Garanta sua vaga",
"countdownSeconds": 5
}
}
```
### inv_simple
```json
{
"templateId": "inv_simple",
"templateProps": {
"videoUrl": "https://storage.example.com/investiza-fala.mp4",
"subtitles": [
{"start": 0, "end": 5, "text": "Três dicas para conseguir crédito empresarial"},
{"start": 5, "end": 11, "text": "Primeira: tenha seu balanço organizado"},
{"start": 11, "end": 17, "text": "Segunda: conheça as linhas disponíveis"}
],
"duration": 25,
"brolls": [
{"mediaUrl": "https://storage.example.com/escritorio.mp4", "startAt": 6, "duration": 3},
{"mediaUrl": "https://storage.example.com/graficos.jpg", "startAt": 14, "duration": 3, "effect": "parallax"}
]
}
}
```
---
## Navigo
### nav_planilha_vs_sap
```json
{
"templateId": "nav_planilha_vs_sap",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-vs.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "A diferença entre planilha e SAP é absurda"},
{"start": 22, "end": 28, "text": "Olha o antes e depois de um dos nossos clientes"}
],
"leftLabel": "Planilha Excel",
"rightLabel": "SAP Business One",
"leftItems": ["Dados duplicados", "Sem rastreabilidade", "Retrabalho constante"],
"rightItems": ["Dados unificados", "Rastreamento completo", "Processos automatizados"],
"beforeImage": "https://storage.example.com/planilha-caos.png",
"afterImage": "https://storage.example.com/dashboard-sap.png"
}
}
```
### nav_stat_shock
```json
{
"templateId": "nav_stat_shock",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-stat.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "A maioria das implementações falha por um motivo simples"}
],
"hookValue": 70,
"hookText": "% das implementações ERP falham",
"hookPrefix": "",
"chartItems": [
{"label": "Escopo mal definido", "value": 35, "color": "#ff6b6b"},
{"label": "Falta de treinamento", "value": 25},
{"label": "Dados sujos", "value": 20},
{"label": "Outros", "value": 20}
]
}
}
```
### nav_client_wall
```json
{
"templateId": "nav_client_wall",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-clients.mp4",
"subtitles": [
{"start": 6, "end": 12, "text": "Essas empresas confiaram na Navigo para sua transformação digital"}
],
"logos": [
{"url": "https://storage.example.com/logo1.png", "name": "IndústriaX"},
{"url": "https://storage.example.com/logo2.png", "name": "TechFab"},
{"url": "https://storage.example.com/logo3.png", "name": "AlimentosBR"},
{"url": "https://storage.example.com/logo4.png", "name": "MetalSul"}
],
"metricValue": 120,
"metricLabel": "Empresas implementadas"
}
}
```
### nav_bastidores
```json
{
"templateId": "nav_bastidores",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-bastidores.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Hoje vou mostrar como funciona uma implementação por dentro"}
],
"credentialName": "Ricardo Almeida",
"credentialTitle": "Consultor SAP Sênior",
"credentialInstitution": "12 anos de experiência",
"brollUrl": "https://storage.example.com/escritorio-navigo.mp4"
}
}
```
### nav_roadmap
```json
{
"templateId": "nav_roadmap",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-roadmap.mp4",
"subtitles": [
{"start": 8, "end": 16, "text": "São 5 fases até sua empresa estar 100% no SAP"}
],
"timelineTitle": "Roadmap de Implementação",
"timelineSteps": [
{"year": "Fase 1", "label": "Discovery", "description": "Mapeamento de processos"},
{"year": "Fase 2", "label": "Blueprint", "description": "Desenho da solução"},
{"year": "Fase 3", "label": "Configuração", "description": "Setup e customização"},
{"year": "Fase 4", "label": "Testes", "description": "Validação com usuários"},
{"year": "Fase 5", "label": "Go-Live", "description": "Entrada em produção"}
],
"ctaText": "Agende uma conversa"
}
}
```
### nav_roi_calculator
```json
{
"templateId": "nav_roi_calculator",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-roi.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Veja quanto sua empresa pode economizar com SAP"}
],
"calcLabel": "ROI da Implementação SAP",
"calcSteps": [
{"label": "Redução de retrabalho", "value": "R$ 180K/ano"},
{"label": "Automação de processos", "value": "R$ 120K/ano"},
{"label": "Redução de estoque", "value": "R$ 90K/ano"},
{"label": "Investimento SAP", "value": "- R$ 150K"}
],
"calcValue": 240000,
"calcUnit": "/ano",
"metricValue": 240000,
"metricLabel": "ROI líquido anual"
}
}
```
### nav_hot_take
```json
{
"templateId": "nav_hot_take",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-hottake.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Vou dizer algo que muitos consultores não falam"},
{"start": 12, "end": 20, "text": "SAP não é para toda empresa e tudo bem"}
],
"hotTakeTitle": "SAP não é para todo mundo",
"hotTakeSubtitle": "E tá tudo bem"
}
}
```
### nav_antes_depois_dept
```json
{
"templateId": "nav_antes_depois_dept",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-dept.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Veja a transformação departamento por departamento"}
],
"leftLabel": "Antes do SAP",
"rightLabel": "Depois do SAP",
"leftItems": ["Financeiro manual", "Estoque por planilha", "Compras por telefone"],
"rightItems": ["Fechamento em 2 dias", "Estoque em tempo real", "Portal de compras"],
"beforeImage": "https://storage.example.com/before-dept.png",
"afterImage": "https://storage.example.com/after-dept.png"
}
}
```
### nav_depoimento_diretor
```json
{
"templateId": "nav_depoimento_diretor",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-depo.mp4",
"subtitles": [
{"start": 10, "end": 18, "text": "Esse tipo de feedback é o que nos motiva"}
],
"testimonial": {
"name": "Ana Paula Ferreira",
"role": "Diretora de Operações — IndústriaTech",
"text": "A Navigo entendeu nosso negócio antes de tocar no sistema. Isso fez toda diferença",
"rating": 5,
"metric": "Implementação em 4 meses"
}
}
}
```
### nav_evento_highlight
```json
{
"templateId": "nav_evento_highlight",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-evento.mp4",
"subtitles": [
{"start": 10, "end": 16, "text": "Foi incrível ter tantas empresas reunidas"}
],
"highlightClips": [
{"mediaUrl": "https://storage.example.com/evento1.mp4", "caption": "Abertura do evento"},
{"mediaUrl": "https://storage.example.com/evento2.mp4", "caption": "Painel de clientes"},
{"mediaUrl": "https://storage.example.com/evento3.mp4", "caption": "Networking"}
],
"brollUrl": "https://storage.example.com/evento-broll.mp4",
"ctaText": "Próximo evento em maio"
}
}
```
### nav_simple
```json
{
"templateId": "nav_simple",
"templateProps": {
"videoUrl": "https://storage.example.com/navigo-fala.mp4",
"subtitles": [
{"start": 0, "end": 5, "text": "Três sinais de que sua empresa precisa de um ERP"},
{"start": 5, "end": 10, "text": "Primeiro: você tem dados em mais de 3 planilhas"}
],
"duration": 30,
"brolls": [
{"mediaUrl": "https://storage.example.com/planilha.png", "startAt": 6, "duration": 3, "effect": "ken_burns"}
]
}
}
```
---
## Cia do Sorriso
### cds_smile_reveal
```json
{
"templateId": "cds_smile_reveal",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-reveal.mp4",
"subtitles": [
{"start": 6, "end": 12, "text": "Olha essa transformação incrível do sorriso"},
{"start": 12, "end": 18, "text": "30 anos fazendo isso com excelência"}
],
"beforeImage": "https://storage.example.com/antes-sorriso.jpg",
"afterImage": "https://storage.example.com/depois-sorriso.jpg",
"ctaText": "Agende sua avaliação"
}
}
```
### cds_30_anos
```json
{
"templateId": "cds_30_anos",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-historia.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "30 anos de história transformando sorrisos em Recife"}
],
"timelineTitle": "Nossa História",
"timelineSteps": [
{"year": "1994", "label": "Fundação", "description": "Primeira clínica em Boa Viagem"},
{"year": "2005", "label": "Expansão", "description": "Nova sede com 8 consultórios"},
{"year": "2015", "label": "Tecnologia", "description": "Scanner 3D e planejamento digital"},
{"year": "2024", "label": "30 anos", "description": "+3.000 sorrisos transformados"}
],
"logos": [
{"url": "https://storage.example.com/cert1.png", "name": "CRO-PE"},
{"url": "https://storage.example.com/cert2.png", "name": "ISO 9001"},
{"url": "https://storage.example.com/cert3.png", "name": "Invisalign"}
]
}
}
```
### cds_frame_procedimento
```json
{
"templateId": "cds_frame_procedimento",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-proc.mp4",
"subtitles": [
{"start": 6, "end": 12, "text": "Veja como funciona o procedimento de lente de contato dental"}
],
"showcaseMediaUrl": "https://storage.example.com/procedimento-lente.mp4",
"brollUrl": "https://storage.example.com/clinica-equipamentos.mp4",
"frameStyle": "gold"
}
}
```
### cds_depoimento_real
```json
{
"templateId": "cds_depoimento_real",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-depo.mp4",
"subtitles": [
{"start": 10, "end": 18, "text": "Cada depoimento desses nos enche de orgulho"}
],
"testimonial": {
"name": "Maria Helena",
"role": "Paciente há 5 anos",
"text": "Meu sorriso mudou minha vida. A equipe da Cia do Sorriso é extraordinária",
"rating": 5,
"metric": "+3.000 sorrisos transformados"
}
}
}
```
### cds_mito_verdade
```json
{
"templateId": "cds_mito_verdade",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-mito.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Vamos separar o mito da verdade sobre clareamento"},
{"start": 20, "end": 26, "text": "A ciência é bem clara sobre isso"}
],
"leftLabel": "MITO ❌",
"rightLabel": "VERDADE ✅",
"leftItems": ["Clareamento estraga o dente", "Bicarbonato clareia", "Resultado é permanente"],
"rightItems": ["Não danifica o esmalte", "Bicarbonato é abrasivo", "Manutenção é necessária"],
"ctaText": "Agende sua avaliação"
}
}
```
### cds_apresentacao_especialista
```json
{
"templateId": "cds_apresentacao_especialista",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-especialista.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Conheça a especialista em harmonização orofacial"}
],
"credentialName": "Dra. Fernanda Lima",
"credentialTitle": "Especialista em Harmonização Orofacial",
"credentialInstitution": "CRO-PE 12345 | USP",
"credentialPhoto": "https://storage.example.com/dra-fernanda.jpg",
"tags": ["Botox", "Preenchimento", "Fios PDO", "Bioestimuladores"],
"brollUrl": "https://storage.example.com/consultorio.mp4"
}
}
```
### cds_jornada_sorriso
```json
{
"templateId": "cds_jornada_sorriso",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-jornada.mp4",
"subtitles": [
{"start": 8, "end": 15, "text": "Acompanhe a jornada completa do tratamento"}
],
"timelineTitle": "Jornada do Sorriso",
"timelineSteps": [
{"label": "Avaliação inicial", "description": "Scanner 3D + planejamento digital", "icon": "🔍"},
{"label": "Tratamento", "description": "Lentes de contato dental personalizadas", "icon": "🦷"},
{"label": "Resultado", "description": "Sorriso transformado em 2 sessões", "icon": "✨"}
],
"beforeImage": "https://storage.example.com/jornada-antes.jpg",
"afterImage": "https://storage.example.com/jornada-depois.jpg"
}
}
```
### cds_tech_clinica
```json
{
"templateId": "cds_tech_clinica",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-tech.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Tecnologia de ponta para resultados excepcionais"}
],
"lifestyleTitle": "Tecnologia na Cia do Sorriso",
"lifestyleTags": ["Scanner 3D", "CAD/CAM", "Laser", "Radiografia Digital"],
"brollUrl": "https://storage.example.com/equipamentos-tech.mp4"
}
}
```
### cds_lifestyle_premium
```json
{
"templateId": "cds_lifestyle_premium",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-lifestyle.mp4",
"subtitles": [
{"start": 5, "end": 12, "text": "Seu sorriso é seu melhor acessório"}
],
"lifestyleTitle": "Sorria com confiança",
"lifestyleTags": ["Premium", "30 anos", "Recife"],
"brollUrl": "https://storage.example.com/lifestyle-clinica.mp4",
"ctaText": "Agende sua avaliação gratuita"
}
}
```
### cds_cta_direto
```json
{
"templateId": "cds_cta_direto",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-cta.mp4",
"subtitles": [
{"start": 4, "end": 10, "text": "Não perca essa oportunidade única"},
{"start": 10, "end": 16, "text": "Agende sua avaliação gratuita hoje"}
],
"hookText": "AVALIAÇÃO GRATUITA",
"hookSubtext": "Só essa semana",
"ctaText": "Agendar agora",
"urgency": "Vagas limitadas"
}
}
```
### cds_simple
```json
{
"templateId": "cds_simple",
"templateProps": {
"videoUrl": "https://storage.example.com/cds-fala.mp4",
"subtitles": [
{"start": 0, "end": 5, "text": "Hoje vou falar sobre cuidados com aparelho ortodôntico"},
{"start": 5, "end": 10, "text": "Escovação é o ponto mais importante"},
{"start": 10, "end": 16, "text": "Use a escova interdental após cada refeição"}
],
"duration": 25,
"brolls": [
{"mediaUrl": "https://storage.example.com/escova-inter.jpg", "startAt": 6, "duration": 3, "effect": "ken_burns"},
{"mediaUrl": "https://storage.example.com/sorriso-bonito.mp4", "startAt": 13, "duration": 4}
]
}
}
```