
Sistema di Template Rendervid - Template JSON, Variabili, Animazioni e Transizioni
Guida completa al sistema di template Rendervid. Impara a creare template video JSON, utilizzare variabili dinamiche con la sintassi {{variabile}}, configurare ...

Esplora tutti i componenti Rendervid: 8 tipi di layer integrati (testo, immagine, video, forma, audio, gruppo, lottie, personalizzato), componenti React predefiniti, l’editor visuale di template e il player video. Crea componenti personalizzati con pieno supporto React.
Rendervid è costruito su un’architettura basata su componenti che rende la creazione di video modulare, estensibile e user-friendly per gli sviluppatori. Ogni elemento in un template Rendervid è un layer, e ogni layer ha un tipo specifico che determina come viene renderizzato. Con 8 tipi di layer integrati, una libreria crescente di componenti React predefiniti, un editor visuale di template e un player autonomo, Rendervid ti offre tutto ciò di cui hai bisogno per produrre contenuti video professionali in modo programmatico.
Questa pagina copre l’intero ecosistema dei componenti: dai tipi di layer primitivi come testo e forma, passando per la riproduzione audio e video, fino ai componenti React completamente personalizzati che sbloccano possibilità creative illimitate. Che tu stia costruendo una semplice scheda titolo o un’animazione complessa basata sui dati, comprendere questi componenti è il fondamento.
Ogni layer in un template Rendervid è definito come un oggetto JSON con un campo type. Il tipo determina le proprietà disponibili e il comportamento di rendering. Di seguito è riportato un riferimento dettagliato per ciascuno degli 8 tipi di layer integrati.
Il layer text è la primitiva più ricca di funzionalità in Rendervid. Renderizza testo stilizzato con pieno controllo su tipografia, allineamento, colore, effetti e animazione.
Proprietà tipografiche:
| Proprietà | Descrizione | Esempio |
|---|---|---|
fontSize | Dimensione del font in pixel | 48 |
fontFamily | Nome della famiglia di font | "Inter" |
fontWeight | Peso da 100 a 900 | 700 |
fontStyle | Normale o corsivo | "italic" |
Rendervid include oltre 100 Google Fonts integrati. Puoi utilizzare qualsiasi di essi specificando la proprietà fontFamily senza dover caricare fogli di stile esterni.
Proprietà di allineamento:
| Proprietà | Valori | Predefinito |
|---|---|---|
textAlign | left, center, right, justify | left |
verticalAlign | top, middle, bottom | top |
Stile ed effetti:
color e backgroundColor per la colorazione di basetextShadow per ombre proiettatetextStroke per testo con contornotextDecoration per sottolineato, barratotextTransform per maiuscolo, minuscolo, capitalizzamaxLines con troncamento automatico con ellissi{
"type": "text",
"text": "Benvenuto in 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)"
}
Per animazioni di testo avanzate come l’effetto macchina da scrivere, combina il layer testo con animazioni keyframe o utilizza il componente TypewriterEffect dedicato.
Il layer image visualizza immagini raster e vettoriali con opzioni flessibili di ridimensionamento e ritaglio.
Proprietà principali:
| Proprietà | Descrizione | Valori |
|---|---|---|
source | URL del file immagine | Qualsiasi URL valido |
fit | Come l’immagine riempie i suoi limiti | cover, contain, fill, none |
position | Punto di ancoraggio del ritaglio | Stile CSS object-position, es. "center top" |
Formati supportati: 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"
}
La proprietà fit funziona come object-fit CSS:
Il layer video incorpora clip video nella tua composizione con pieno controllo della riproduzione.
Proprietà principali:
| Proprietà | Descrizione | Predefinito |
|---|---|---|
source | URL del file video | richiesto |
startTime | Offset nel video sorgente (secondi) | 0 |
playbackRate | Moltiplicatore di velocità | 1 |
muted | Se l’audio è disattivato | false |
loop | Ripeti la clip video | 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
}
Usa startTime per saltare le intro o passare a un punto specifico nel filmato sorgente. Combina con playbackRate per effetti al rallentatore (0.5) o time-lapse (2.0).
Il layer shape disegna forme vettoriali con riempimenti, contorni, gradienti e angoli arrotondati.
Tipi di forma:
| Tipo | Descrizione |
|---|---|
rectangle | Rettangolo base con borderRadius opzionale |
ellipse | Cerchio o ovale |
polygon | Poligono regolare con lati configurabili |
star | Forma a stella con punti configurabili |
path | Dati percorso SVG personalizzati |
Proprietà di stile:
fill – colore solido o gradientestroke – colore del bordostrokeWidth – spessore del bordoborderRadius – angoli arrotondati per i rettangolilinear che radial{
"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
}
Per forme personalizzate, usa il tipo path con dati percorso SVG standard:
{
"type": "shape",
"shapeType": "path",
"path": "M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"fill": "#EC4899",
"stroke": "none"
}
Il layer audio aggiunge tracce audio alla tua composizione con controllo del volume, dissolvenza e una catena di effetti completa.
Proprietà principali:
| Proprietà | Descrizione | Predefinito |
|---|---|---|
source | URL del file audio | richiesto |
volume | Livello del volume (da 0 a 1) | 1 |
fadeIn | Durata della dissolvenza in entrata in secondi | 0 |
fadeOut | Durata della dissolvenza in uscita in secondi | 0 |
Catena di effetti audio:
Rendervid include una pipeline di elaborazione degli effetti integrata. Effetti disponibili:
{
"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
}
Gli effetti vengono elaborati in ordine, consentendoti di costruire sofisticate catene di elaborazione audio. Usa valori pan da -1 (completamente a sinistra) a 1 (completamente a destra) per il posizionamento stereo.
Il layer group è un contenitore che contiene layer figlio. Le trasformazioni applicate al gruppo influenzano tutti i figli, rendendo facile spostare, scalare, ruotare o animare composizioni complesse multi-layer come una singola unità.
Proprietà principali:
| Proprietà | Descrizione |
|---|---|
children | Array di oggetti layer figlio |
{
"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": "Titolo Scheda",
"x": 24,
"y": 24,
"fontSize": 28,
"fontWeight": 600,
"color": "#F8FAFC"
},
{
"type": "text",
"text": "Il testo descrittivo di supporto va qui.",
"x": 24,
"y": 64,
"fontSize": 16,
"color": "#94A3B8"
}
]
}
I gruppi sono inestimabili per organizzare template complessi. Usali per creare layout di schede riutilizzabili, lower-thirds, overlay e altri elementi compositi. Le coordinate dei figli sono relative alla posizione del gruppo.
Il layer lottie renderizza animazioni Lottie esportate da After Effects, Figma o altri strumenti di animazione.
Proprietà principali:
| Proprietà | Descrizione | Predefinito |
|---|---|---|
source | URL del file JSON Lottie | richiesto |
speed | Moltiplicatore di velocità di riproduzione | 1 |
direction | 1 per avanti, -1 per indietro | 1 |
loop | Se l’animazione si ripete | false |
startFrame | Primo frame da riprodurre | 0 |
endFrame | Ultimo frame da riprodurre | ultimo 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
}
I layer Lottie sono ideali per aggiungere motion graphics raffinati, icone, indicatori di caricamento e animazioni brandizzate senza scrivere codice frame per frame. Le proprietà startFrame e endFrame ti permettono di tagliare l’animazione per riprodurre solo un segmento specifico.
Il layer custom è il tipo di layer più potente in Rendervid. Ti permette di scrivere componenti React arbitrari che renderizzano frame per frame, dandoti il pieno controllo sull’output visuale.
Ci sono tre tipi di distribuzione per i componenti personalizzati:
Incorpora il codice JavaScript direttamente nel tuo template JSON. Ideale per componenti piccoli e autonomi.
{
"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"
}
}
Carica un componente da un URL esterno come una CDN. Ideale per componenti riutilizzabili condivisi tra template.
{
"type": "custom",
"deployment": {
"type": "url",
"url": "https://cdn.example.com/components/animated-counter.js"
},
"props": {
"startValue": 0,
"endValue": 1000,
"prefix": "$",
"color": "#10B981"
}
}
Usa un componente pre-registrato per nome. Ideale per componenti dal pacchetto @rendervid/components o registri personalizzati.
{
"type": "custom",
"deployment": {
"type": "reference",
"name": "AnimatedLineChart"
},
"props": {
"data": [10, 25, 40, 35, 60, 80, 72, 95],
"lineColor": "#6366F1",
"gradientOpacity": 0.3
}
}
Ogni componente personalizzato riceve un set standard di props:
| Prop | Tipo | Descrizione |
|---|---|---|
frame | number | Il numero del frame corrente (indicizzato da 0) |
fps | number | Frame al secondo della composizione |
sceneDuration | number | Durata della scena corrente in secondi |
layerSize | { width, height } | Dimensioni in pixel del layer |
props | object | Eventuali props personalizzate definite nel template |
I componenti personalizzati supportano anche la validazione dello schema per le props, assicurando che i template passino i tipi di dati corretti e i campi richiesti a ciascun componente.
Il pacchetto @rendervid/components include un set di componenti pronti per la produzione che puoi utilizzare immediatamente nei tuoi template.
Renderizza grafici a linee animati con riempimenti a gradiente fluidi, punti dati configurabili, etichette degli assi ed effetti di disegno animati. Ideale per contenuti video basati sui dati come report, dashboard e presentazioni.
Props principali: data, lineColor, gradientOpacity, strokeWidth, labels, animationStyle
Crea un affascinante effetto di aurora boreale usando gradienti stratificati e movimento fluido. Perfetto per sfondi atmosferici, sequenze di intro e visual ambientali.
Props principali: colors, speed, intensity, blur
Genera animazioni di onde fluide con colori, ampiezze e frequenze configurabili. Usalo per sfondi eleganti, visualizzatori musicali o contenuti a tema oceanico.
Props principali: waveCount, colors, amplitude, frequency, speed
Fornisce 17 tipi di transizione professionali per passare tra le scene. Include wipe, fade, zoom, slide e altro. Ogni transizione è precisa al frame e configurabile.
Props principali: transitionType, duration, direction, easing
Renderizza la rivelazione del testo carattere per carattere con un cursore lampeggiante. Supporta velocità di digitazione configurabile, stile del cursore e ritardo tra le parole. Ottimo per demo di codice, simulazioni di chat e rivelazioni di testo drammatiche.
Props principali: text, typingSpeed, cursorChar, cursorBlinkRate, startDelay
Costruire i tuoi componenti personalizzati è dove Rendervid brilla davvero. Qualsiasi effetto visuale che puoi creare con JavaScript e CSS può diventare un componente Rendervid.
Un componente personalizzato Rendervid è una funzione JavaScript standard che riceve props e restituisce un elemento React. La differenza chiave dai tipici componenti React è che il rendering è guidato dal frame piuttosto che dagli eventi.
function MyComponent({ frame, fps, sceneDuration, layerSize, props }) {
// Calcola il progresso dell'animazione (da 0 a 1)
const totalFrames = fps * sceneDuration;
const progress = frame / totalFrames;
// Usa il progresso per guidare le animazioni
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 || "Ciao, Rendervid!");
}
Ogni componente personalizzato riceve queste props standard:
fps per il conteggio totale dei frame.width e height in pixel, corrispondente alle dimensioni del layer definite nel template.Poiché i componenti Rendervid vengono eseguiti in un ambiente di rendering, utilizzano React.createElement() anziché JSX. Il pattern è semplice:
// Equivalente JSX: <div className="container"><span>Ciao</span></div>
React.createElement("div", { className: "container" },
React.createElement("span", null, "Ciao")
);
Puoi definire uno schema per le props del tuo componente per validare i dati al momento del caricamento del template:
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 },
};
Un componente di sistema di particelle che simula oltre 150 particelle con fisica:
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);
}
Un’animazione di conteggio numerico che interpola tra valori di inizio e fine:
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 || ""));
}
Per maggiori informazioni su come i componenti personalizzati si inseriscono nella struttura più ampia del template, consulta la documentazione del Sistema di Template .
Il pacchetto @rendervid/editor fornisce un editor visuale di template completo, consentendo sia a non sviluppatori che a sviluppatori di costruire template Rendervid senza scrivere JSON manualmente.
L’editor presenta una timeline multi-traccia dove ogni layer è rappresentato come un blocco che può essere trascinato, ridimensionato e riposizionato. Regola i tempi di inizio, le durate e l’ordinamento dei layer visivamente. Ingrandisci per la precisione a livello di frame o riduci per una panoramica ad alto livello.
Un pannello dedicato elenca tutti i layer nella composizione con riordinamento drag-and-drop, interruttori di visibilità, controlli di blocco e raggruppamento. Aggiungi nuovi layer da una palette di componenti che include tutti gli 8 tipi integrati e qualsiasi componente personalizzato registrato.
Seleziona qualsiasi layer per visualizzare e modificare le sue proprietà in un modulo strutturato. Il pannello delle proprietà si adatta al tipo di layer, mostrando solo i campi rilevanti. Selettori di colore, slider, menu a tendina e campi di testo rendono facile modificare ogni dettaglio. Le modifiche si riflettono immediatamente nell’anteprima.
Ogni modifica viene registrata in uno stack di cronologia con pieno supporto per annulla e ripristina. Naviga attraverso la tua cronologia di modifica con fiducia, sapendo che puoi sempre tornare a uno stato precedente.
L’editor include un componente Player incorporato che renderizza il template in tempo reale mentre apporti modifiche. Visualizza in anteprima la composizione completa in qualsiasi momento durante la modifica senza dover esportare o renderizzare.
Il pacchetto @rendervid/player fornisce un componente React autonomo per visualizzare in anteprima i template Rendervid nel browser.
Installa e incorpora il player in qualsiasi applicazione React:
import { Player } from "@rendervid/player";
function Preview({ template }) {
return (
<Player
template={template}
width={1920}
height={1080}
onComplete={() => console.log("Riproduzione terminata")}
/>
);
}
Il player supporta controlli da tastiera integrati per un’anteprima efficiente:
| Scorciatoia | Azione |
|---|---|
Spazio | Play / Pausa |
Freccia Sinistra | Torna indietro di un frame |
Freccia Destra | Avanza di un frame |
M | Attiva / Disattiva audio |
Regola la velocità di riproduzione da 0.25x (un quarto di velocità) a 4x (velocità quadrupla). La riproduzione al rallentatore è utile per rivedere le animazioni frame per frame, mentre l’avanzamento rapido aiuta a scansionare composizioni più lunghe.
Il player espone callback per il controllo programmatico:
| Callback | Descrizione |
|---|---|
onComplete | Attivato quando la riproduzione raggiunge la fine |
onFrameChange | Attivato ad ogni frame con il numero del frame corrente |
onPlayStateChange | Attivato quando lo stato play/pausa cambia |
Usa questi callback per sincronizzare il player con elementi UI esterni, analytics o esperienze interattive.
Questi componenti personalizzati di esempio dimostrano la gamma di ciò che è possibile con il tipo di layer personalizzato di Rendervid. Ognuno è costruito usando lo stesso pattern React.createElement() descritto sopra.
Un sistema di particelle basato sulla fisica con oltre 150 particelle, gravità configurabile, colore e raggio di esplosione. Le particelle si generano da un punto centrale e si muovono verso l’esterno con movimento realistico.

Pattern di onde reattivi all’audio che rispondono ai dati di frequenza. Più layer di onde con ampiezza, frequenza e colore configurabili creano un visual dinamico e organico.

Testo luminoso con effetti di luce neon animati, inclusi sfarfallio, pulsazione e ciclo di colori. Raggio di bagliore, colori e velocità di animazione personalizzabili.

Un’interfaccia olografica ispirata alla fantascienza con linee di scansione, letture di dati, overlay a griglia ed elementi UI animati. Ideale per video a tema tecnologico e intro futuristiche.

Un cubo CSS 3D accelerato hardware con facce testurizzate e rotazione fluida. Utilizza CSS perspective e transform3d per rendering 3D performante senza WebGL.

Un componente dashboard multi-grafico con grafici a barre animati, grafici a linee e contatori di statistiche. Basato sui dati e configurabile per report, presentazioni e storytelling dei dati.

Esempi aggiuntivi di componenti personalizzati includono:
Rendervid supporta 8 tipi di layer integrati: testo (tipografia ricca con oltre 100 font), immagine (con modalità cover/contain/fill), video (con controllo della riproduzione), forma (rettangoli, ellissi, poligoni, stelle, percorsi SVG), audio (con effetti di mixaggio), gruppo (per annidare layer), lottie (per animazioni Lottie) e personalizzato (per componenti React).
I componenti personalizzati possono essere distribuiti in tre modi: inline (codice JavaScript direttamente nel template JSON), basato su URL (caricato da una CDN) o come riferimenti pre-registrati. Ogni componente riceve le props frame, fps, sceneDuration e layerSize più eventuali props personalizzate definite. I componenti utilizzano React.createElement() per il rendering.
Rendervid include diversi componenti predefiniti nel pacchetto @rendervid/components: AnimatedLineChart per la visualizzazione dei dati, AuroraBackground per effetti di aurora boreale, WaveBackground per animazioni fluide, SceneTransition per 17 transizioni professionali e TypewriterEffect per la rivelazione del testo carattere per carattere.
Sì, il pacchetto @rendervid/editor fornisce un editor visuale completo di template con editing basato su timeline, gestione dei layer, un pannello delle proprietà per modificare le proprietà dei layer, cronologia annulla/ripristina e anteprima in tempo reale. Il pacchetto @rendervid/player fornisce un componente player autonomo per visualizzare in anteprima i template.
Assolutamente. Puoi scrivere componenti React personalizzati che renderizzano animazioni frame per frame. I componenti ricevono il numero del frame corrente, fps, durata della scena e dimensione del layer, dandoti il pieno controllo su animazioni procedurali, simulazioni fisiche, visualizzazioni di dati, sistemi di particelle e altro ancora.
Aiutiamo aziende come la tua a sviluppare chatbot intelligenti, server MCP, strumenti AI o altri tipi di automazione AI per sostituire l'uomo in compiti ripetitivi nella tua organizzazione.

Guida completa al sistema di template Rendervid. Impara a creare template video JSON, utilizzare variabili dinamiche con la sintassi {{variabile}}, configurare ...

Distribuisci Rendervid ovunque: rendering basato su browser per anteprime, Node.js per elaborazione batch lato server, o rendering cloud su AWS Lambda, Azure Fu...

Scopri come integrare Rendervid con agenti AI utilizzando MCP (Model Context Protocol). Genera video da prompt in linguaggio naturale con Claude Code, Cursor, W...