Rendervid Template-System - JSON-Templates, Variablen, Animationen & Übergänge

Rendervid Video Rendering Templates Open Source

Rendervid ist eine programmatische Video-Rendering-Engine, die auf einem deklarativen, JSON-basierten Template-System aufbaut. Anstatt Videos manuell in einer Zeitleiste zu bearbeiten, definieren Sie jeden Aspekt Ihres Videos – Szenen, Ebenen, Animationen, Übergänge und Ausgabeeinstellungen – in einem einzigen JSON-Dokument. Dieser Ansatz macht Templates zustandslos, versionskontrollierbar und maschinell generierbar und öffnet die Tür für KI-gesteuerte Videoproduktion, Batch-Rendering-Pipelines und vollautomatisierte Content-Workflows.

Dieser Leitfaden behandelt das komplette Rendervid Template-System von oben bis unten: Root-Level-Konfiguration, Ausgabeeinstellungen, das Variablen- und Eingabesystem, Szenen und Komposition, alle acht Ebenentypen, über 40 Animationsvorlagen, über 30 Easing-Funktionen, 17 Szenenübergänge, visuelle Effekte, Schriftartenkonfiguration und Ausgabeformate.


Übersicht über die Template-Struktur

Jedes Rendervid-Template ist ein JSON-Objekt mit einem wohldefinierten Satz von Root-Level-Feldern. Hier ist das Grundgerüst eines vollständigen Templates:

{
  "name": "my-template",
  "output": { ... },
  "inputs": [ ... ],
  "composition": {
    "scenes": [ ... ]
  },
  "fonts": { ... },
  "customComponents": { ... },
  "defaults": { ... }
}

Root-Level-Felder

FeldTypErforderlichBeschreibung
namestringJaMenschenlesbarer Template-Bezeichner
outputobjectJaVideo- oder Bild-Ausgabekonfiguration (Abmessungen, fps, Dauer, Format)
inputsarrayNeinDynamische Eingabedefinitionen für Template-Variablen
compositionobjectJaEnthält das scenes-Array, das alle visuellen Inhalte definiert
fontsobjectNeinGoogle Fonts und benutzerdefinierte Schriftartendeklarationen
customComponentsobjectNeinRegistrierte benutzerdefinierte Ebenenkomponenten
defaultsobjectNeinStandardwerte, die auf alle Ebenen angewendet werden, sofern nicht überschrieben

Das Feld name dient organisatorischen Zwecken – es beeinflusst das Rendering nicht. Die Felder output und composition sind die beiden Säulen, die jedes Template haben muss. Alles andere ist optional, schaltet aber leistungsstarke Funktionen frei.


Ausgabekonfiguration

Das output-Objekt steuert die endgültig gerenderte Datei: ihr Format, ihre Abmessungen, Bildrate, Dauer und Hintergrundfarbe.

{
  "output": {
    "type": "video",
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "duration": 10,
    "backgroundColor": "#000000"
  }
}

Ausgabefelder

FeldTypStandardBeschreibung
typestring"video"Ausgabetyp: "video" oder "image"
widthnumber1920Breite in Pixeln (bis zu 7680 für 8K)
heightnumber1080Höhe in Pixeln (bis zu 4320 für 8K)
fpsnumber30Bilder pro Sekunde (1-120)
durationnumberGesamtdauer in Sekunden
backgroundColorstring"#000000"Hintergrundfarbe als Hex, RGB oder benannte Farbe

Gängige Voreinstellungen

Hier sind Ausgabekonfigurationen für beliebte Formate:

1080p Full HD (YouTube, allgemeiner Gebrauch):

{
  "type": "video",
  "width": 1920,
  "height": 1080,
  "fps": 30,
  "duration": 60,
  "backgroundColor": "#000000"
}

Instagram Reels / TikTok (9:16 vertikal):

{
  "type": "video",
  "width": 1080,
  "height": 1920,
  "fps": 30,
  "duration": 30,
  "backgroundColor": "#FFFFFF"
}

4K UHD:

{
  "type": "video",
  "width": 3840,
  "height": 2160,
  "fps": 60,
  "duration": 120,
  "backgroundColor": "#000000"
}

Open Graph / Social Share Image:

{
  "type": "image",
  "width": 1200,
  "height": 630,
  "backgroundColor": "#1a1a2e"
}

Bei Bildausgabe werden fps und duration ignoriert – der Renderer erfasst ein einzelnes Bild.


Template-Variablen & Eingaben

Das Eingabe- und Variablensystem macht Rendervid-Templates wiederverwendbar. Anstatt Text, Farben oder URLs in Ihr Template fest zu codieren, definieren Sie Eingaben und referenzieren sie mit der {{variableName}}-Syntax überall im Template.

Eingaben definieren

Eingaben werden im Top-Level-inputs-Array deklariert. Jedes Eingabeobjekt beschreibt eine einzelne Variable:

{
  "inputs": [
    {
      "key": "title",
      "type": "string",
      "label": "Titel",
      "description": "Haupttiteltext, der in der Intro-Szene angezeigt wird",
      "required": true,
      "default": "Hello World"
    },
    {
      "key": "brandColor",
      "type": "color",
      "label": "Markenfarbe",
      "description": "Primäre Markenfarbe für Hintergründe und Akzente",
      "required": false,
      "default": "#FF5733"
    },
    {
      "key": "showSubtitle",
      "type": "boolean",
      "label": "Untertitel anzeigen",
      "description": "Untertitelsichtbarkeit umschalten",
      "required": false,
      "default": true
    }
  ]
}

Eingabefeld-Referenz

FeldTypErforderlichBeschreibung
keystringJaEindeutiger Bezeichner, der in {{key}}-Referenzen verwendet wird
typestringJaDatentyp: string, number, boolean, color, url, array
labelstringNeinMenschenlesbares Label für UI-Rendering
descriptionstringNeinErklärung, was diese Eingabe steuert
requiredbooleanNeinOb die Eingabe zur Render-Zeit bereitgestellt werden muss
defaultanyNeinFallback-Wert, wenn keine Eingabe bereitgestellt wird

Eingabetypen

  • string – Freiformtext. Verwenden Sie dies für Titel, Beschreibungen, Bildunterschriften oder beliebige Textinhalte.
  • number – Numerische Werte. Verwenden Sie dies für Dauern, Größen, Positionen, Deckkraftstufen oder Zählwerte.
  • boolean – True/False-Schalter. Verwenden Sie dies für bedingte Sichtbarkeit, Feature-Flags oder Ein/Aus-Schalter.
  • color – Farbwerte in Hex (#FF5733), RGB (rgb(255,87,51)) oder benanntem Format. Verwenden Sie dies für Hintergründe, Textfarben und Akzente.
  • url – Gültige URL-Strings. Verwenden Sie dies für Bildquellen, Videoquellen, Links und Schriftarten-URLs.
  • array – Listen von Werten. Verwenden Sie dies für Bildergalerien, Textlisten, Folieninhalte oder beliebige wiederholte Daten.

Variablen im Template verwenden

Sobald Eingaben definiert sind, referenzieren Sie sie überall im Template mit doppelten geschweiften Klammern:

{
  "type": "text",
  "text": "{{title}}",
  "style": {
    "color": "{{brandColor}}",
    "fontSize": "{{titleSize}}"
  }
}

Variablen werden zur Render-Zeit aufgelöst. Wenn Sie die Rendervid-API oder CLI aufrufen, übergeben Sie die tatsächlichen Werte:

{
  "title": "Sommerschlussverkauf 2026",
  "brandColor": "#E63946",
  "titleSize": 72
}

Vollständiges Eingabebeispiel

Hier ist ein vollständiges Template mit mehreren Eingabetypen, die zusammenarbeiten:

{
  "name": "product-promo",
  "output": {
    "type": "video",
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "duration": 15
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Produktname",
      "description": "Name des beworbenen Produkts",
      "required": true,
      "default": "Produkt"
    },
    {
      "key": "price",
      "type": "number",
      "label": "Preis",
      "description": "Produktpreis, der im Video angezeigt wird",
      "required": true,
      "default": 29.99
    },
    {
      "key": "productImage",
      "type": "url",
      "label": "Produktbild-URL",
      "description": "URL zum Produktbild",
      "required": true
    },
    {
      "key": "accentColor",
      "type": "color",
      "label": "Akzentfarbe",
      "description": "Farbe für CTA-Buttons und Hervorhebungen",
      "required": false,
      "default": "#FF6B35"
    },
    {
      "key": "showBadge",
      "type": "boolean",
      "label": "Verkaufs-Badge anzeigen",
      "description": "Ob das Verkaufs-Badge-Overlay angezeigt werden soll",
      "required": false,
      "default": false
    },
    {
      "key": "features",
      "type": "array",
      "label": "Produktmerkmale",
      "description": "Liste der Merkmalsstichpunkte",
      "required": false,
      "default": ["Merkmal 1", "Merkmal 2", "Merkmal 3"]
    }
  ],
  "composition": {
    "scenes": [
      {
        "name": "hero",
        "duration": 15,
        "layers": [
          {
            "type": "image",
            "src": "{{productImage}}",
            "position": { "x": 540, "y": 400 },
            "size": { "width": 600, "height": 600 }
          },
          {
            "type": "text",
            "text": "{{productName}}",
            "style": { "fontSize": 48, "fontWeight": 700, "color": "#FFFFFF" },
            "position": { "x": 540, "y": 80 }
          },
          {
            "type": "text",
            "text": "${{price}}",
            "style": { "fontSize": 64, "fontWeight": 900, "color": "{{accentColor}}" },
            "position": { "x": 540, "y": 900 }
          }
        ]
      }
    ]
  }
}

Dieses einzelne Template kann Tausende einzigartiger Produktvideos generieren, indem einfach die Eingabewerte zur Render-Zeit geändert werden – keine Template-Änderungen erforderlich.


Szenen & Komposition

Das composition-Objekt ist der Ort, an dem der Inhalt Ihres Videos lebt. Es enthält ein scenes-Array, und jede Szene repräsentiert ein eigenständiges Segment des Videos mit eigener Dauer, Ebenen und Übergang.

{
  "composition": {
    "scenes": [
      {
        "name": "intro",
        "duration": 5,
        "transition": {
          "type": "fade",
          "duration": 1
        },
        "layers": [ ... ]
      },
      {
        "name": "main-content",
        "duration": 20,
        "transition": {
          "type": "slide",
          "duration": 0.5,
          "direction": "left"
        },
        "layers": [ ... ]
      },
      {
        "name": "outro",
        "duration": 5,
        "layers": [ ... ]
      }
    ]
  }
}

Szenenfelder

FeldTypErforderlichBeschreibung
namestringNeinBezeichner für die Szene (für Lesbarkeit und Debugging)
durationnumberJaSzenenlänge in Sekunden
transitionobjectNeinÜbergangseffekt beim Betreten dieser Szene von der vorherigen
layersarrayJaGeordnetes Array von Ebenenobjekten, von unten nach oben gerendert

Szenen werden nacheinander abgespielt. Die gesamte Videodauer ist die Summe aller Szenendauern (minus etwaiger Übergangsüberlappungen). Ebenen innerhalb einer Szene werden in Array-Reihenfolge gerendert – die erste Ebene sitzt ganz unten im visuellen Stapel, und die letzte Ebene sitzt oben.

Wenn kein Übergang angegeben ist, verwendet die Szene standardmäßig einen harten cut.


Ebenensystem

Rendervid unterstützt acht verschiedene Ebenentypen. Jeder Ebenentyp dient einem bestimmten Zweck und akzeptiert zusätzlich zur gemeinsamen Basiskonfiguration eigene Eigenschaften.

Gemeinsame Ebeneneigenschaften

Jede Ebene unterstützt unabhängig vom Typ diese Basiseigenschaften:

{
  "position": { "x": 100, "y": 100 },
  "size": { "width": 500, "height": 200 },
  "rotation": 0,
  "scale": { "x": 1, "y": 1 },
  "anchor": { "x": 0.5, "y": 0.5 },
  "opacity": 1,
  "blendMode": "normal",
  "from": 0,
  "duration": -1,
  "filters": [],
  "style": {},
  "className": ""
}
EigenschaftTypStandardBeschreibung
positionobject{x: 0, y: 0}X/Y-Koordinaten in Pixeln
sizeobjectBreite und Höhe in Pixeln
rotationnumber0Rotationswinkel in Grad
scaleobject{x: 1, y: 1}Skalierungsmultiplikator für X- und Y-Achsen
anchorobject{x: 0.5, y: 0.5}Ankerpunkt für Transformationen (0-1 Bereich, 0.5 = Mitte)
opacitynumber1Ebenendeckkraft (0 = transparent, 1 = undurchsichtig)
blendModestring"normal"CSS-Mischmodus für Compositing
fromnumber0Startzeit in Sekunden (relativ zum Szenenbeginn)
durationnumber-1Ebenendauer in Sekunden (-1 = volle Szenendauer)
filtersarray[]Array von visuellen Filterobjekten
styleobject{}Zusätzliche CSS-ähnliche Stileigenschaften
classNamestring""CSS-Klassenname für benutzerdefiniertes Styling

Die acht Ebenentypen

  1. text – Rendert gestylten Text mit voller Kontrolle über Schriftart, Größe, Farbe, Ausrichtung, Zeilenhöhe, Buchstabenabstand, Textschatten und mehr. Unterstützt die {{variable}}-Syntax für dynamische Inhalte.

  2. image – Zeigt statische Bilder von URLs oder lokalen Pfaden an. Unterstützt Zuschneiden, Object-Fit-Modi, Rahmenradius und Bildfilter.

  3. video – Bettet Videoclips in eine Szene ein. Unterstützt Trimmen (Start/Ende), Lautstärkeregelung, Wiedergabegeschwindigkeit, Looping und Stummschaltung.

  4. shape – Rendert geometrische Primitive: Rechtecke, Kreise, Ellipsen, Linien und Polygone. Unterstützt Füllung, Strich, Rahmenradius, Verläufe und Schatten.

  5. audio – Fügt einer Szene Audiospuren hinzu. Unterstützt Lautstärke, Ein-/Ausblenden, Trimmen und Looping. Audioebenen haben keine visuelle Darstellung.

  6. group – Eine Container-Ebene, die untergeordnete Ebenen enthält. Gruppen ermöglichen es Ihnen, Transformationen, Animationen und Effekte auf mehrere Ebenen gleichzeitig anzuwenden.

  7. lottie – Rendert Lottie/Bodymovin-JSON-Animationen. Unterstützt Wiedergabegeschwindigkeit, Looping und Segmentsteuerung zum Abspielen bestimmter Frame-Bereiche.

  8. custom – Lädt registrierte benutzerdefinierte Komponenten, die im Feld customComponents definiert sind. Verwenden Sie dies für wiederverwendbare, parametrisierte Ebenenvorlagen.

Für eine detaillierte Konfiguration jedes Ebenentyps, einschließlich aller verfügbaren Eigenschaften und Codebeispiele, siehe die Rendervid Components Reference .


Animationssystem

Rendervid enthält über 40 integrierte Animationsvorlagen, die in vier Kategorien organisiert sind: entrance, exit, emphasis und keyframe. Animationen werden an jede Ebene angehängt und steuern, wie diese Ebene erscheint, verschwindet oder sich während ihrer Lebensdauer verhält.

Animationskonfiguration

{
  "type": "text",
  "text": "Animierter Titel",
  "animations": [
    {
      "type": "entrance",
      "effect": "fadeInUp",
      "duration": 30,
      "delay": 10,
      "easing": "easeOutCubic",
      "loop": 0,
      "alternate": false
    }
  ]
}

Animationsfelder

FeldTypStandardBeschreibung
typestringAnimationskategorie: entrance, exit, emphasis, keyframe
effectstringVorlagenname (z.B. fadeInUp, pulse, bounceOut)
durationnumber30Dauer in Frames
delaynumber0Verzögerung vor Animationsstart, in Frames
easingstring"ease"Easing-Funktionsname
loopnumber0Anzahl der Schleifen (0 = keine Schleife, -1 = unendlich)
alternatebooleanfalseRichtung bei alternativen Schleifen umkehren

Eingangsanimationen (20 Vorlagen)

Eingangsanimationen steuern, wie eine Ebene auf dem Bildschirm erscheint. Sie laufen einmal, wenn die Startzeit der Ebene erreicht ist.

VorlageBeschreibung
fadeInEinfaches Deckkraft-Einblenden von 0 auf 1
fadeInUpBlendet ein, während nach oben gleitet
fadeInDownBlendet ein, während nach unten gleitet
fadeInLeftBlendet ein, während von links gleitet
fadeInRightBlendet ein, während von rechts gleitet
slideInUpGleitet von unterhalb des Frames ein
slideInDownGleitet von oberhalb des Frames ein
slideInLeftGleitet vom linken Rand ein
slideInRightGleitet vom rechten Rand ein
scaleInSkaliert von 0 auf volle Größe
zoomInZoomt von einer kleineren Skala mit leichtem Überschwingen ein
rotateInRotiert von einem versetzten Winkel in Position
bounceInSpringt mit elastischem Überschwingen in Position
flipInX3D-Flip auf der X-Achse (horizontaler Flip)
flipInY3D-Flip auf der Y-Achse (vertikaler Flip)
typewriterZeichen erscheinen nacheinander (Textebenen)
revealLeftMasken-Enthüllung gleitet von links
revealRightMasken-Enthüllung gleitet von rechts
revealUpMasken-Enthüllung gleitet nach oben
revealDownMasken-Enthüllung gleitet nach unten

Ausgangsanimationen (9 Vorlagen)

Ausgangsanimationen steuern, wie eine Ebene verschwindet. Sie laufen am Ende der Ebenendauer.

VorlageBeschreibung
fadeOutEinfaches Deckkraft-Ausblenden von 1 auf 0
slideOutUpGleitet durch die Oberseite des Frames aus
slideOutDownGleitet durch die Unterseite des Frames aus
scaleOutSkaliert von voller Größe auf 0
zoomOutZoomt auf eine kleinere Skala und blendet aus
rotateOutRotiert aus der Position zu einem versetzten Winkel
bounceOutSpringt mit elastischem Überschwingen nach außen, bevor es verschwindet
flipOutX3D-Flip aus auf der X-Achse
flipOutY3D-Flip aus auf der Y-Achse

Hervorhebungsanimationen (10 Vorlagen)

Hervorhebungsanimationen lenken die Aufmerksamkeit auf eine Ebene, während sie sichtbar bleibt. Sie funktionieren gut mit Looping.

VorlageBeschreibung
pulseRhythmisches Skalierungs-Pulsieren (wächst und schrumpft)
shakeSchnelles horizontales Schütteln
bounceVertikale Hüpfbewegung
swingPendelartige Schwingrotation
wobbleAußer-Achse-Wackeln, das Rotation und Translation kombiniert
flashSchnelle Deckkraft-Blitze
rubberBandElastischer Dehnungs- und Schnapp-Effekt
heartbeatDoppelpuls-Herzschlagrhythmus
floatSanfte Auf- und Ab-Schwebebewegung
spinKontinuierliche 360-Grad-Rotation

Keyframe-Animationen

Für volle kreative Kontrolle ermöglichen Keyframe-Animationen die Definition benutzerdefinierter Frame-für-Frame-Eigenschaftsänderungen:

{
  "type": "keyframe",
  "keyframes": [
    { "frame": 0, "opacity": 0, "x": -100 },
    { "frame": 15, "opacity": 1, "x": 0 },
    { "frame": 30, "opacity": 1, "x": 0 },
    { "frame": 45, "opacity": 0, "x": 100 }
  ],
  "easing": "easeInOutCubic"
}

Keyframe-Animationen können jede numerische Eigenschaft animieren: opacity, x, y, rotation, scaleX, scaleY und mehr. Jeder Keyframe gibt eine Frame-Nummer und die Eigenschaftswerte bei diesem Frame an. Der Renderer interpoliert zwischen Keyframes unter Verwendung der angegebenen Easing-Funktion.

Animationen kombinieren

Eine einzelne Ebene kann mehrere Animationen haben. Zum Beispiel eine Eingangsanimation gefolgt von einer Hervorhebungsschleife, dann eine Ausgangsanimation:

{
  "animations": [
    {
      "type": "entrance",
      "effect": "fadeInUp",
      "duration": 20,
      "easing": "easeOutCubic"
    },
    {
      "type": "emphasis",
      "effect": "pulse",
      "duration": 30,
      "delay": 20,
      "loop": -1
    },
    {
      "type": "exit",
      "effect": "fadeOut",
      "duration": 15,
      "easing": "easeInCubic"
    }
  ]
}

Easing-Funktionen

Easing-Funktionen steuern die Änderungsrate während einer Animation und bestimmen, ob sich Bewegung linear, glatt, fedrig oder elastisch anfühlt. Rendervid enthält über 30 integrierte Easing-Funktionen.

Basis-Easing

FunktionBeschreibung
linearKonstante Geschwindigkeit von Anfang bis Ende, keine Beschleunigung
easeStandard-CSS-ähnliches Easing mit sanfter Beschleunigung und Verlangsamung
easeInStartet langsam, beschleunigt zum Ende hin
easeOutStartet schnell, verlangsamt zum Ende hin
easeInOutBeschleunigt in der ersten Hälfte, verlangsamt in der zweiten

Quadratisches Easing

FunktionBeschreibung
easeInQuadQuadratische Beschleunigung (t^2)
easeOutQuadQuadratische Verlangsamung
easeInOutQuadQuadratische Beschleunigung dann Verlangsamung

Kubisches Easing

FunktionBeschreibung
easeInCubicKubische Beschleunigung (t^3) – ausgeprägter als quadratisch
easeOutCubicKubische Verlangsamung – glatter und natürlich wirkender Stopp
easeInOutCubicKubisches Ease-in und Ease-out – das am häufigsten verwendete Easing

Quartisches Easing

FunktionBeschreibung
easeInQuartQuartische Beschleunigung (t^4)
easeOutQuartQuartische Verlangsamung
easeInOutQuartQuartisches Ease-in und Ease-out

Quintisches Easing

FunktionBeschreibung
easeInQuintQuintische Beschleunigung (t^5) – sehr scharfer Start
easeOutQuintQuintische Verlangsamung – sehr scharfer Stopp
easeInOutQuintQuintisches Ease-in und Ease-out

Sinusförmiges Easing

FunktionBeschreibung
easeInSineSinus-basierte Beschleunigung – die sanfteste Easing-Kurve
easeOutSineSinus-basierte Verlangsamung
easeInOutSineSinus-basiertes Ease-in und Ease-out

Exponentielles Easing

FunktionBeschreibung
easeInExpoExponentielle Beschleunigung – nahezu flach dann scharf
easeOutExpoExponentielle Verlangsamung – scharf dann nahezu flach
easeInOutExpoExponentielles Ease-in und Ease-out

Kreisförmiges Easing

FunktionBeschreibung
easeInCircKreisförmige Beschleunigungskurve
easeOutCircKreisförmige Verlangsamungskurve
easeInOutCircKreisförmiges Ease-in und Ease-out

Back-Easing

FunktionBeschreibung
easeInBackZieht leicht zurück, bevor es vorwärts beschleunigt (Antizipation)
easeOutBackÜberschießt das Ziel und setzt sich dann zurück (Überschwingen)
easeInOutBackAntizipation beim Eintritt, Überschwingen beim Austritt

Elastisches Easing

FunktionBeschreibung
easeInElasticElastisches Wackeln bei Beschleunigung – federartiges Aufziehen
easeOutElasticElastisches Wackeln bei Verlangsamung – federartiges Schnappen
easeInOutElasticElastisch an beiden Enden

Bounce-Easing

FunktionBeschreibung
easeInBounceHüpfeffekt beim Eintritt – wie ein umgekehrt fallender Ball
easeOutBounceHüpfeffekt beim Austritt – wie ein Ball, der auf den Boden trifft
easeInOutBounceHüpfen an beiden Enden

Das richtige Easing wählen

  • UI-Elemente und Text: easeOutCubic oder easeOutQuart für natürlich wirkende Eingänge
  • Aufmerksamkeitserregende Bewegung: easeOutElastic oder easeOutBack für verspieltes Überschwingen
  • Sanftes Looping: easeInOutSine für sanfte, kontinuierliche Bewegung
  • Dramatische Enthüllungen: easeInExpo für Aufbauten, easeOutExpo für schnappige Stopps
  • Physikalische Simulation: easeOutBounce für schwerkraftähnliche Effekte

Szenenübergänge

Übergänge steuern, wie eine Szene in die nächste übergeht. Rendervid bietet 17 Übergangstypen, die von einfachen Schnitten bis zu kinematografischen 3D-Effekten reichen.

Übergangskonfiguration

{
  "name": "scene-two",
  "duration": 10,
  "transition": {
    "type": "fade",
    "duration": 1,
    "direction": "left"
  },
  "layers": [ ... ]
}

Das transition-Objekt wird auf der eingehenden Szene platziert (die Szene, zu der übergegangen wird). Die direction-Eigenschaft gilt nur für gerichtete Übergänge wie slide, wipe und push.

Alle 17 Übergangstypen

ÜbergangBeschreibung
cutSofortiger Wechsel ohne visuellen Effekt (Standard)
fadeÜberblendung zwischen Szenen – die ausgehende Szene blendet aus, während die eingehende Szene einblendet
zoomZoomt in die ausgehende Szene, während die eingehende Szene erscheint
slideDie eingehende Szene gleitet über die ausgehende Szene aus einer konfigurierbaren Richtung (links, rechts, oben, unten)
wipeEin Wisch mit harter Kante enthüllt die eingehende Szene und bewegt sich in der angegebenen Richtung über den Frame
pushDie eingehende Szene schiebt die ausgehende Szene in der angegebenen Richtung aus dem Bildschirm
rotateDie ausgehende Szene rotiert weg, während die eingehende Szene hinein rotiert
flip3D-Flip-Übergang – der Frame flippt wie eine Karte, um die nächste Szene zu enthüllen
blurDie ausgehende Szene verschwimmt, während die eingehende Szene scharf wird
circleEine kreisförmige Maske expandiert von der Mitte (oder einem bestimmten Punkt), um die nächste Szene zu enthüllen
glitchDigitaler Glitch-Verzerrungseffekt mit chromatischer Aberration und Verschiebung
dissolveAuflösung auf Pixelebene, bei der einzelne Pixel zufällig zwischen Szenen übergehen
cube3D-Würfelrotation – die Szenen befinden sich auf benachbarten Flächen eines rotierenden Würfels
swirlSpiralverzerrung, die die ausgehende Szene in die eingehende Szene wirbelt
diagonal-wipeEin diagonaler Wisch mit harter Kante, der sich von einer Ecke zur gegenüberliegenden bewegt
irisKreisförmige Iris, die sich wie eine Kamerablende öffnet oder schließt
crosszoomBeide Szenen zoomen gleichzeitig – die ausgehende zoomt ein, die eingehende zoomt aus

Übergangsbeispiele

Kinematografisches Fade mit langer Überblendung:

{
  "transition": {
    "type": "fade",
    "duration": 2
  }
}

Gleiten von rechts (üblich für sequenzielle Inhalte):

{
  "transition": {
    "type": "slide",
    "duration": 0.5,
    "direction": "right"
  }
}

3D-Würfelrotation (dynamisches, modernes Gefühl):

{
  "transition": {
    "type": "cube",
    "duration": 1
  }
}

Glitch-Effekt (energetisch, technikaffin):

{
  "transition": {
    "type": "glitch",
    "duration": 0.3
  }
}

Visuelle Effekte

Rendervid-Ebenen unterstützen eine Reihe von visuellen Effekten durch Filter, Mischmodi, Schatten und Transformationen.

Filter

Filter werden über das filters-Array auf jede Ebene angewendet. Jeder Filter ist ein Objekt mit einem type und value:

{
  "filters": [
    { "type": "blur", "value": 5 },
    { "type": "brightness", "value": 1.2 },
    { "type": "contrast", "value": 1.1 },
    { "type": "grayscale", "value": 0.5 },
    { "type": "saturate", "value": 1.5 }
  ]
}
FilterWertebereichBeschreibung
blur0+ (Pixel)Gaußscher Weichzeichner – höhere Werte erzeugen mehr Unschärfe
brightness0+ (Multiplikator)0 = schwarz, 1 = normal, 2 = doppelte Helligkeit
contrast0+ (Multiplikator)0 = grau, 1 = normal, 2 = doppelter Kontrast
grayscale0-10 = volle Farbe, 1 = vollständig entsättigt
hue-rotate0-360 (Grad)Rotiert Farben um das Farbrad
invert0-10 = normal, 1 = vollständig invertierte Farben
saturate0+ (Multiplikator)0 = entsättigt, 1 = normal, 2 = doppelte Sättigung
sepia0-10 = normal, 1 = voller Sepia-Ton

Mischmodi

Die blendMode-Eigenschaft steuert, wie eine Ebene mit den darunter liegenden Ebenen kombiniert wird:

{
  "type": "shape",
  "blendMode": "multiply",
  "opacity": 0.8
}

Unterstützte Mischmodi: normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity.

Schatten

Text- und Formebenen unterstützen Schatteneffekte über die style-Eigenschaft:

{
  "style": {
    "shadow": {
      "color": "rgba(0, 0, 0, 0.5)",
      "offsetX": 4,
      "offsetY": 4,
      "blur": 10
    }
  }
}

Effekte kombinieren

Filter, Mischmodi, Deckkraft und Schatten können alle auf einer einzelnen Ebene für ausgefeilte visuelle Behandlungen kombiniert werden:

{
  "type": "image",
  "src": "{{backgroundImage}}",
  "opacity": 0.7,
  "blendMode": "overlay",
  "filters": [
    { "type": "blur", "value": 3 },
    { "type": "brightness", "value": 0.8 }
  ],
  "style": {
    "shadow": {
      "color": "rgba(0, 0, 0, 0.3)",
      "offsetX": 0,
      "offsetY": 10,
      "blur": 20
    }
  }
}

Schriftartenkonfiguration

Rendervid unterstützt sowohl Google Fonts (über 100 Familien integriert) als auch benutzerdefinierte Schriftarten, die von externen URLs geladen werden.

Google Fonts

Deklarieren Sie Google Fonts im fonts.google-Array:

{
  "fonts": {
    "google": [
      { "family": "Roboto", "weights": [400, 700] },
      { "family": "Open Sans", "weights": [300, 400, 600, 700] },
      { "family": "Montserrat", "weights": [400, 500, 700, 900] },
      { "family": "Playfair Display", "weights": [400, 700] }
    ]
  }
}

Jedes Schriftartobjekt erfordert:

FeldTypBeschreibung
familystringGoogle Font-Familienname (exakte Übereinstimmung erforderlich)
weightsarrayArray numerischer Gewichte zum Laden (100-900)

Gängige Schriftgewichte: 100 (Thin), 200 (Extra Light), 300 (Light), 400 (Regular), 500 (Medium), 600 (Semi Bold), 700 (Bold), 800 (Extra Bold), 900 (Black).

Benutzerdefinierte Schriftarten

Laden Sie Schriftarten von externen URLs mit dem fonts.custom-Array:

{
  "fonts": {
    "custom": [
      {
        "family": "MyBrandFont",
        "src": "https://example.com/fonts/brand-font.woff2",
        "weight": 400,
        "style": "normal"
      },
      {
        "family": "MyBrandFont",
        "src": "https://example.com/fonts/brand-font-bold.woff2",
        "weight": 700,
        "style": "normal"
      }
    ]
  }
}

Unterstützte Schriftformate: WOFF2 (empfohlen für kleinste Dateigröße), WOFF, TTF und OTF.

Schriftarten in Ebenen verwenden

Referenzieren Sie deklarierte Schriftarten nach Familienname in Textebenen-Stilen:

{
  "type": "text",
  "text": "{{headline}}",
  "style": {
    "fontFamily": "Montserrat",
    "fontWeight": 700,
    "fontSize": 64,
    "color": "#FFFFFF"
  }
}

Rendervid enthält plattformspezifische Schriftarten-Fallback-Ketten, um konsistentes Rendering über verschiedene Umgebungen hinweg sicherzustellen. Wenn eine angegebene Schriftart nicht verfügbar ist, greift der Renderer auf Systemschriftarten zurück, die derselben Klassifikation entsprechen (Serif, Sans-Serif, Monospace).


Ausgabeformate

Rendervid unterstützt eine breite Palette von Ausgabeformaten und Codecs sowohl für Video- als auch für Bild-Rendering.

Videoformate

FormatCodecDateierweiterungAm besten für
MP4H.264.mp4Maximale Kompatibilität – Web, Mobil, Social Media
WebMVP8 / VP9.webmWeb-Einbettung mit kleineren Dateigrößen
MOVProRes.movProfessionelle Bearbeitungs-Workflows, verlustfreie Qualität
GIF.gifKurze Animationen, Social Sharing, E-Mail
MP4H.265 / HEVC.mp4Neuere Geräte, 50% kleinere Dateien als H.264 bei gleicher Qualität
WebMAV1.webmCodec der nächsten Generation, beste Kompressionseffizienz

Bildformate

FormatDateierweiterungAm besten für
PNG.pngVerlustfreie Qualität, Transparenzunterstützung
JPEG.jpgFotografien, kleinere Dateigrößen
WebP.webpModernes Web, beste Balance aus Qualität und Größe

Qualitätsvoreinstellungen

VoreinstellungBeschreibung
draftSchnelles Rendering mit reduzierter Qualität – ideal für Vorschau
standardAusgewogene Qualität und Dateigröße – gut für die meisten Anwendungsfälle
highHöhere Bitrate und Qualität – für finale Auslieferungen
losslessMaximale Qualität ohne Kompressionsartefakte

Auflösungsunterstützung

Rendervid unterstützt Auflösungen von kleinen Thumbnails bis zu 8K:

AuflösungAbmessungenÜbliche Verwendung
SD640 x 480Thumbnails, Vorschauen
HD1280 x 720Webvideo, E-Mail
Full HD1920 x 1080YouTube, Präsentationen
2K2560 x 1440Hochwertige Displays
4K UHD3840 x 2160Professionell, Broadcast
8K7680 x 4320Maximale Auflösung, zukunftssicher

Bildraten von 1 fps (Diashows) bis 120 fps (Zeitlupe, Gaming-Inhalte) werden unterstützt. Gängige Auswahlmöglichkeiten sind 24 fps (kinematografisch), 30 fps (Web/Social) und 60 fps (flüssige Bewegung).


Vollständiges Beispiel

Hier ist ein vollständiges Rendervid-Template, das die Hauptfunktionen des Template-Systems zusammen demonstriert: dynamische Eingaben, mehrere Szenen mit Übergängen, geschichtete Kompositionen, Animationen mit Easing, Schriftarten und visuelle Effekte.

{
  "name": "tech-product-launch",
  "output": {
    "type": "video",
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "duration": 20,
    "backgroundColor": "#0A0A0A"
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Produktname",
      "required": true,
      "default": "ProductX"
    },
    {
      "key": "tagline",
      "type": "string",
      "label": "Slogan",
      "required": true,
      "default": "Die Zukunft ist hier."
    },
    {
      "key": "heroImage",
      "type": "url",
      "label": "Hero-Bild",
      "required": true
    },
    {
      "key": "primaryColor",
      "type": "color",
      "label": "Primärfarbe",
      "default": "#6C63FF"
    },
    {
      "key": "ctaText",
      "type": "string",
      "label": "Call-to-Action",
      "default": "Mehr erfahren"
    }
  ],
  "fonts": {
    "google": [
      { "family": "Inter", "weights": [400, 600, 800] },
      { "family": "JetBrains Mono", "weights": [400] }
    ]
  },
  "composition": {
    "scenes": [
      {
        "name": "intro",
        "duration": 6,
        "layers": [
          {
            "type": "shape",
            "shape": "rectangle",
            "position": { "x": 960, "y": 540 },
            "size": { "width": 1920, "height": 1080 },
            "style": {
              "fill": "{{primaryColor}}",
              "opacity": 0.1
            }
          },
          {
            "type": "text",
            "text": "{{productName}}",
            "position": { "x": 960, "y": 400 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 800,
              "fontSize": 96,
              "color": "#FFFFFF",
              "textAlign": "center"
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "fadeInUp",
                "duration": 30,
                "delay": 15,
                "easing": "easeOutCubic"
              }
            ]
          },
          {
            "type": "text",
            "text": "{{tagline}}",
            "position": { "x": 960, "y": 520 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 400,
              "fontSize": 36,
              "color": "{{primaryColor}}",
              "textAlign": "center",
              "letterSpacing": 4
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "fadeIn",
                "duration": 25,
                "delay": 40,
                "easing": "easeOutSine"
              }
            ]
          },
          {
            "type": "shape",
            "shape": "rectangle",
            "position": { "x": 960, "y": 600 },
            "size": { "width": 80, "height": 3 },
            "style": {
              "fill": "{{primaryColor}}"
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "scaleIn",
                "duration": 20,
                "delay": 60,
                "easing": "easeOutQuart"
              }
            ]
          }
        ]
      },
      {
        "name": "product-showcase",
        "duration": 8,
        "transition": {
          "type": "slide",
          "duration": 0.8,
          "direction": "left"
        },
        "layers": [
          {
            "type": "image",
            "src": "{{heroImage}}",
            "position": { "x": 1200, "y": 540 },
            "size": { "width": 800, "height": 800 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "filters": [
              { "type": "brightness", "value": 1.1 },
              { "type": "contrast", "value": 1.05 }
            ],
            "animations": [
              {
                "type": "entrance",
                "effect": "zoomIn",
                "duration": 40,
                "easing": "easeOutBack"
              },
              {
                "type": "emphasis",
                "effect": "float",
                "duration": 120,
                "delay": 40,
                "loop": -1,
                "alternate": true
              }
            ]
          },
          {
            "type": "text",
            "text": "Introducing",
            "position": { "x": 400, "y": 350 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "JetBrains Mono",
              "fontSize": 18,
              "color": "{{primaryColor}}",
              "textTransform": "uppercase",
              "letterSpacing": 6
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "typewriter",
                "duration": 30,
                "delay": 10,
                "easing": "linear"
              }
            ]
          },
          {
            "type": "text",
            "text": "{{productName}}",
            "position": { "x": 400, "y": 430 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 800,
              "fontSize": 72,
              "color": "#FFFFFF"
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "revealLeft",
                "duration": 25,
                "delay": 20,
                "easing": "easeOutQuart"
              }
            ]
          },
          {
            "type": "text",
            "text": "{{tagline}}",
            "position": { "x": 400, "y": 520 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 400,
              "fontSize": 24,
              "color": "#CCCCCC",
              "lineHeight": 1.6
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "fadeInUp",
                "duration": 20,
                "delay": 40,
                "easing": "easeOutCubic"
              }
            ]
          }
        ]
      },
      {
        "name": "cta",
        "duration": 6,
        "transition": {
          "type": "fade",
          "duration": 1.2
        },
        "layers": [
          {
            "type": "shape",
            "shape": "rectangle",
            "position": { "x": 960, "y": 540 },
            "size": { "width": 1920, "height": 1080 },
            "style": {
              "fill": "{{primaryColor}}",
              "opacity": 0.15
            }
          },
          {
            "type": "text",
            "text": "{{productName}}",
            "position": { "x": 960, "y": 380 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 800,
              "fontSize": 80,
              "color": "#FFFFFF",
              "textAlign": "center"
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "bounceIn",
                "duration": 35,
                "easing": "easeOutElastic"
              }
            ]
          },
          {
            "type": "shape",
            "shape": "rectangle",
            "position": { "x": 960, "y": 550 },
            "size": { "width": 280, "height": 60 },
            "style": {
              "fill": "{{primaryColor}}",
              "borderRadius": 30
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "scaleIn",
                "duration": 25,
                "delay": 30,
                "easing": "easeOutBack"
              },
              {
                "type": "emphasis",
                "effect": "pulse",
                "duration": 60,
                "delay": 60,
                "loop": -1,
                "alternate": true
              }
            ]
          },
          {
            "type": "text",
            "text": "{{ctaText}}",
            "position": { "x": 960, "y": 550 },
            "anchor": { "x": 0.5, "y": 0.5 },
            "style": {
              "fontFamily": "Inter",
              "fontWeight": 600,
              "fontSize": 22,
              "color": "#FFFFFF",
              "textAlign": "center"
            },
            "animations": [
              {
                "type": "entrance",
                "effect": "fadeIn",
                "duration": 20,
                "delay": 40,
                "easing": "easeOutSine"
              }
            ]
          }
        ]
      }
    ]
  }
}

Dieses Template erstellt ein 20-sekündiges Produkteinführungsvideo mit drei Szenen: ein typografisches Intro mit gestaffelten Textanimationen, eine Produkt-Präsentation mit schwebendem Bild und Schreibmaschinen-Effekt sowie eine abschließende Call-to-Action-Szene mit pulsierendem Button. Alle Texte, Farben und Bilder werden durch Template-Variablen gesteuert, was es vollständig wiederverwendbar macht.


Nächste Schritte

  • Layer Components Reference – Tiefgehender Einblick in jeden der 8 Ebenentypen mit vollständiger Eigenschaftsdokumentation und Beispielen
  • AI Integration – Lernen Sie, wie Sie Rendervid-Templates mit KI generieren und manipulieren, einschließlich LLM-gesteuerter Template-Generierung und inhaltsbasiertem Rendering
  • Deployment Guide – Richten Sie Rendervid für die Produktion ein: serverseitiges Rendering, Cloud-Deployment, Batch-Verarbeitung und API-Integration

Häufig gestellte Fragen

Was ist das Rendervid Template-Format?

Rendervid-Templates sind JSON-Dateien, die die Struktur, den Inhalt, die Animationen und die Ausgabeeinstellungen eines Videos oder Bildes definieren. Jedes Template enthält eine Ausgabekonfiguration (Abmessungen, fps, Dauer), Eingabedefinitionen für dynamische Variablen, eine Komposition mit Szenen und Ebenen sowie optionale Schriftarten- und benutzerdefinierte Komponentenkonfigurationen.

Wie funktionieren Template-Variablen in Rendervid?

Template-Variablen verwenden die {{variableName}}-Syntax. Sie definieren Eingaben im inputs-Array des Templates mit einem Schlüssel, Typ (string, number, boolean, color, url, array), Label, Beschreibung und Standardwert. Zur Render-Zeit werden diese Variablen durch tatsächliche Werte ersetzt, was Templates wiederverwendbar und dynamisch macht.

Wie viele Animationsvorlagen hat Rendervid?

Rendervid enthält über 40 integrierte Animationsvorlagen, die in vier Kategorien organisiert sind: Eingangsanimationen (fadeIn, slideIn, scaleIn, bounceIn, etc.), Ausgangsanimationen (fadeOut, slideOut, zoomOut, etc.), Hervorhebungsanimationen (pulse, shake, bounce, swing, heartbeat, etc.) und vollständig anpassbare Keyframe-Animationen mit über 30 Easing-Funktionen.

Welche Szenenübergänge sind verfügbar?

Rendervid bietet 17 Szenenübergangstypen: cut, fade, zoom, slide, wipe, push, rotate, flip (3D), blur, circle, glitch, dissolve, cube (3D), swirl, diagonal-wipe, iris und crosszoom. Jeder Übergang kann mit Dauer- und Richtungsparametern konfiguriert werden.

Welche Ausgabeformate unterstützt Rendervid?

Rendervid unterstützt mehrere Ausgabeformate, darunter MP4 (H.264), WebM (VP8/VP9), MOV (ProRes), GIF für Video sowie PNG, JPEG, WebP für Bilder. Erweiterte Codecs wie H.265/HEVC und AV1 werden ebenfalls unterstützt. Die Auflösung geht bis zu 8K (7680x4320) mit Bildraten von 1 bis 120 fps.

Kann ich benutzerdefinierte Schriftarten in Rendervid-Templates verwenden?

Ja, Rendervid unterstützt über 100 integrierte Google Fonts und das Laden benutzerdefinierter Schriftarten von URLs in den Formaten WOFF2, WOFF, TTF und OTF. Sie können Schriftgewichte von 100-900 angeben und plattformspezifische Fallbacks für plattformübergreifende Kompatibilität konfigurieren.

Lassen Sie uns Ihr eigenes KI-Team aufbauen

Wir helfen Unternehmen wie Ihrem, intelligente Chatbots, MCP-Server, KI-Tools oder andere Arten von KI-Automatisierungen zu entwickeln, um Menschen bei sich wiederholenden Aufgaben in Ihrer Organisation zu ersetzen.

Mehr erfahren

Rendervid Deployment - Browser, Node.js, Cloud & Docker Rendering
Rendervid Deployment - Browser, Node.js, Cloud & Docker Rendering

Rendervid Deployment - Browser, Node.js, Cloud & Docker Rendering

Deployen Sie Rendervid überall: Browser-basiertes Rendering für Vorschauen, Node.js für serverseitige Stapelverarbeitung oder Cloud-Rendering auf AWS Lambda, Az...

18 Min. Lesezeit
Rendervid Deployment +3
json2video-mcp
json2video-mcp

json2video-mcp

Integrieren Sie FlowHunt mit dem json2video-mcp-Server, um die programmgesteuerte Videogenerierung zu automatisieren, benutzerdefinierte Vorlagen zu verwalten u...

4 Min. Lesezeit
AI Video Automation +3