
Rendervid Sjabloonsysteem - JSON Sjablonen, Variabelen, Animaties & Overgangen
Volledige gids voor het Rendervid sjabloonsysteem. Leer hoe je JSON video sjablonen maakt, dynamische variabelen gebruikt met {{variable}} syntax, 40+ animatie ...

Ontdek alle Rendervid componenten: 8 ingebouwde laagtypen (tekst, afbeelding, video, vorm, audio, groep, lottie, aangepast), kant-en-klare React componenten, de visuele sjabloon editor en de video player. Creëer aangepaste componenten met volledige React ondersteuning.
Rendervid is gebouwd op een component-gebaseerde architectuur die videocreatie modulair, uitbreidbaar en ontwikkelaarsvriendelijk maakt. Elk element in een Rendervid sjabloon is een laag, en elke laag heeft een specifiek type dat bepaalt hoe deze wordt gerenderd. Met 8 ingebouwde laagtypen, een groeiende bibliotheek van kant-en-klare React componenten, een visuele sjabloon editor en een standalone player, geeft Rendervid u alles wat u nodig heeft om professionele video-inhoud programmatisch te produceren.
Deze pagina behandelt het volledige component ecosysteem: van primitieve laagtypen zoals tekst en vorm, via audio en video afspelen, tot volledig aangepaste React componenten die onbeperkte creatieve mogelijkheden ontsluiten. Of u nu een eenvoudige titelkaart of een complexe datagestuurde animatie maakt, het begrijpen van deze componenten is de basis.
Elke laag in een Rendervid sjabloon wordt gedefinieerd als een JSON object met een type veld. Het type bepaalt de beschikbare eigenschappen en rendergedrag. Hieronder vindt u een gedetailleerde referentie voor elk van de 8 ingebouwde laagtypen.
De text laag is de meest feature-rijke primitieve in Rendervid. Het rendert gestileerde tekst met volledige controle over typografie, uitlijning, kleur, effecten en animatie.
Typografie eigenschappen:
| Eigenschap | Beschrijving | Voorbeeld |
|---|---|---|
fontSize | Lettergrootte in pixels | 48 |
fontFamily | Lettertype familienaam | "Inter" |
fontWeight | Gewicht van 100 tot 900 | 700 |
fontStyle | Normaal of cursief | "italic" |
Rendervid wordt geleverd met 100+ Google Fonts ingebouwd. U kunt elk van hen gebruiken door de fontFamily eigenschap op te geven zonder externe stylesheets te hoeven laden.
Uitlijning eigenschappen:
| Eigenschap | Waarden | Standaard |
|---|---|---|
textAlign | left, center, right, justify | left |
verticalAlign | top, middle, bottom | top |
Styling en effecten:
color en backgroundColor voor basis kleuringtextShadow voor slagschaduwentextStroke voor omlijnd teksttextDecoration voor onderstreping, doorhalingtextTransform voor hoofdletters, kleine letters, kapitaliserenmaxLines met automatische ellipsis afkapping{
"type": "text",
"text": "Welkom bij Rendervid",
"x": 100,
"y": 200,
"width": 800,
"height": 100,
"fontSize": 64,
"fontFamily": "Montserrat",
"fontWeight": 700,
"color": "#FFFFFF",
"textAlign": "center",
"verticalAlign": "middle",
"textShadow": "2px 2px 8px rgba(0,0,0,0.5)"
}
Voor geavanceerde tekstanimaties zoals het typewriter effect, combineer de tekstlaag met keyframe animaties of gebruik de speciale TypewriterEffect component .
De image laag toont raster- en vectorafbeeldingen met flexibele grootte- en bijsnijdopties.
Belangrijkste eigenschappen:
| Eigenschap | Beschrijving | Waarden |
|---|---|---|
source | URL naar het afbeeldingsbestand | Elke geldige URL |
fit | Hoe de afbeelding zijn grenzen vult | cover, contain, fill, none |
position | Bijsnijd ankerpunt | CSS-stijl object-position, bijv. "center top" |
Ondersteunde formaten: PNG, JPEG, WebP, SVG, GIF
{
"type": "image",
"source": "https://example.com/hero-banner.png",
"x": 0,
"y": 0,
"width": 1920,
"height": 1080,
"fit": "cover",
"position": "center center"
}
De fit eigenschap werkt zoals CSS object-fit:
De video laag embedt videoclips in uw compositie met volledige afspeelbesturing.
Belangrijkste eigenschappen:
| Eigenschap | Beschrijving | Standaard |
|---|---|---|
source | URL naar het videobestand | verplicht |
startTime | Offset in de bronvideo (seconden) | 0 |
playbackRate | Snelheidsmultiplicator | 1 |
muted | Of audio is gedempt | false |
loop | Loop de videoclip | false |
{
"type": "video",
"source": "https://cdn.example.com/background-clip.mp4",
"x": 0,
"y": 0,
"width": 1920,
"height": 1080,
"startTime": 5.0,
"playbackRate": 1.0,
"muted": true,
"loop": true
}
Gebruik startTime om intro’s over te slaan of naar een specifiek punt in de bronopname te springen. Combineer met playbackRate voor slow-motion (0.5) of time-lapse (2.0) effecten.
De shape laag tekent vectorvormen met vullingen, streken, gradiënten en afgeronde hoeken.
Vormtypen:
| Type | Beschrijving |
|---|---|
rectangle | Basis rechthoek met optionele borderRadius |
ellipse | Cirkel of ovaal |
polygon | Regelmatige veelhoek met configureerbare zijden |
star | Stervorm met configureerbare punten |
path | Aangepaste SVG pad data |
Styling eigenschappen:
fill – effen kleur of gradiëntstroke – randkleurstrokeWidth – randdikteborderRadius – afgeronde hoeken voor rechthoekenlinear als radial gradiëntvullingen{
"type": "shape",
"shapeType": "rectangle",
"x": 100,
"y": 100,
"width": 400,
"height": 300,
"borderRadius": 16,
"fill": {
"type": "linear",
"colors": ["#6366F1", "#8B5CF6"],
"angle": 135
},
"stroke": "#FFFFFF",
"strokeWidth": 2
}
Voor aangepaste vormen, gebruik het path type met standaard SVG pad data:
{
"type": "shape",
"shapeType": "path",
"path": "M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"fill": "#EC4899",
"stroke": "none"
}
De audio laag voegt audiotracks toe aan uw compositie met volumebesturing, fading en een volledige effectenketen.
Belangrijkste eigenschappen:
| Eigenschap | Beschrijving | Standaard |
|---|---|---|
source | URL naar het audiobestand | verplicht |
volume | Volumeniveau (0 tot 1) | 1 |
fadeIn | Fade-in duur in seconden | 0 |
fadeOut | Fade-out duur in seconden | 0 |
Audio effectenketen:
Rendervid bevat een ingebouwde effectenverwerkingspijplijn. Beschikbare effecten:
{
"type": "audio",
"source": "https://cdn.example.com/background-music.mp3",
"volume": 0.7,
"fadeIn": 2.0,
"fadeOut": 3.0,
"effects": [
{ "type": "highpass", "frequency": 200 },
{ "type": "compressor", "threshold": -24, "ratio": 4 },
{ "type": "reverb", "wet": 0.3, "decay": 2.5 },
{ "type": "gain", "value": 0.8 }
],
"pan": -0.3
}
De effecten worden op volgorde verwerkt, waardoor u geavanceerde audioverwerkingsketens kunt bouwen. Gebruik pan waarden van -1 (volledig links) tot 1 (volledig rechts) voor stereopositionering.
De group laag is een container die onderliggende lagen bevat. Transformaties die op de groep worden toegepast, beïnvloeden alle kinderen, waardoor het gemakkelijk is om complexe meerlaagse composities als één geheel te verplaatsen, schalen, roteren of animeren.
Belangrijkste eigenschappen:
| Eigenschap | Beschrijving |
|---|---|
children | Array van onderliggende laagobjecten |
{
"type": "group",
"x": 200,
"y": 150,
"rotation": 5,
"opacity": 0.9,
"children": [
{
"type": "shape",
"shapeType": "rectangle",
"x": 0,
"y": 0,
"width": 500,
"height": 300,
"fill": "#1E293B",
"borderRadius": 12
},
{
"type": "text",
"text": "Kaart Titel",
"x": 24,
"y": 24,
"fontSize": 28,
"fontWeight": 600,
"color": "#F8FAFC"
},
{
"type": "text",
"text": "Ondersteunende beschrijvingstekst komt hier.",
"x": 24,
"y": 64,
"fontSize": 16,
"color": "#94A3B8"
}
]
}
Groepen zijn van onschatbare waarde voor het organiseren van complexe sjablonen. Gebruik ze om herbruikbare kaartlay-outs, lower-thirds, overlays en andere samengestelde elementen te creëren. De coördinaten van de kinderen zijn relatief ten opzichte van de positie van de groep.
De lottie laag rendert Lottie animaties geëxporteerd vanuit After Effects, Figma of andere animatietools.
Belangrijkste eigenschappen:
| Eigenschap | Beschrijving | Standaard |
|---|---|---|
source | URL naar het Lottie JSON bestand | verplicht |
speed | Afspeelsnelheidsmultiplicator | 1 |
direction | 1 voor vooruit, -1 voor achteruit | 1 |
loop | Of de animatie loopt | false |
startFrame | Eerste frame om af te spelen | 0 |
endFrame | Laatste frame om af te spelen | laatste frame |
{
"type": "lottie",
"source": "https://cdn.example.com/loading-spinner.json",
"x": 860,
"y": 440,
"width": 200,
"height": 200,
"speed": 1.5,
"loop": true,
"startFrame": 0,
"endFrame": 60
}
Lottie lagen zijn ideaal voor het toevoegen van gepolijste motion graphics, iconen, laadindicatoren en merkanimaties zonder frame-voor-frame code te schrijven. De startFrame en endFrame eigenschappen laten u de animatie knippen om alleen een specifiek segment af te spelen.
De custom laag is het krachtigste laagtype in Rendervid. Het laat u willekeurige React componenten schrijven die frame-voor-frame renderen, waardoor u volledige controle heeft over de visuele uitvoer.
Er zijn drie implementatietypen voor aangepaste componenten:
Embed JavaScript code direct in uw JSON sjabloon. Het beste voor kleine, op zichzelf staande componenten.
{
"type": "custom",
"deployment": {
"type": "inline",
"code": "function Component({ frame, fps, sceneDuration, layerSize, props }) { const progress = frame / (fps * sceneDuration); const size = 50 + progress * 100; return React.createElement('div', { style: { width: size, height: size, borderRadius: '50%', backgroundColor: props.color || '#6366F1', display: 'flex', alignItems: 'center', justifyContent: 'center' } }); }"
},
"props": {
"color": "#EC4899"
}
}
Laad een component vanaf een externe URL zoals een CDN. Het beste voor herbruikbare componenten die worden gedeeld tussen sjablonen.
{
"type": "custom",
"deployment": {
"type": "url",
"url": "https://cdn.example.com/components/animated-counter.js"
},
"props": {
"startValue": 0,
"endValue": 1000,
"prefix": "$",
"color": "#10B981"
}
}
Gebruik een vooraf geregistreerd component op naam. Het beste voor componenten uit het @rendervid/components pakket of aangepaste registers.
{
"type": "custom",
"deployment": {
"type": "reference",
"name": "AnimatedLineChart"
},
"props": {
"data": [10, 25, 40, 35, 60, 80, 72, 95],
"lineColor": "#6366F1",
"gradientOpacity": 0.3
}
}
Elke aangepaste component ontvangt een standaardset props:
| Prop | Type | Beschrijving |
|---|---|---|
frame | number | Het huidige framenummer (0-geïndexeerd) |
fps | number | Frames per seconde van de compositie |
sceneDuration | number | Duur van de huidige scène in seconden |
layerSize | { width, height } | Pixelafmetingen van de laag |
props | object | Eventuele aangepaste props gedefinieerd in de sjabloon |
Aangepaste componenten ondersteunen ook schema validatie voor props, wat ervoor zorgt dat sjablonen de juiste datatypes en verplichte velden aan elke component doorgeven.
Het @rendervid/components pakket wordt geleverd met een set productie-klare componenten die u onmiddellijk in uw sjablonen kunt gebruiken.
Rendert geanimeerde lijngrafieken met vloeiende gradiëntvullingen, configureerbare datapunten, aslabels en geanimeerde inteken-effecten. Ideaal voor datagestuurde video-inhoud zoals rapporten, dashboards en presentaties.
Belangrijkste props: data, lineColor, gradientOpacity, strokeWidth, labels, animationStyle
Creëert een betoverend noorderlicht (aurora borealis) effect met gelaagde gradiënten en vloeiende beweging. Perfect voor sfeervolle achtergronden, intro sequenties en ambient visuals.
Belangrijkste props: colors, speed, intensity, blur
Genereert vloeiende golfanimaties met configureerbare kleuren, amplitudes en frequenties. Gebruik het voor stijlvolle achtergronden, muziek visualizers of oceaan-thema inhoud.
Belangrijkste props: waveCount, colors, amplitude, frequency, speed
Biedt 17 professionele overgangstypen voor beweging tussen scènes. Omvat wipes, fades, zooms, slides en meer. Elke overgang is frame-nauwkeurig en configureerbaar.
Belangrijkste props: transitionType, duration, direction, easing
Rendert karakter-voor-karakter tekst onthulling met een knipperende cursor. Ondersteunt configureerbare typsnelheid, cursorstijl en vertraging tussen woorden. Geweldig voor code demo’s, chat simulaties en dramatische tekst onthullingen.
Belangrijkste props: text, typingSpeed, cursorChar, cursorBlinkRate, startDelay
Het bouwen van uw eigen aangepaste componenten is waar Rendervid echt schittert. Elk visueel effect dat u kunt creëren met JavaScript en CSS kan een Rendervid component worden.
Een Rendervid aangepaste component is een standaard JavaScript functie die props ontvangt en een React element retourneert. Het belangrijkste verschil met typische React componenten is dat rendering frame-gedreven is in plaats van event-gedreven.
function MyComponent({ frame, fps, sceneDuration, layerSize, props }) {
// Bereken animatievoortgang (0 tot 1)
const totalFrames = fps * sceneDuration;
const progress = frame / totalFrames;
// Gebruik voortgang om animaties aan te sturen
const opacity = Math.min(progress * 2, 1);
const scale = 0.5 + progress * 0.5;
return React.createElement("div", {
style: {
width: layerSize.width,
height: layerSize.height,
opacity: opacity,
transform: `scale(${scale})`,
display: "flex",
alignItems: "center",
justifyContent: "center",
color: props.color || "#FFFFFF",
fontSize: props.fontSize || 48,
fontWeight: 700,
},
}, props.text || "Hallo, Rendervid!");
}
Elke aangepaste component ontvangt deze standaard props:
fps voor totaal aantal frames.width en height in pixels, overeenkomend met de laagdimensies gedefinieerd in de sjabloon.Omdat Rendervid componenten in een renderomgeving draaien, gebruiken ze React.createElement() in plaats van JSX. Het patroon is eenvoudig:
// JSX equivalent: <div className="container"><span>Hallo</span></div>
React.createElement("div", { className: "container" },
React.createElement("span", null, "Hallo")
);
U kunt een schema definiëren voor de props van uw component om data te valideren bij het laden van de sjabloon:
MyComponent.schema = {
text: { type: "string", required: true },
color: { type: "string", default: "#FFFFFF" },
fontSize: { type: "number", default: 48, min: 8, max: 200 },
animate: { type: "boolean", default: true },
};
Een deeltjessysteem component dat 150+ deeltjes simuleert met fysica:
function ParticleExplosion({ frame, fps, sceneDuration, layerSize, props }) {
const particleCount = props.particleCount || 150;
const gravity = props.gravity || 0.5;
const time = frame / fps;
const particles = [];
for (let i = 0; i < particleCount; i++) {
const angle = (i / particleCount) * Math.PI * 2;
const speed = 2 + Math.random() * 4;
const x = layerSize.width / 2 + Math.cos(angle) * speed * time * 60;
const y = layerSize.height / 2 + Math.sin(angle) * speed * time * 60
+ gravity * time * time * 100;
const opacity = Math.max(0, 1 - time / sceneDuration);
const size = 3 + Math.random() * 5;
particles.push(
React.createElement("div", {
key: i,
style: {
position: "absolute",
left: x,
top: y,
width: size,
height: size,
borderRadius: "50%",
backgroundColor: props.color || "#F59E0B",
opacity: opacity,
},
})
);
}
return React.createElement("div", {
style: {
position: "relative",
width: layerSize.width,
height: layerSize.height,
overflow: "hidden",
},
}, ...particles);
}
Een nummer tel animatie die interpoleert tussen start- en eindwaarden:
function AnimatedCounter({ frame, fps, sceneDuration, layerSize, props }) {
const progress = Math.min(frame / (fps * sceneDuration), 1);
const eased = 1 - Math.pow(1 - progress, 3); // ease-out cubic
const value = Math.round(
props.startValue + (props.endValue - props.startValue) * eased
);
const formatted = value.toLocaleString();
return React.createElement("div", {
style: {
width: layerSize.width,
height: layerSize.height,
display: "flex",
alignItems: "center",
justifyContent: "center",
fontSize: props.fontSize || 72,
fontWeight: 800,
color: props.color || "#FFFFFF",
fontFamily: "Inter, sans-serif",
},
}, (props.prefix || "") + formatted + (props.suffix || ""));
}
Voor meer over hoe aangepaste componenten passen in de bredere sjabloonstructuur, zie de Template System documentatie .
Het @rendervid/editor pakket biedt een volledig uitgeruste visuele sjabloon editor, waardoor zowel niet-ontwikkelaars als ontwikkelaars Rendervid sjablonen kunnen bouwen zonder handmatig JSON te schrijven.
De editor beschikt over een multi-track tijdlijn waar elke laag wordt weergegeven als een blok dat kan worden gesleept, vergroot/verkleind en geherpositioneerd. Pas starttijden, duur en laagvolgorde visueel aan. Zoom in voor frame-niveau precisie of zoom uit voor een overzicht op hoog niveau.
Een speciaal paneel toont alle lagen in de compositie met drag-and-drop herschikking, zichtbaarheidsschakelaars, vergrendelingsbesturingen en groepering. Voeg nieuwe lagen toe vanuit een componentpalet dat alle 8 ingebouwde typen en eventuele geregistreerde aangepaste componenten bevat.
Selecteer een laag om zijn eigenschappen te bekijken en bewerken in een gestructureerd formulier. Het eigenschappenpaneel past zich aan het laagtype aan en toont alleen relevante velden. Kleurkiezers, schuifregelaars, dropdowns en tekstinvoer maken het gemakkelijk om elk detail aan te passen. Wijzigingen worden onmiddellijk weergegeven in het voorbeeld.
Elke wijziging wordt opgenomen in een geschiedenisstapel met volledige ondersteuning voor ongedaan maken en opnieuw doen. Navigeer vol vertrouwen door uw bewerkingsgeschiedenis, wetende dat u altijd kunt terugkeren naar een eerdere staat.
De editor bevat een ingebedde Player component die de sjabloon in realtime rendert terwijl u wijzigingen aanbrengt. Bekijk een voorbeeld van de volledige compositie op elk moment tijdens het bewerken zonder te hoeven exporteren of renderen.
Het @rendervid/player pakket biedt een standalone React component voor het voorvertonen van Rendervid sjablonen in de browser.
Installeer en embed de player in elke React applicatie:
import { Player } from "@rendervid/player";
function Preview({ template }) {
return (
<Player
template={template}
width={1920}
height={1080}
onComplete={() => console.log("Afspelen voltooid")}
/>
);
}
De player ondersteunt ingebouwde toetsenbordbesturingen voor efficiënt voorvertonen:
| Sneltoets | Actie |
|---|---|
Spatie | Afspelen / Pauzeren |
Pijl Links | Stap één frame terug |
Pijl Rechts | Stap één frame vooruit |
M | Audio dempen / Dempen opheffen |
Pas de afspeelsnelheid aan van 0.25x (kwart snelheid) tot 4x (viervoudige snelheid). Slow-motion afspelen is nuttig voor het frame voor frame beoordelen van animaties, terwijl vooruit spoelen helpt bij het scannen door langere composities.
De player biedt callbacks voor programmatische besturing:
| Callback | Beschrijving |
|---|---|
onComplete | Wordt afgevuurd wanneer afspelen het einde bereikt |
onFrameChange | Wordt afgevuurd op elk frame met het huidige framenummer |
onPlayStateChange | Wordt afgevuurd wanneer de afspeel/pauze status verandert |
Gebruik deze callbacks om de player te synchroniseren met externe UI elementen, analytics of interactieve ervaringen.
Deze voorbeeld aangepaste componenten demonstreren de reikwijdte van wat mogelijk is met Rendervid’s aangepaste laagtype. Elk is gebouwd met hetzelfde React.createElement() patroon zoals hierboven beschreven.
Een fysica-gebaseerd deeltjessysteem met 150+ deeltjes, configureerbare zwaartekracht, kleur en explosieradius. Deeltjes spawnen vanaf een centraal punt en bogen naar buiten met realistische beweging.

Audio-reactieve golfpatronen die reageren op frequentiedata. Meerdere golflagen met configureerbare amplitude, frequentie en kleur creëren een dynamische, organische visual.

Gloeiende tekst met geanimeerde neonlicht effecten, inclusief flikkering, pulseren en kleur cycling. Aanpasbare gloed radius, kleuren en animatiesnelheid.

Een sci-fi geïnspireerde holografische UI met scanlijnen, data uitlezingen, raster overlays en geanimeerde UI elementen. Ideaal voor tech-thema video’s en futuristische intro’s.

Een hardware-versnelde CSS 3D kubus met getextureerde vlakken en vloeiende rotatie. Gebruikt CSS perspective en transform3d voor performante 3D rendering zonder WebGL.

Een multi-chart dashboard component met geanimeerde staafdiagrammen, lijngrafieken en statistiek tellers. Data-gedreven en configureerbaar voor rapporten, presentaties en data storytelling.

Aanvullende aangepaste component voorbeelden omvatten:
Rendervid ondersteunt 8 ingebouwde laagtypen: tekst (rijke typografie met 100+ lettertypen), afbeelding (met cover/contain/fill modi), video (met afspeelbesturing), vorm (rechthoeken, ellipsen, veelhoeken, sterren, SVG paden), audio (met mengeffecten), groep (voor geneste lagen), lottie (voor Lottie animaties), en aangepast (voor React componenten).
Aangepaste componenten kunnen op drie manieren worden ingezet: inline (JavaScript code direct in de JSON sjabloon), URL-gebaseerd (geladen vanaf een CDN), of als vooraf geregistreerde referenties. Elke component ontvangt frame, fps, sceneDuration en layerSize props plus eventuele aangepaste props die u definieert. Componenten gebruiken React.createElement() voor rendering.
Rendervid bevat verschillende kant-en-klare componenten in het @rendervid/components pakket: AnimatedLineChart voor datavisualisatie, AuroraBackground voor noorderlicht effecten, WaveBackground voor vloeiende animaties, SceneTransition voor 17 professionele overgangen, en TypewriterEffect voor karakter-voor-karakter tekst onthulling.
Ja, het @rendervid/editor pakket biedt een volledige visuele sjabloon editor met tijdlijn-gebaseerde bewerking, laagbeheer, een eigenschappenpaneel voor het bewerken van laageigenschappen, ongedaan maken/opnieuw doen geschiedenis, en realtime voorbeeld. Het @rendervid/player pakket biedt een standalone player component voor het voorvertonen van sjablonen.
Absoluut. U kunt aangepaste React componenten schrijven die frame-voor-frame animaties renderen. Componenten ontvangen het huidige framenummer, fps, scèneduur en laaggrootte, wat u volledige controle geeft over procedurele animaties, fysica simulaties, datavisualisaties, deeltjessystemen en meer.
Wij helpen bedrijven zoals die van u bij het ontwikkelen van slimme chatbots, MCP-servers, AI-tools of andere soorten AI-automatisering om mensen te vervangen bij repetitieve taken in uw organisatie.

Volledige gids voor het Rendervid sjabloonsysteem. Leer hoe je JSON video sjablonen maakt, dynamische variabelen gebruikt met {{variable}} syntax, 40+ animatie ...

Implementeer Rendervid overal: browser-gebaseerde rendering voor voorbeelden, Node.js voor server-side batch verwerking, of cloud rendering op AWS Lambda, Azure...

Ontdek Rendervid, het gratis open-source alternatief voor Remotion voor programmatische videogeneratie. AI-first ontwerp met MCP-integratie, JSON-templates, clo...