Templatesystem
Templates werden zur Laufzeit in normale Clips expandiert. Sie sollten nicht als übergeordnete Container behandelt werden, die Styling oder Animation automatisch an ihre erzeugten Kinder weitergeben.
1. Registrierte Templates
Derzeit unterstützt:
product-introslideshowsubtitle-videotalking-headcomparisoncountdowntext-revealnewsquotelist
2. Gemeinsame Einschränkungen
Diese Felder am Template-Clip selbst sind nicht als vererbt an die erzeugten Kind-Clips dokumentiert:
transformstyleanimationskeyframestransition
Template-spezifische Steuerung sollte über data übergeben werden.
3. product-intro
Wirksame Felder:
nametaglinefeaturespriceimagecta
Verhalten:
- Optionales Produktbild links
- Produkttitel und unterstützender Text rechts
- Optionale Feature-Liste
- Optionaler Preis
- Optionaler CTA-Text
Beispiel:
{
"type": "template",
"template": "product-intro",
"start": 0,
"duration": 8,
"data": {
"name": "Smart Watch Pro",
"tagline": "Built for modern teams",
"features": ["AMOLED display", "7-day battery", "Health tracking"],
"price": "$299",
"image": "https://example.com/watch.png",
"cta": "Order Now"
}
}4. slideshow
Wirksame Felder:
imagesdurationPerSlideshowCaptions
Verhalten:
- Jedes Bild expandiert zu einem
image-Clip - Slides verwenden das aktuell eingebaute Übergangsverhalten
- Beschriftungstext wird erzeugt, wenn ein Slide
captionenthält undshowCaptions !== falseist
Beispiel:
{
"type": "template",
"template": "slideshow",
"start": 0,
"duration": 9,
"data": {
"images": [
{ "image": "https://example.com/slide-1.jpg", "caption": "Welcome" },
{ "image": "https://example.com/slide-2.jpg", "caption": "New Features" },
{ "image": "https://example.com/slide-3.jpg", "caption": "Get Started" }
],
"durationPerSlide": 3,
"showCaptions": true
}
}5. subtitle-video
Wirksame Felder:
srcwordsconfigsourcevolumemutedplaybackRate
Verhalten:
- Erzeugt ein
videoim Vollbild - Erzeugt ein
subtitle
Beispiel:
{
"type": "template",
"template": "subtitle-video",
"start": 0,
"duration": 8,
"data": {
"src": { "$ref": "host-video" },
"words": { "$ref": "subtitle-main" },
"muted": false,
"volume": 1,
"config": {
"position": "bottom",
"fontSize": 58,
"highlightColor": "#22d3ee"
}
}
}6. talking-head
Wirksame Felder:
srcwordsconfigsourcevolumemutedplaybackRatespeakerroletitleshowLowerThird
Verhalten:
- Erzeugt ein Host-Video im Vollbild
- Optionaler Titel oben
- Optionaler Lower-Third-Block
- Optionale Untertitelspur
Beispiel:
{
"type": "template",
"template": "talking-head",
"start": 0,
"duration": 8,
"data": {
"src": { "$ref": "host-video" },
"words": { "$ref": "subtitle-main" },
"title": "Weekly Update",
"speaker": "Alex Chen",
"role": "Founder",
"showLowerThird": true,
"config": {
"position": "bottom",
"fontSize": 60,
"highlightColor": "#22d3ee"
}
}
}7. comparison
Wirksame Felder:
left.titleleft.itemsleft.imageright.titleright.itemsright.imagevsText
Verhalten:
- Erzeugt Vergleichsblöcke links und rechts
- Optionale Bilder und Listen für beide Seiten
- Erzeugt einen mittleren Trenner und den VS-Text
Beispiel:
{
"type": "template",
"template": "comparison",
"start": 0,
"duration": 7,
"data": {
"left": {
"title": "Before",
"items": ["Manual workflow", "Slow review", "Higher cost"],
"image": "https://example.com/before.png"
},
"right": {
"title": "After",
"items": ["Automated workflow", "Fast review", "Lower cost"],
"image": "https://example.com/after.png"
},
"vsText": "VS"
}
}8. countdown
Wirksame Felder:
fromtoshowTextonComplete
Verhalten:
- Rendert eine Countdown-Sequenz
- Kann gegen Ende Hilfstext anzeigen
- Kann eine Abschlussmeldung anzeigen
Beispiel:
{
"type": "template",
"template": "countdown",
"start": 0,
"duration": 6,
"data": {
"from": 5,
"to": 0,
"showText": true,
"onComplete": "Launch"
}
}9. text-reveal
Wirksame Felder:
textstylefontSizecolortextAlignposition
Dokumentierte Style-Werte:
fadeslidezoom
Verhalten:
- Erzeugt einen oder mehrere Text-Clips für eine gestufte Enthüllung
- Verwendet den gewählten Reveal-Stil dort, wo er aktuell implementiert ist
Beispiel:
{
"type": "template",
"template": "text-reveal",
"start": 0,
"duration": 5,
"data": {
"text": "Ship faster with AI video",
"style": "slide",
"fontSize": 72,
"color": "#ffffff",
"textAlign": "center",
"position": "center"
}
}10. news
Wirksame Felder:
headlinecontentreporterlocationshowLowerThird
Verhalten:
- Hauptüberschrift
- Optionaler Inhaltsblock
- Optionaler Informationsblock im Lower Third
Beispiel:
{
"type": "template",
"template": "news",
"start": 0,
"duration": 8,
"data": {
"headline": "Quarterly results exceed expectations",
"content": "Revenue grew 38% year over year, driven by strong subscription growth.",
"reporter": "Maya Lin",
"location": "San Francisco",
"showLowerThird": true
}
}11. quote
Wirksame Felder:
quoteauthorsource
Verhalten:
- Rendert den Zitattext
- Optionale Zeile für Autor und Quelle
Beispiel:
{
"type": "template",
"template": "quote",
"start": 0,
"duration": 6,
"data": {
"quote": "Simplicity scales better than complexity.",
"author": "Alex Chen",
"source": "Team Memo"
}
}12. list
Wirksame Felder:
titleitemsstyleitemDurationanimation
Verhalten:
- Erzeugt einen Titel, wenn einer angegeben ist
- Erzeugt Listeneinträge nacheinander
- Unterstützt Marker-Stil und Item-Animation
itemDuration: "auto"verteilt die Gesamtzeit automatisch
Beispiel:
{
"type": "template",
"template": "list",
"start": 0,
"duration": 8,
"data": {
"title": "Release Checklist",
"items": ["Finalize copy", "Export assets", "Publish update"],
"style": "checkmark",
"itemDuration": "auto",
"animation": "fadeIn"
}
}