System Szablonów Rendervid - Szablony JSON, Zmienne, Animacje i Przejścia

Rendervid Video Rendering Templates Open Source

Rendervid to programatyczny silnik renderowania wideo zbudowany wokół deklaratywnego systemu szablonów opartego na JSON. Zamiast ręcznie edytować wideo na osi czasu, definiujesz każdy aspekt swojego wideo – sceny, warstwy, animacje, przejścia i ustawienia wyjściowe – w pojedynczym dokumencie JSON. To podejście sprawia, że szablony są bezstanowe, kontrolowalne wersjonowo i możliwe do wygenerowania maszynowo, otwierając drzwi do produkcji wideo opartej na AI, potoków renderowania wsadowego i w pełni zautomatyzowanych przepływów pracy związanych z treścią.

Ten przewodnik obejmuje kompletny system szablonów Rendervid od góry do dołu: konfigurację na poziomie głównym, ustawienia wyjściowe, system zmiennych i wejść, sceny i kompozycję, wszystkie osiem typów warstw, ponad 40 presetów animacji, ponad 30 funkcji wygładzania, 17 przejść między scenami, efekty wizualne, konfigurację czcionek i formaty wyjściowe.


Przegląd Struktury Szablonu

Każdy szablon Rendervid to obiekt JSON z dobrze zdefiniowanym zestawem pól na poziomie głównym. Oto szkielet kompletnego szablonu:

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

Pola Poziomu Głównego

PoleTypWymaganeOpis
namestringTakCzytelny dla człowieka identyfikator szablonu
outputobjectTakKonfiguracja wyjścia wideo lub obrazu (wymiary, fps, czas trwania, format)
inputsarrayNieDefinicje wejść dynamicznych dla zmiennych szablonu
compositionobjectTakZawiera tablicę scenes, która definiuje całą zawartość wizualną
fontsobjectNieDeklaracje Google Fonts i niestandardowych czcionek
customComponentsobjectNieZarejestrowane niestandardowe komponenty warstw
defaultsobjectNieWartości domyślne stosowane do wszystkich warstw, chyba że zostaną nadpisane

Pole name służy celom organizacyjnym – nie wpływa na renderowanie. Pola output i composition to dwa filary, które musi mieć każdy szablon. Wszystko inne jest opcjonalne, ale odblokowuje potężne możliwości.


Konfiguracja Wyjścia

Obiekt output kontroluje ostateczny wyrenderowany plik: jego format, wymiary, częstotliwość klatek, czas trwania i kolor tła.

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

Pola Wyjścia

PoleTypDomyślnieOpis
typestring"video"Typ wyjścia: "video" lub "image"
widthnumber1920Szerokość w pikselach (do 7680 dla 8K)
heightnumber1080Wysokość w pikselach (do 4320 dla 8K)
fpsnumber30Klatki na sekundę (1-120)
durationnumberCałkowity czas trwania w sekundach
backgroundColorstring"#000000"Kolor tła jako hex, RGB lub nazwany kolor

Popularne Presety

Oto konfiguracje wyjściowe dla popularnych formatów:

1080p Full HD (YouTube, ogólne zastosowanie):

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

Instagram Reels / TikTok (9:16 pionowo):

{
  "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 / Obraz Udostępniania Społecznościowego:

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

Dla wyjścia obrazu fps i duration są ignorowane – renderer przechwytuje pojedynczą klatkę.


Zmienne Szablonu i Wejścia

System wejść i zmiennych sprawia, że szablony Rendervid są wielokrotnego użytku. Zamiast kodować na sztywno tekst, kolory lub adresy URL w szablonie, definiujesz wejścia i odwołujesz się do nich za pomocą składni {{nazwaZmiennej}} w dowolnym miejscu szablonu.

Definiowanie Wejść

Wejścia są deklarowane w tablicy inputs najwyższego poziomu. Każdy obiekt wejściowy opisuje pojedynczą zmienną:

{
  "inputs": [
    {
      "key": "title",
      "type": "string",
      "label": "Tytuł",
      "description": "Główny tekst tytułu wyświetlany w scenie intro",
      "required": true,
      "default": "Hello World"
    },
    {
      "key": "brandColor",
      "type": "color",
      "label": "Kolor Marki",
      "description": "Główny kolor marki używany dla tła i akcentów",
      "required": false,
      "default": "#FF5733"
    },
    {
      "key": "showSubtitle",
      "type": "boolean",
      "label": "Pokaż Podtytuł",
      "description": "Przełącz widoczność podtytułu",
      "required": false,
      "default": true
    }
  ]
}

Referencja Pól Wejściowych

PoleTypWymaganeOpis
keystringTakUnikalny identyfikator używany w odwołaniach {{key}}
typestringTakTyp danych: string, number, boolean, color, url, array
labelstringNieCzytelna dla człowieka etykieta do renderowania UI
descriptionstringNieWyjaśnienie, co kontroluje to wejście
requiredbooleanNieCzy wejście musi być dostarczone w czasie renderowania
defaultanyNieWartość zastępcza, jeśli nie dostarczono wejścia

Typy Wejść

  • string – Dowolny tekst. Używaj dla tytułów, opisów, podpisów lub dowolnej zawartości tekstowej.
  • number – Wartości liczbowe. Używaj dla czasów trwania, rozmiarów, pozycji, poziomów przezroczystości lub liczników.
  • boolean – Przełączniki prawda/fałsz. Używaj dla warunkowej widoczności, flag funkcji lub przełączników włącz/wyłącz.
  • color – Wartości kolorów w formacie hex (#FF5733), RGB (rgb(255,87,51)) lub nazwanym. Używaj dla tła, kolorów tekstu i akcentów.
  • url – Prawidłowe ciągi URL. Używaj dla źródeł obrazów, źródeł wideo, linków i adresów URL czcionek.
  • array – Listy wartości. Używaj dla galerii obrazów, list tekstowych, zawartości slajdów lub dowolnych powtarzających się danych.

Używanie Zmiennych w Szablonie

Po zdefiniowaniu wejść odwołuj się do nich w dowolnym miejscu szablonu za pomocą podwójnych nawiasów klamrowych:

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

Zmienne są rozwiązywane w czasie renderowania. Gdy wywołujesz API lub CLI Rendervid, przekazujesz rzeczywiste wartości:

{
  "title": "Letnia Wyprzedaż 2026",
  "brandColor": "#E63946",
  "titleSize": 72
}

Pełny Przykład Wejść

Oto kompletny szablon z wieloma typami wejść współpracującymi ze sobą:

{
  "name": "product-promo",
  "output": {
    "type": "video",
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "duration": 15
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Nazwa Produktu",
      "description": "Nazwa promowanego produktu",
      "required": true,
      "default": "Produkt"
    },
    {
      "key": "price",
      "type": "number",
      "label": "Cena",
      "description": "Cena produktu wyświetlana w wideo",
      "required": true,
      "default": 29.99
    },
    {
      "key": "productImage",
      "type": "url",
      "label": "URL Obrazu Produktu",
      "description": "URL do obrazu produktu",
      "required": true
    },
    {
      "key": "accentColor",
      "type": "color",
      "label": "Kolor Akcentu",
      "description": "Kolor używany dla przycisków CTA i podświetleń",
      "required": false,
      "default": "#FF6B35"
    },
    {
      "key": "showBadge",
      "type": "boolean",
      "label": "Pokaż Odznakę Wyprzedaży",
      "description": "Czy wyświetlić nakładkę odznaki wyprzedaży",
      "required": false,
      "default": false
    },
    {
      "key": "features",
      "type": "array",
      "label": "Cechy Produktu",
      "description": "Lista punktów wypunktowanych cech",
      "required": false,
      "default": ["Cecha 1", "Cecha 2", "Cecha 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 }
          }
        ]
      }
    ]
  }
}

Ten pojedynczy szablon może wygenerować tysiące unikalnych wideo produktowych, po prostu zmieniając wartości wejściowe w czasie renderowania – nie są potrzebne żadne modyfikacje szablonu.


Sceny i Kompozycja

Obiekt composition to miejsce, w którym znajduje się zawartość Twojego wideo. Zawiera tablicę scenes, a każda scena reprezentuje odrębny segment wideo z własnym czasem trwania, warstwami i przejściem.

{
  "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": [ ... ]
      }
    ]
  }
}

Pola Sceny

PoleTypWymaganeOpis
namestringNieIdentyfikator sceny (dla czytelności i debugowania)
durationnumberTakDługość sceny w sekundach
transitionobjectNieEfekt przejścia przy wchodzeniu do tej sceny z poprzedniej
layersarrayTakUporządkowana tablica obiektów warstw renderowanych od dołu do góry

Sceny odtwarzają się sekwencyjnie. Całkowity czas trwania wideo to suma wszystkich czasów trwania scen (minus ewentualne nakładanie się przejść). Warstwy w scenie są renderowane w kolejności tablicy – pierwsza warstwa znajduje się na dole stosu wizualnego, a ostatnia warstwa na górze.

Jeśli nie określono przejścia, scena domyślnie używa twardego cut.


System Warstw

Rendervid obsługuje osiem różnych typów warstw. Każdy typ warstwy służy określonemu celowi i akceptuje własny zestaw właściwości oprócz wspólnej konfiguracji bazowej.

Wspólne Właściwości Warstw

Każda warstwa, niezależnie od typu, obsługuje te podstawowe właściwości:

{
  "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": ""
}
WłaściwośćTypDomyślnieOpis
positionobject{x: 0, y: 0}Współrzędne X/Y w pikselach
sizeobjectSzerokość i wysokość w pikselach
rotationnumber0Kąt obrotu w stopniach
scaleobject{x: 1, y: 1}Mnożnik skali dla osi X i Y
anchorobject{x: 0.5, y: 0.5}Punkt zakotwiczenia dla przekształceń (zakres 0-1, 0.5 = środek)
opacitynumber1Przezroczystość warstwy (0 = przezroczysta, 1 = nieprzezroczysta)
blendModestring"normal"Tryb mieszania CSS do kompozytowania
fromnumber0Czas rozpoczęcia w sekundach (względem początku sceny)
durationnumber-1Czas trwania warstwy w sekundach (-1 = pełny czas trwania sceny)
filtersarray[]Tablica obiektów filtrów wizualnych
styleobject{}Dodatkowe właściwości stylu podobne do CSS
classNamestring""Nazwa klasy CSS do niestandardowego stylowania

Osiem Typów Warstw

  1. text – Renderuje stylizowany tekst z pełną kontrolą nad czcionką, rozmiarem, kolorem, wyrównaniem, wysokością linii, odstępami między literami, cieniami tekstu i więcej. Obsługuje składnię {{zmienna}} dla dynamicznej zawartości.

  2. image – Wyświetla statyczne obrazy z adresów URL lub ścieżek lokalnych. Obsługuje przycinanie, tryby dopasowania obiektu, zaokrąglenie brzegów i filtry obrazów.

  3. video – Osadza klipy wideo w scenie. Obsługuje przycinanie (początek/koniec), kontrolę głośności, szybkość odtwarzania, zapętlanie i wyciszanie.

  4. shape – Renderuje prymitywy geometryczne: prostokąty, koła, elipsy, linie i wielokąty. Obsługuje wypełnienie, obrys, zaokrąglenie brzegów, gradienty i cienie.

  5. audio – Dodaje ścieżki audio do sceny. Obsługuje głośność, zanikanie/pojawianie się, przycinanie i zapętlanie. Warstwy audio nie mają reprezentacji wizualnej.

  6. group – Warstwa kontenera, która przechowuje warstwy podrzędne. Grupy pozwalają stosować przekształcenia, animacje i efekty do wielu warstw jednocześnie.

  7. lottie – Renderuje animacje JSON Lottie/Bodymovin. Obsługuje szybkość odtwarzania, zapętlanie i kontrolę segmentów do odtwarzania określonych zakresów klatek.

  8. custom – Ładuje zarejestrowane niestandardowe komponenty zdefiniowane w polu customComponents. Używaj tego dla szablonów warstw wielokrotnego użytku, sparametryzowanych.

Aby uzyskać szczegółową konfigurację każdego typu warstwy, w tym wszystkie dostępne właściwości i przykłady kodu, zobacz Referencję Komponentów Rendervid .


System Animacji

Rendervid zawiera ponad 40 wbudowanych presetów animacji podzielonych na cztery kategorie: entrance (wejście), exit (wyjście), emphasis (akcent) i keyframe (klatka kluczowa). Animacje są dołączane do dowolnej warstwy i kontrolują, jak ta warstwa pojawia się, znika lub zachowuje się podczas swojego istnienia.

Konfiguracja Animacji

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

Pola Animacji

PoleTypDomyślnieOpis
typestringKategoria animacji: entrance, exit, emphasis, keyframe
effectstringNazwa presetu (np. fadeInUp, pulse, bounceOut)
durationnumber30Czas trwania w klatkach
delaynumber0Opóźnienie przed rozpoczęciem animacji, w klatkach
easingstring"ease"Nazwa funkcji wygładzania
loopnumber0Liczba pętli (0 = brak pętli, -1 = nieskończoność)
alternatebooleanfalseOdwróć kierunek w przemiennych pętlach

Animacje Wejścia (20 presetów)

Animacje wejścia kontrolują, jak warstwa pojawia się na ekranie. Uruchamiają się raz, gdy osiągnięty zostanie czas rozpoczęcia warstwy.

PresetOpis
fadeInProste zanikanie przezroczystości od 0 do 1
fadeInUpZanika podczas przesuwania w górę
fadeInDownZanika podczas przesuwania w dół
fadeInLeftZanika podczas przesuwania z lewej
fadeInRightZanika podczas przesuwania z prawej
slideInUpWsuwa się od dołu ramki
slideInDownWsuwa się od góry ramki
slideInLeftWsuwa się z lewej krawędzi
slideInRightWsuwa się z prawej krawędzi
scaleInSkaluje się od 0 do pełnego rozmiaru
zoomInPowiększa się z mniejszej skali z lekkim przekroczeniem
rotateInObraca się na pozycję z kąta przesunięcia
bounceInOdbija się na pozycję z elastycznym przekroczeniem
flipInXObrót 3D na osi X (obrót poziomy)
flipInYObrót 3D na osi Y (obrót pionowy)
typewriterZnaki pojawiają się pojedynczo (warstwy tekstowe)
revealLeftOdsłonięcie maski przesuwające się z lewej
revealRightOdsłonięcie maski przesuwające się z prawej
revealUpOdsłonięcie maski przesuwające się w górę
revealDownOdsłonięcie maski przesuwające się w dół

Animacje Wyjścia (9 presetów)

Animacje wyjścia kontrolują, jak warstwa znika. Uruchamiają się pod koniec czasu trwania warstwy.

PresetOpis
fadeOutProste zanikanie przezroczystości od 1 do 0
slideOutUpWysuwa się przez górę ramki
slideOutDownWysuwa się przez dół ramki
scaleOutSkaluje się w dół od pełnego rozmiaru do 0
zoomOutPomniejsza się do mniejszej skali i zanika
rotateOutObraca się z pozycji do kąta przesunięcia
bounceOutOdbija się na zewnątrz z elastycznym przekroczeniem przed zniknięciem
flipOutXObrót 3D na zewnątrz na osi X
flipOutYObrót 3D na zewnątrz na osi Y

Animacje Akcentujące (10 presetów)

Animacje akcentujące przyciągają uwagę do warstwy, gdy pozostaje widoczna. Dobrze współpracują z zapętlaniem.

PresetOpis
pulseRytmiczne pulsowanie skali (rośnie i maleje)
shakeSzybkie poziome trzęsienie
bouncePionowy ruch odbijania
swingRuch wahadłowy kołysania się
wobbleKołysanie poza osią łączące obrót i translację
flashSzybkie błyski przezroczystości
rubberBandEfekt elastycznego rozciągania i przyciągania
heartbeatRytm podwójnego bicia serca
floatDelikatny ruch unoszenia się w górę i w dół
spinCiągły obrót o 360 stopni

Animacje Klatek Kluczowych

Dla pełnej kreatywnej kontroli animacje klatek kluczowych pozwalają definiować niestandardowe zmiany właściwości klatka po klatce:

{
  "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"
}

Animacje klatek kluczowych mogą animować dowolną właściwość liczbową: opacity, x, y, rotation, scaleX, scaleY i więcej. Każda klatka kluczowa określa numer klatki i wartości właściwości w tej klatce. Renderer interpoluje między klatkami kluczowymi przy użyciu określonej funkcji wygładzania.

Łączenie Animacji

Pojedyncza warstwa może mieć wiele animacji. Na przykład animację wejścia, po której następuje pętla akcentująca, a następnie animacja wyjścia:

{
  "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"
    }
  ]
}

Funkcje Wygładzania

Funkcje wygładzania kontrolują tempo zmian podczas animacji, określając, czy ruch wydaje się liniowy, płynny, odbijający się lub elastyczny. Rendervid zawiera ponad 30 wbudowanych funkcji wygładzania.

Podstawowe Wygładzanie

FunkcjaOpis
linearStała prędkość od początku do końca, bez przyspieszenia
easeDomyślne wygładzanie podobne do CSS z delikatnym przyspieszeniem i zwalnianiem
easeInZaczyna wolno, przyspiesza w kierunku końca
easeOutZaczyna szybko, zwalnia w kierunku końca
easeInOutPrzyspiesza w pierwszej połowie, zwalnia w drugiej

Wygładzanie Kwadratowe

FunkcjaOpis
easeInQuadPrzyspieszenie kwadratowe (t^2)
easeOutQuadZwalnianie kwadratowe
easeInOutQuadPrzyspieszenie kwadratowe, następnie zwalnianie

Wygładzanie Sześcienne

FunkcjaOpis
easeInCubicPrzyspieszenie sześcienne (t^3) – bardziej wyraźne niż kwadratowe
easeOutCubicZwalnianie sześcienne – płynne i naturalne zatrzymanie
easeInOutCubicWygładzanie sześcienne wejścia i wyjścia – najczęściej używane wygładzanie

Wygładzanie Czwartego Stopnia

FunkcjaOpis
easeInQuartPrzyspieszenie czwartego stopnia (t^4)
easeOutQuartZwalnianie czwartego stopnia
easeInOutQuartWygładzanie czwartego stopnia wejścia i wyjścia

Wygładzanie Piątego Stopnia

FunkcjaOpis
easeInQuintPrzyspieszenie piątego stopnia (t^5) – bardzo ostry start
easeOutQuintZwalnianie piątego stopnia – bardzo ostre zatrzymanie
easeInOutQuintWygładzanie piątego stopnia wejścia i wyjścia

Wygładzanie Sinusoidalne

FunkcjaOpis
easeInSinePrzyspieszenie oparte na sinusie – najdelikatniejsza krzywa wygładzania
easeOutSineZwalnianie oparte na sinusie
easeInOutSineWygładzanie oparte na sinusie wejścia i wyjścia

Wygładzanie Wykładnicze

FunkcjaOpis
easeInExpoPrzyspieszenie wykładnicze – prawie płaskie, potem ostre
easeOutExpoZwalnianie wykładnicze – ostre, potem prawie płaskie
easeInOutExpoWygładzanie wykładnicze wejścia i wyjścia

Wygładzanie Kołowe

FunkcjaOpis
easeInCircKrzywa przyspieszenia kołowego
easeOutCircKrzywa zwalniania kołowego
easeInOutCircWygładzanie kołowe wejścia i wyjścia

Wygładzanie Wsteczne

FunkcjaOpis
easeInBackLekko cofa się przed przyspieszeniem do przodu (antycypacja)
easeOutBackPrzekracza cel, a następnie wraca (przekroczenie)
easeInOutBackAntycypacja przy wejściu, przekroczenie przy wyjściu

Wygładzanie Elastyczne

FunkcjaOpis
easeInElasticElastyczne kołysanie przy przyspieszeniu – nawijanie podobne do sprężyny
easeOutElasticElastyczne kołysanie przy zwalnianiu – przyciąganie podobne do sprężyny
easeInOutElasticElastyczne na obu końcach

Wygładzanie Odbijające

FunkcjaOpis
easeInBounceEfekt odbijania przy wejściu – jak piłka upuszczona w odwrotnej kolejności
easeOutBounceEfekt odbijania przy wyjściu – jak piłka uderzająca w ziemię
easeInOutBounceOdbijanie na obu końcach

Wybór Odpowiedniego Wygładzania

  • Elementy UI i tekst: easeOutCubic lub easeOutQuart dla naturalnych wejść
  • Ruch przyciągający uwagę: easeOutElastic lub easeOutBack dla zabawnego przekroczenia
  • Płynne zapętlanie: easeInOutSine dla delikatnego, ciągłego ruchu
  • Dramatyczne odsłonięcia: easeInExpo dla budowania, easeOutExpo dla szybkich zatrzymań
  • Symulacja fizyczna: easeOutBounce dla efektów podobnych do grawitacji

Przejścia Między Scenami

Przejścia kontrolują, jak jedna scena przechodzi w następną. Rendervid zapewnia 17 typów przejść, od prostych cięć po kinowe efekty 3D.

Konfiguracja Przejścia

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

Obiekt transition jest umieszczany w nadchodzącej scenie (scenie, do której następuje przejście). Właściwość direction ma zastosowanie tylko do przejść kierunkowych, takich jak slide, wipe i push.

Wszystkie 17 Typów Przejść

PrzejścieOpis
cutNatychmiastowe przełączenie bez efektu wizualnego (domyślnie)
fadePrzenikanie między scenami – wychodząca scena zanika, gdy nadchodząca scena pojawia się
zoomPowiększa się do wychodzącej sceny, gdy pojawia się nadchodząca scena
slideNadchodząca scena przesuwa się nad wychodzącą sceną z konfigurowalnego kierunku (lewo, prawo, góra, dół)
wipeWymazywanie ostrej krawędzi odsłania nadchodzącą scenę, poruszając się przez ramkę w danym kierunku
pushNadchodząca scena wypycha wychodzącą scenę poza ekran w określonym kierunku
rotateWychodząca scena obraca się, podczas gdy nadchodząca scena obraca się do środka
flipPrzejście obrotu 3D – ramka obraca się jak karta, aby odsłonić następną scenę
blurWychodząca scena rozmywa się, podczas gdy nadchodząca scena wyostrza się
circleKołowa maska rozszerza się ze środka (lub określonego punktu), aby odsłonić następną scenę
glitchCyfrowy efekt zniekształcenia usterki z aberracją chromatyczną i przemieszczeniem
dissolveRozpuszczanie na poziomie pikseli, gdzie poszczególne piksele przechodzą losowo między scenami
cubeObrót sześcianu 3D – sceny znajdują się na sąsiednich ścianach obracającego się sześcianu
swirlZniekształcenie spiralne, które wkręca wychodzącą scenę w nadchodzącą scenę
diagonal-wipeUkośne wymazywanie ostrej krawędzi poruszające się z jednego rogu do przeciwnego
irisKołowa przesłona, która otwiera się lub zamyka jak przysłona aparatu
crosszoomObie sceny powiększają się jednocześnie – wychodząca powiększa się, nadchodząca pomniejsza się

Przykłady Przejść

Kinowe zanikanie z długim przenikaniem:

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

Przesunięcie z prawej (powszechne dla sekwencyjnej zawartości):

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

Obrót sześcianu 3D (dynamiczne, nowoczesne wrażenie):

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

Efekt usterki (energetyczny, technologiczny):

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

Efekty Wizualne

Warstwy Rendervid obsługują szereg efektów wizualnych poprzez filtry, tryby mieszania, cienie i przekształcenia.

Filtry

Filtry są stosowane przez tablicę filters w dowolnej warstwie. Każdy filtr to obiekt z type i 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 }
  ]
}
FiltrZakres WartościOpis
blur0+ (piksele)Rozmycie Gaussa – wyższe wartości dają więcej rozmycia
brightness0+ (mnożnik)0 = czarny, 1 = normalny, 2 = podwójna jasność
contrast0+ (mnożnik)0 = szary, 1 = normalny, 2 = podwójny kontrast
grayscale0-10 = pełny kolor, 1 = całkowicie odbarwiony
hue-rotate0-360 (stopnie)Obraca kolory wokół koła kolorów
invert0-10 = normalny, 1 = całkowicie odwrócone kolory
saturate0+ (mnożnik)0 = odbarwiony, 1 = normalny, 2 = podwójna saturacja
sepia0-10 = normalny, 1 = pełny odcień sepii

Tryby Mieszania

Właściwość blendMode kontroluje, jak warstwa komponuje się z warstwami poniżej:

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

Obsługiwane tryby mieszania: normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity.

Cienie

Warstwy tekstowe i kształtów obsługują efekty cieni poprzez właściwość style:

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

Łączenie Efektów

Filtry, tryby mieszania, przezroczystość i cienie mogą być wszystkie połączone w pojedynczej warstwie dla wyrafinowanych zabiegów wizualnych:

{
  "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
    }
  }
}

Konfiguracja Czcionek

Rendervid obsługuje zarówno czcionki Google Fonts (ponad 100 rodzin wbudowanych), jak i niestandardowe czcionki ładowane z zewnętrznych adresów URL.

Czcionki Google

Deklaruj czcionki Google w tablicy fonts.google:

{
  "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] }
    ]
  }
}

Każdy obiekt czcionki wymaga:

PoleTypOpis
familystringNazwa rodziny czcionki Google (wymagane dokładne dopasowanie)
weightsarrayTablica grubości liczbowych do załadowania (100-900)

Popularne grubości czcionek: 100 (Cienka), 200 (Bardzo Lekka), 300 (Lekka), 400 (Zwykła), 500 (Średnia), 600 (Półgruba), 700 (Pogrubiona), 800 (Bardzo Pogrubiona), 900 (Czarna).

Niestandardowe Czcionki

Ładuj czcionki z zewnętrznych adresów URL za pomocą tablicy fonts.custom:

{
  "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"
      }
    ]
  }
}

Obsługiwane formaty czcionek: WOFF2 (zalecane dla najmniejszego rozmiaru pliku), WOFF, TTF i OTF.

Używanie Czcionek w Warstwach

Odwołuj się do zadeklarowanych czcionek według nazwy rodziny w stylach warstw tekstowych:

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

Rendervid zawiera łańcuchy alternatywnych czcionek specyficzne dla platformy, aby zapewnić spójne renderowanie w różnych środowiskach. Jeśli określona czcionka jest niedostępna, renderer wraca do czcionek systemowych pasujących do tej samej klasyfikacji (szeryfowa, bezszeryfowa, monospace).


Formaty Wyjściowe

Rendervid obsługuje szeroki zakres formatów wyjściowych i kodeków zarówno do renderowania wideo, jak i obrazów.

Formaty Wideo

FormatKodekRozszerzenie PlikuNajlepsze Dla
MP4H.264.mp4Maksymalna zgodność – sieć, mobile, media społecznościowe
WebMVP8 / VP9.webmOsadzanie w sieci z mniejszymi rozmiarami plików
MOVProRes.movProfesjonalne przepływy pracy edycyjne, bezstratna jakość
GIF.gifKrótkie animacje, udostępnianie społecznościowe, e-mail
MP4H.265 / HEVC.mp4Nowsze urządzenia, 50% mniejsze pliki niż H.264 przy tej samej jakości
WebMAV1.webmKodek nowej generacji, najlepsza wydajność kompresji

Formaty Obrazów

FormatRozszerzenie PlikuNajlepsze Dla
PNG.pngBezstratna jakość, obsługa przezroczystości
JPEG.jpgFotografie, mniejsze rozmiary plików
WebP.webpNowoczesna sieć, najlepsza równowaga jakości i rozmiaru

Presety Jakości

PresetOpis
draftSzybkie renderowanie z obniżoną jakością – idealne do podglądu
standardZrównoważona jakość i rozmiar pliku – dobre dla większości przypadków użycia
highWyższy bitrate i jakość – dla ostatecznych produktów
losslessMaksymalna jakość bez artefaktów kompresji

Obsługa Rozdzielczości

Rendervid obsługuje rozdzielczości od małych miniatur do 8K:

RozdzielczośćWymiaryPowszechne Użycie
SD640 x 480Miniatury, podglądy
HD1280 x 720Wideo internetowe, e-mail
Full HD1920 x 1080YouTube, prezentacje
2K2560 x 1440Wysokiej jakości wyświetlacze
4K UHD3840 x 2160Profesjonalne, transmisja
8K7680 x 4320Maksymalna rozdzielczość, zabezpieczenie na przyszłość

Obsługiwane są częstotliwości klatek od 1 fps (pokazy slajdów) do 120 fps (zwolnione tempo, treści gamingowe). Popularne wybory to 24 fps (kinowe), 30 fps (sieć/społecznościowe) i 60 fps (płynny ruch).


Kompletny Przykład

Oto pełny szablon Rendervid, który demonstruje kluczowe funkcje systemu szablonów współpracujące ze sobą: dynamiczne wejścia, wiele scen z przejściami, warstwowe kompozycje, animacje z wygładzaniem, czcionki i efekty wizualne.

{
  "name": "tech-product-launch",
  "output": {
    "type": "video",
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "duration": 20,
    "backgroundColor": "#0A0A0A"
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Nazwa Produktu",
      "required": true,
      "default": "ProductX"
    },
    {
      "key": "tagline",
      "type": "string",
      "label": "Slogan",
      "required": true,
      "default": "Przyszłość jest tutaj."
    },
    {
      "key": "heroImage",
      "type": "url",
      "label": "Obraz Główny",
      "required": true
    },
    {
      "key": "primaryColor",
      "type": "color",
      "label": "Kolor Główny",
      "default": "#6C63FF"
    },
    {
      "key": "ctaText",
      "type": "string",
      "label": "Wezwanie Do Działania",
      "default": "Dowiedz Się Więcej"
    }
  ],
  "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": "Przedstawiamy",
            "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"
              }
            ]
          }
        ]
      }
    ]
  }
}

Ten szablon tworzy 20-sekundowe wideo premiery produktu z trzema scenami: typograficzne intro z rozłożonymi animacjami tekstu, prezentacja produktu z unoszącym się obrazem i efektem maszyny do pisania oraz zamykająca scena wezwania do działania z pulsującym przyciskiem. Cały tekst, kolory i obrazy są sterowane przez zmienne szablonu, co czyni go w pełni wielokrotnego użytku.


Następne Kroki

  • Referencja Komponentów Warstw – Głębokie zanurzenie w każdy z 8 typów warstw z pełną dokumentacją właściwości i przykładami
  • Integracja AI – Dowiedz się, jak generować i manipulować szablonami Rendervid za pomocą AI, w tym generowanie szablonów oparte na LLM i renderowanie uwzględniające zawartość
  • Przewodnik Wdrożenia – Skonfiguruj Rendervid do produkcji: renderowanie po stronie serwera, wdrożenie w chmurze, przetwarzanie wsadowe i integracja API

Najczęściej zadawane pytania

Czym jest format szablonu Rendervid?

Szablony Rendervid to pliki JSON, które definiują strukturę, zawartość, animacje i ustawienia wyjściowe wideo lub obrazu. Każdy szablon zawiera konfigurację wyjścia (wymiary, fps, czas trwania), definicje wejściowe dla zmiennych dynamicznych, kompozycję ze scenami i warstwami oraz opcjonalne konfiguracje czcionek i niestandardowych komponentów.

Jak działają zmienne szablonu w Rendervid?

Zmienne szablonu używają składni {{nazwaZmiennej}}. Definiujesz wejścia w tablicy inputs szablonu z kluczem, typem (string, number, boolean, color, url, array), etykietą, opisem i wartością domyślną. W czasie renderowania zmienne te są zastępowane rzeczywistymi wartościami, co sprawia, że szablony są wielokrotnego użytku i dynamiczne.

Ile presetów animacji ma Rendervid?

Rendervid zawiera ponad 40 wbudowanych presetów animacji podzielonych na cztery kategorie: animacje wejścia (fadeIn, slideIn, scaleIn, bounceIn itp.), animacje wyjścia (fadeOut, slideOut, zoomOut itp.), animacje akcentujące (pulse, shake, bounce, swing, heartbeat itp.) oraz w pełni konfigurowalne animacje klatek kluczowych z ponad 30 funkcjami wygładzania.

Jakie przejścia między scenami są dostępne?

Rendervid oferuje 17 typów przejść między scenami: cut, fade, zoom, slide, wipe, push, rotate, flip (3D), blur, circle, glitch, dissolve, cube (3D), swirl, diagonal-wipe, iris i crosszoom. Każde przejście można skonfigurować za pomocą parametrów czasu trwania i kierunku.

Jakie formaty wyjściowe obsługuje Rendervid?

Rendervid obsługuje wiele formatów wyjściowych, w tym MP4 (H.264), WebM (VP8/VP9), MOV (ProRes), GIF dla wideo oraz PNG, JPEG, WebP dla obrazów. Obsługiwane są również zaawansowane kodeki, takie jak H.265/HEVC i AV1. Rozdzielczość sięga do 8K (7680x4320) z częstotliwością klatek od 1 do 120 fps.

Czy mogę używać niestandardowych czcionek w szablonach Rendervid?

Tak, Rendervid obsługuje ponad 100 wbudowanych czcionek Google Fonts oraz ładowanie niestandardowych czcionek z adresów URL w formatach WOFF2, WOFF, TTF i OTF. Możesz określić grubości czcionek od 100 do 900 i skonfigurować alternatywy specyficzne dla platformy w celu zapewnienia zgodności między środowiskami.

Pozwól nam zbudować Twój własny zespół AI

Pomagamy firmom takim jak Twoja rozwijać inteligentne chatboty, serwery MCP, narzędzia AI lub inne rodzaje automatyzacji AI, aby zastąpić człowieka w powtarzalnych zadaniach w Twojej organizacji.

Dowiedz się więcej

Komponenty Rendervid - Typy warstw, komponenty React i edytor wizualny
Komponenty Rendervid - Typy warstw, komponenty React i edytor wizualny

Komponenty Rendervid - Typy warstw, komponenty React i edytor wizualny

Poznaj wszystkie komponenty Rendervid: 8 wbudowanych typów warstw (tekst, obraz, wideo, kształt, dźwięk, grupa, lottie, niestandardowy), gotowe komponenty React...

14 min czytania
Rendervid Components +3