Rendervid Şablon Sistemi - JSON Şablonları, Değişkenler, Animasyonlar ve Geçişler

Rendervid Video Rendering Templates Open Source

Rendervid, bildirimsel, JSON tabanlı bir şablon sistemi etrafında inşa edilmiş programatik bir video render motorudur. Bir zaman çizelgesinde videoyu manuel olarak düzenlemek yerine, videonuzun her yönünü – sahneler, katmanlar, animasyonlar, geçişler ve çıktı ayarları – tek bir JSON belgesinde tanımlarsınız. Bu yaklaşım, şablonları durumsuz, sürüm kontrolüne uygun ve makine tarafından oluşturulabilir hale getirerek yapay zeka destekli video üretimi, toplu render hattı ve tamamen otomatik içerik iş akışlarına kapı açar.

Bu rehber, Rendervid şablon sistemini baştan sona kapsar: kök seviye yapılandırma, çıktı ayarları, değişken ve giriş sistemi, sahneler ve kompozisyon, sekiz katman türünün tümü, 40+ animasyon ön ayarı, 30+ kolaylaştırma fonksiyonu, 17 sahne geçişi, görsel efektler, yazı tipi yapılandırması ve çıktı formatları.


Şablon Yapısına Genel Bakış

Her Rendervid şablonu, iyi tanımlanmış bir kök seviye alan kümesine sahip bir JSON nesnesidir. İşte tam bir şablonun iskeleti:

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

Kök Seviye Alanlar

AlanTürGerekliAçıklama
namestringEvetİnsan tarafından okunabilir şablon tanımlayıcısı
outputobjectEvetVideo veya görüntü çıktı yapılandırması (boyutlar, fps, süre, format)
inputsarrayHayırŞablon değişkenleri için dinamik giriş tanımları
compositionobjectEvetTüm görsel içeriği tanımlayan scenes dizisini içerir
fontsobjectHayırGoogle Fonts ve özel yazı tipi bildirimleri
customComponentsobjectHayırKayıtlı özel katman bileşenleri
defaultsobjectHayırGeçersiz kılınmadığı sürece tüm katmanlara uygulanan varsayılan değerler

name alanı organizasyonel amaçlar içindir – render’ı etkilemez. output ve composition alanları, her şablonun sahip olması gereken iki sütundur. Geri kalan her şey isteğe bağlıdır ancak güçlü yeteneklerin kilidini açar.


Çıktı Yapılandırması

output nesnesi, son render edilen dosyayı kontrol eder: formatı, boyutları, kare hızı, süresi ve arka plan rengi.

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

Çıktı Alanları

AlanTürVarsayılanAçıklama
typestring"video"Çıktı türü: "video" veya "image"
widthnumber1920Piksel cinsinden genişlik (8K için 7680’e kadar)
heightnumber1080Piksel cinsinden yükseklik (8K için 4320’ye kadar)
fpsnumber30Saniyedeki kare sayısı (1-120)
durationnumberSaniye cinsinden toplam süre
backgroundColorstring"#000000"Hex, RGB veya adlandırılmış renk olarak arka plan rengi

Yaygın Ön Ayarlar

İşte popüler formatlar için çıktı yapılandırmaları:

1080p Full HD (YouTube, genel amaçlı):

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

Instagram Reels / TikTok (9:16 dikey):

{
  "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 / Sosyal Paylaşım Görseli:

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

Görüntü çıktısı için, fps ve duration göz ardı edilir – render edici tek bir kare yakalar.


Şablon Değişkenleri ve Girişler

Giriş ve değişken sistemi, Rendervid şablonlarını yeniden kullanılabilir kılan şeydir. Metin, renkler veya URL’leri şablonunuza sabit kodlamak yerine, girişler tanımlar ve bunlara şablonun herhangi bir yerinde {{variableName}} sözdizimini kullanarak referans verirsiniz.

Girişleri Tanımlama

Girişler, üst seviye inputs dizisinde bildirilir. Her giriş nesnesi tek bir değişkeni tanımlar:

{
  "inputs": [
    {
      "key": "title",
      "type": "string",
      "label": "Başlık",
      "description": "Giriş sahnesinde görüntülenen ana başlık metni",
      "required": true,
      "default": "Merhaba Dünya"
    },
    {
      "key": "brandColor",
      "type": "color",
      "label": "Marka Rengi",
      "description": "Arka planlar ve vurgular için kullanılan birincil marka rengi",
      "required": false,
      "default": "#FF5733"
    },
    {
      "key": "showSubtitle",
      "type": "boolean",
      "label": "Alt Yazı Göster",
      "description": "Alt yazı görünürlüğünü aç/kapat",
      "required": false,
      "default": true
    }
  ]
}

Giriş Alanı Referansı

AlanTürGerekliAçıklama
keystringEvet{{key}} referanslarında kullanılan benzersiz tanımlayıcı
typestringEvetVeri türü: string, number, boolean, color, url, array
labelstringHayırUI render için insan tarafından okunabilir etiket
descriptionstringHayırBu girişin neyi kontrol ettiğinin açıklaması
requiredbooleanHayırRender zamanında girişin sağlanması gerekip gerekmediği
defaultanyHayırGiriş sağlanmazsa yedek değer

Giriş Türleri

  • string – Serbest biçimli metin. Başlıklar, açıklamalar, altyazılar veya herhangi bir metin içeriği için kullanın.
  • number – Sayısal değerler. Süreler, boyutlar, konumlar, opaklık seviyeleri veya sayılar için kullanın.
  • boolean – Doğru/yanlış anahtarları. Koşullu görünürlük, özellik bayrakları veya açma/kapama anahtarları için kullanın.
  • color – Hex (#FF5733), RGB (rgb(255,87,51)) veya adlandırılmış formatta renk değerleri. Arka planlar, metin renkleri ve vurgular için kullanın.
  • url – Geçerli URL dizeleri. Görüntü kaynakları, video kaynakları, bağlantılar ve yazı tipi URL’leri için kullanın.
  • array – Değer listeleri. Görüntü galerileri, metin listeleri, slayt içeriği veya herhangi bir tekrarlanan veri için kullanın.

Şablonda Değişkenleri Kullanma

Girişler tanımlandıktan sonra, şablonun herhangi bir yerinde çift süslü parantez kullanarak bunlara referans verin:

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

Değişkenler render zamanında çözülür. Rendervid API’sini veya CLI’sini çağırdığınızda, gerçek değerleri geçirirsiniz:

{
  "title": "Yaz İndirimi 2026",
  "brandColor": "#E63946",
  "titleSize": 72
}

Tam Giriş Örneği

İşte birlikte çalışan birden fazla giriş türüne sahip tam bir şablon:

{
  "name": "product-promo",
  "output": {
    "type": "video",
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "duration": 15
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Ürün Adı",
      "description": "Tanıtılan ürünün adı",
      "required": true,
      "default": "Ürün"
    },
    {
      "key": "price",
      "type": "number",
      "label": "Fiyat",
      "description": "Videoda görüntülenen ürün fiyatı",
      "required": true,
      "default": 29.99
    },
    {
      "key": "productImage",
      "type": "url",
      "label": "Ürün Görsel URL",
      "description": "Ürün görselinin URL'si",
      "required": true
    },
    {
      "key": "accentColor",
      "type": "color",
      "label": "Vurgu Rengi",
      "description": "CTA düğmeleri ve vurgular için kullanılan renk",
      "required": false,
      "default": "#FF6B35"
    },
    {
      "key": "showBadge",
      "type": "boolean",
      "label": "İndirim Rozeti Göster",
      "description": "İndirim rozeti katmanının görüntülenip görüntülenmeyeceği",
      "required": false,
      "default": false
    },
    {
      "key": "features",
      "type": "array",
      "label": "Ürün Özellikleri",
      "description": "Özellik madde işareti listesi",
      "required": false,
      "default": ["Özellik 1", "Özellik 2", "Özellik 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 }
          }
        ]
      }
    ]
  }
}

Bu tek şablon, render zamanında giriş değerlerini değiştirerek binlerce benzersiz ürün videosu oluşturabilir – şablon değişikliğine gerek yoktur.


Sahneler ve Kompozisyon

composition nesnesi, videonuzun içeriğinin bulunduğu yerdir. Bir scenes dizisi içerir ve her sahne, kendi süresi, katmanları ve geçişi olan videonun ayrı bir bölümünü temsil eder.

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

Sahne Alanları

AlanTürGerekliAçıklama
namestringHayırSahne için tanımlayıcı (okunabilirlik ve hata ayıklama için)
durationnumberEvetSaniye cinsinden sahne uzunluğu
transitionobjectHayırÖnceki sahneden bu sahneye girerken geçiş efekti
layersarrayEvetAlttan üste render edilen sıralı katman nesneleri dizisi

Sahneler sırayla oynatılır. Toplam video süresi, tüm sahne sürelerinin toplamıdır (herhangi bir geçiş örtüşmesi hariç). Bir sahne içindeki katmanlar dizi sırasına göre render edilir – ilk katman görsel yığının altında, son katman ise en üstte bulunur.

Geçiş belirtilmezse, sahne varsayılan olarak sert bir cut kullanır.


Katman Sistemi

Rendervid sekiz farklı katman türünü destekler. Her katman türü belirli bir amaca hizmet eder ve paylaşılan temel yapılandırmanın üzerine kendi özellik kümesini kabul eder.

Paylaşılan Katman Özellikleri

Türünden bağımsız olarak her katman, bu temel özellikleri destekler:

{
  "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": ""
}
ÖzellikTürVarsayılanAçıklama
positionobject{x: 0, y: 0}Piksel cinsinden X/Y koordinatları
sizeobjectPiksel cinsinden genişlik ve yükseklik
rotationnumber0Derece cinsinden dönme açısı
scaleobject{x: 1, y: 1}X ve Y eksenleri için ölçek çarpanı
anchorobject{x: 0.5, y: 0.5}Dönüşümler için bağlantı noktası (0-1 aralığı, 0.5 = merkez)
opacitynumber1Katman opaklığı (0 = şeffaf, 1 = opak)
blendModestring"normal"Birleştirme için CSS karışım modu
fromnumber0Saniye cinsinden başlangıç zamanı (sahne başlangıcına göre)
durationnumber-1Saniye cinsinden katman süresi (-1 = tam sahne süresi)
filtersarray[]Görsel filtre nesneleri dizisi
styleobject{}Ek CSS benzeri stil özellikleri
classNamestring""Özel stil için CSS sınıf adı

Sekiz Katman Türü

  1. text – Yazı tipi, boyut, renk, hizalama, satır yüksekliği, harf aralığı, metin gölgeleri ve daha fazlası üzerinde tam kontrol ile stilize metin render eder. Dinamik içerik için {{variable}} sözdizimini destekler.

  2. image – URL’lerden veya yerel yollardan statik görüntüleri görüntüler. Kırpma, nesne uyum modları, kenarlık yarıçapı ve görüntü filtrelerini destekler.

  3. video – Bir sahne içinde video klipleri gömer. Kırpma (başlangıç/bitiş), ses kontrolü, oynatma hızı, döngü ve sessize almayı destekler.

  4. shape – Geometrik ilkelleri render eder: dikdörtgenler, daireler, elipsler, çizgiler ve çokgenler. Dolgu, kontur, kenarlık yarıçapı, degradeler ve gölgeleri destekler.

  5. audio – Bir sahneye ses parçaları ekler. Ses, solma/açma, kırpma ve döngüyü destekler. Ses katmanlarının görsel temsili yoktur.

  6. group – Alt katmanları tutan bir konteyner katmanı. Gruplar, birden fazla katmana aynı anda dönüşümler, animasyonlar ve efektler uygulamanıza olanak tanır.

  7. lottie – Lottie/Bodymovin JSON animasyonlarını render eder. Oynatma hızı, döngü ve belirli kare aralıklarını oynatmak için segment kontrolünü destekler.

  8. customcustomComponents alanında tanımlanan kayıtlı özel bileşenleri yükler. Yeniden kullanılabilir, parametreli katman şablonları için bunu kullanın.

Her katman türünün ayrıntılı yapılandırması için, tüm mevcut özellikler ve kod örnekleri dahil, Rendervid Bileşenleri Referansı bölümüne bakın.


Animasyon Sistemi

Rendervid, dört kategoride düzenlenmiş 40’tan fazla yerleşik animasyon ön ayarı içerir: giriş, çıkış, vurgu ve anahtar kare. Animasyonlar herhangi bir katmana eklenir ve o katmanın nasıl göründüğünü, kaybolduğunu veya ömrü boyunca nasıl davrandığını kontrol eder.

Animasyon Yapılandırması

{
  "type": "text",
  "text": "Animasyonlu Başlık",
  "animations": [
    {
      "type": "entrance",
      "effect": "fadeInUp",
      "duration": 30,
      "delay": 10,
      "easing": "easeOutCubic",
      "loop": 0,
      "alternate": false
    }
  ]
}

Animasyon Alanları

AlanTürVarsayılanAçıklama
typestringAnimasyon kategorisi: entrance, exit, emphasis, keyframe
effectstringÖn ayar adı (örn. fadeInUp, pulse, bounceOut)
durationnumber30Kare cinsinden süre
delaynumber0Animasyon başlamadan önceki gecikme, kare cinsinden
easingstring"ease"Kolaylaştırma fonksiyonu adı
loopnumber0Döngü sayısı (0 = döngü yok, -1 = sonsuz)
alternatebooleanfalseAlternatif döngülerde yönü tersine çevir

Giriş Animasyonları (20 ön ayar)

Giriş animasyonları, bir katmanın ekranda nasıl göründüğünü kontrol eder. Katmanın başlangıç zamanına ulaşıldığında bir kez çalışırlar.

Ön AyarAçıklama
fadeIn0’dan 1’e basit opaklık solması
fadeInUpYukarı kayarken solarak girer
fadeInDownAşağı kayarken solarak girer
fadeInLeftSoldan kayarken solarak girer
fadeInRightSağdan kayarken solarak girer
slideInUpÇerçevenin altından içeri kayar
slideInDownÇerçevenin üstünden içeri kayar
slideInLeftSol kenardan içeri kayar
slideInRightSağ kenardan içeri kayar
scaleIn0’dan tam boyuta ölçeklenir
zoomInHafif aşma ile daha küçük bir ölçekten yakınlaşır
rotateInBir ofset açısından konuma döner
bounceInElastik aşma ile konuma sıçrar
flipInXX ekseninde 3D çevirme (yatay çevirme)
flipInYY ekseninde 3D çevirme (dikey çevirme)
typewriterKarakterler birer birer görünür (metin katmanları)
revealLeftSoldan kayan maske açılımı
revealRightSağdan kayan maske açılımı
revealUpYukarı kayan maske açılımı
revealDownAşağı kayan maske açılımı

Çıkış Animasyonları (9 ön ayar)

Çıkış animasyonları, bir katmanın nasıl kaybolduğunu kontrol eder. Katmanın süresinin sonunda çalışırlar.

Ön AyarAçıklama
fadeOut1’den 0’a basit opaklık solması
slideOutUpÇerçevenin üstünden kayarak çıkar
slideOutDownÇerçevenin altından kayarak çıkar
scaleOutTam boyuttan 0’a küçülür
zoomOutDaha küçük bir ölçeğe uzaklaşır ve solar
rotateOutBir ofset açısına konumdan döner
bounceOutKaybolmadan önce elastik aşma ile dışarı sıçrar
flipOutXX ekseninde 3D çevirme ile çıkar
flipOutYY ekseninde 3D çevirme ile çıkar

Vurgu Animasyonları (10 ön ayar)

Vurgu animasyonları, görünür kalırken bir katmana dikkat çeker. Döngü ile iyi çalışırlar.

Ön AyarAçıklama
pulseRitmik ölçek nabzı (büyür ve küçülür)
shakeHızlı yatay sarsıntı
bounceDikey zıplama hareketi
swingSarkaç benzeri salınım dönüşü
wobbleDönme ve ötelemeyi birleştiren eksen dışı sallanma
flashHızlı opaklık yanıp sönmeleri
rubberBandElastik germe ve geri çekilme efekti
heartbeatÇift nabız kalp atışı ritmi
floatYumuşak yukarı-aşağı yüzme hareketi
spinSürekli 360 derece dönüş

Anahtar Kare Animasyonları

Tam yaratıcı kontrol için, anahtar kare animasyonları özel kare-kare özellik değişiklikleri tanımlamanıza izin verir:

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

Anahtar kare animasyonları herhangi bir sayısal özelliği canlandırabilir: opacity, x, y, rotation, scaleX, scaleY ve daha fazlası. Her anahtar kare bir kare numarası ve o karedeki özellik değerlerini belirtir. Render edici, belirtilen kolaylaştırma fonksiyonunu kullanarak anahtar kareler arasında enterpolasyon yapar.

Animasyonları Birleştirme

Tek bir katman birden fazla animasyona sahip olabilir. Örneğin, bir giriş animasyonu ardından bir vurgu döngüsü, ardından bir çıkış animasyonu:

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

Kolaylaştırma Fonksiyonları

Kolaylaştırma fonksiyonları, bir animasyon sırasında değişim oranını kontrol eder, hareketin doğrusal, yumuşak, zıplayan veya elastik hissedilip hissedilmediğini belirler. Rendervid 30’dan fazla yerleşik kolaylaştırma fonksiyonu içerir.

Temel Kolaylaştırma

FonksiyonAçıklama
linearBaştan sona sabit hız, ivme yok
easeYumuşak ivme ve yavaşlama ile varsayılan CSS benzeri kolaylaştırma
easeInYavaş başlar, sona doğru hızlanır
easeOutHızlı başlar, sona doğru yavaşlar
easeInOutİlk yarıda hızlanır, ikinci yarıda yavaşlar

Kuadratik Kolaylaştırma

FonksiyonAçıklama
easeInQuadKuadratik ivme (t^2)
easeOutQuadKuadratik yavaşlama
easeInOutQuadKuadratik ivme sonra yavaşlama

Kübik Kolaylaştırma

FonksiyonAçıklama
easeInCubicKübik ivme (t^3) – kuadratikten daha belirgin
easeOutCubicKübik yavaşlama – yumuşak ve doğal hissettiren duruş
easeInOutCubicKübik kolaylaştırma girişi ve çıkışı – en yaygın kullanılan kolaylaştırma

Kuartik Kolaylaştırma

FonksiyonAçıklama
easeInQuartKuartik ivme (t^4)
easeOutQuartKuartik yavaşlama
easeInOutQuartKuartik kolaylaştırma girişi ve çıkışı

Kuintik Kolaylaştırma

FonksiyonAçıklama
easeInQuintKuintik ivme (t^5) – çok keskin başlangıç
easeOutQuintKuintik yavaşlama – çok keskin duruş
easeInOutQuintKuintik kolaylaştırma girişi ve çıkışı

Sinüzoidal Kolaylaştırma

FonksiyonAçıklama
easeInSineSinüs tabanlı ivme – en yumuşak kolaylaştırma eğrisi
easeOutSineSinüs tabanlı yavaşlama
easeInOutSineSinüs tabanlı kolaylaştırma girişi ve çıkışı

Üstel Kolaylaştırma

FonksiyonAçıklama
easeInExpoÜstel ivme – neredeyse düz sonra keskin
easeOutExpoÜstel yavaşlama – keskin sonra neredeyse düz
easeInOutExpoÜstel kolaylaştırma girişi ve çıkışı

Dairesel Kolaylaştırma

FonksiyonAçıklama
easeInCircDairesel ivme eğrisi
easeOutCircDairesel yavaşlama eğrisi
easeInOutCircDairesel kolaylaştırma girişi ve çıkışı

Geri Kolaylaştırma

FonksiyonAçıklama
easeInBackİleri hızlanmadan önce hafifçe geri çeker (beklenti)
easeOutBackHedefi aşar sonra geri yerleşir (aşma)
easeInOutBackGirişte beklenti, çıkışta aşma

Elastik Kolaylaştırma

FonksiyonAçıklama
easeInElasticİvmede elastik sallanma – yay benzeri sarma
easeOutElasticYavaşlamada elastik sallanma – yay benzeri çekilme
easeInOutElasticHer iki uçta elastik

Zıplama Kolaylaştırma

FonksiyonAçıklama
easeInBounceGirişte zıplama efekti – ters düşürülmüş bir top gibi
easeOutBounceÇıkışta zıplama efekti – yere çarpan bir top gibi
easeInOutBounceHer iki uçta zıplama

Doğru Kolaylaştırmayı Seçme

  • UI öğeleri ve metin: Doğal hissettiren girişler için easeOutCubic veya easeOutQuart
  • Dikkat çekici hareket: Eğlenceli aşma için easeOutElastic veya easeOutBack
  • Yumuşak döngü: Yumuşak, sürekli hareket için easeInOutSine
  • Dramatik açılımlar: Yapılar için easeInExpo, hızlı duruşlar için easeOutExpo
  • Fiziksel simülasyon: Yerçekimi benzeri efektler için easeOutBounce

Sahne Geçişleri

Geçişler, bir sahnenin bir sonrakine nasıl aktığını kontrol eder. Rendervid, basit kesimlerden sinematik 3D efektlere kadar 17 geçiş türü sağlar.

Geçiş Yapılandırması

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

transition nesnesi gelen sahneye (geçiş yapılan sahne) yerleştirilir. direction özelliği yalnızca slide, wipe ve push gibi yönlü geçişlere uygulanır.

Tüm 17 Geçiş Türü

GeçişAçıklama
cutGörsel efekt olmadan anında geçiş (varsayılan)
fadeSahneler arası çapraz solma – giden sahne solarken gelen sahne belirir
zoomGelen sahne görünürken giden sahneye yakınlaşır
slideGelen sahne, yapılandırılabilir bir yönden (sol, sağ, yukarı, aşağı) giden sahnenin üzerine kayar
wipeSert kenarlı bir silme, verilen yönde çerçeve boyunca hareket ederek gelen sahneyi ortaya çıkarır
pushGelen sahne, giden sahneyi belirtilen yönde ekran dışına iter
rotateGiden sahne dönerek uzaklaşırken gelen sahne dönerek girer
flip3D çevirme geçişi – çerçeve bir kart gibi çevrilerek sonraki sahneyi gösterir
blurGiden sahne bulanıklaşırken gelen sahne netleşerek odaklanır
circleDairesel bir maske merkezden (veya belirtilen bir noktadan) genişleyerek sonraki sahneyi ortaya çıkarır
glitchKromatik sapma ve yer değiştirme ile dijital arıza bozulma efekti
dissolveBireysel piksellerin sahneler arasında rastgele geçiş yaptığı piksel seviyesinde çözülme
cube3D küp dönüşü – sahneler dönen bir küpün bitişik yüzlerindedir
swirlGiden sahneyi gelen sahneye döndüren spiral bozulma
diagonal-wipeBir köşeden karşı köşeye hareket eden çapraz sert kenarlı silme
irisKamera diyaframı gibi açılan veya kapanan dairesel iris
crosszoomHer iki sahne de aynı anda yakınlaşır – giden yakınlaşır, gelen uzaklaşır

Geçiş Örnekleri

Uzun çapraz solma ile sinematik solma:

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

Sağdan kaydırma (sıralı içerik için yaygın):

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

3D küp dönüşü (dinamik, modern his):

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

Arıza efekti (enerjik, teknoloji odaklı):

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

Görsel Efektler

Rendervid katmanları, filtreler, karışım modları, gölgeler ve dönüşümler aracılığıyla bir dizi görsel efekti destekler.

Filtreler

Filtreler, herhangi bir katmandaki filters dizisi aracılığıyla uygulanır. Her filtre, bir type ve value içeren bir nesnedir:

{
  "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 }
  ]
}
FiltreDeğer AralığıAçıklama
blur0+ (piksel)Gauss bulanıklığı – daha yüksek değerler daha fazla bulanıklık üretir
brightness0+ (çarpan)0 = siyah, 1 = normal, 2 = çift parlaklık
contrast0+ (çarpan)0 = gri, 1 = normal, 2 = çift kontrast
grayscale0-10 = tam renk, 1 = tamamen doygunluktan arındırılmış
hue-rotate0-360 (derece)Renkleri renk çemberi etrafında döndürür
invert0-10 = normal, 1 = tamamen ters renklere çevrilmiş
saturate0+ (çarpan)0 = doygunluktan arındırılmış, 1 = normal, 2 = çift doygunluk
sepia0-10 = normal, 1 = tam sepya tonu

Karışım Modları

blendMode özelliği, bir katmanın altındaki katmanlarla nasıl birleştiğini kontrol eder:

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

Desteklenen karışım modları: normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity.

Gölgeler

Metin ve şekil katmanları, style özelliği aracılığıyla gölge efektlerini destekler:

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

Efektleri Birleştirme

Filtreler, karışım modları, opaklık ve gölgeler, sofistike görsel işlemler için tek bir katmanda birleştirilebilir:

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

Yazı Tipi Yapılandırması

Rendervid, hem Google Fonts’u (100+ aile yerleşik) hem de harici URL’lerden yüklenen özel yazı tiplerini destekler.

Google Fonts

Google Fonts’u fonts.google dizisinde bildirin:

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

Her yazı tipi nesnesi şunları gerektirir:

AlanTürAçıklama
familystringGoogle Font aile adı (tam eşleşme gerekli)
weightsarrayYüklenecek sayısal ağırlıklar dizisi (100-900)

Yaygın yazı tipi ağırlıkları: 100 (İnce), 200 (Ekstra Hafif), 300 (Hafif), 400 (Normal), 500 (Orta), 600 (Yarı Kalın), 700 (Kalın), 800 (Ekstra Kalın), 900 (Siyah).

Özel Yazı Tipleri

fonts.custom dizisini kullanarak harici URL’lerden yazı tipleri yükleyin:

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

Desteklenen yazı tipi formatları: WOFF2 (en küçük dosya boyutu için önerilir), WOFF, TTF ve OTF.

Katmanlarda Yazı Tiplerini Kullanma

Metin katmanı stillerinde aile adına göre bildirilen yazı tiplerine referans verin:

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

Rendervid, farklı ortamlarda tutarlı render sağlamak için platforma özel yazı tipi yedek zincirleri içerir. Belirtilen bir yazı tipi kullanılamıyorsa, render edici aynı sınıflandırmaya uyan sistem yazı tiplerine (serif, sans-serif, monospace) geri döner.


Çıktı Formatları

Rendervid, hem video hem de görüntü render için geniş bir çıktı formatı ve codec yelpazesini destekler.

Video Formatları

FormatCodecDosya UzantısıEn İyi Kullanım
MP4H.264.mp4Maksimum uyumluluk – web, mobil, sosyal medya
WebMVP8 / VP9.webmDaha küçük dosya boyutlarıyla web yerleştirme
MOVProRes.movProfesyonel düzenleme iş akışları, kayıpsız kalite
GIF.gifKısa animasyonlar, sosyal paylaşım, e-posta
MP4H.265 / HEVC.mp4Daha yeni cihazlar, aynı kalitede H.264’ten %50 daha küçük dosyalar
WebMAV1.webmYeni nesil codec, en iyi sıkıştırma verimliliği

Görüntü Formatları

FormatDosya UzantısıEn İyi Kullanım
PNG.pngKayıpsız kalite, şeffaflık desteği
JPEG.jpgFotoğraflar, daha küçük dosya boyutları
WebP.webpModern web, kalite ve boyut arasında en iyi denge

Kalite Ön Ayarları

Ön AyarAçıklama
draftAzaltılmış kalite ile hızlı render – önizleme için ideal
standardDengeli kalite ve dosya boyutu – çoğu kullanım durumu için iyi
highDaha yüksek bit hızı ve kalite – nihai teslimatlar için
losslessSıkıştırma yapay nesneleri olmadan maksimum kalite

Çözünürlük Desteği

Rendervid, küçük küçük resimlerden 8K’ya kadar çözünürlükleri destekler:

ÇözünürlükBoyutlarYaygın Kullanım
SD640 x 480Küçük resimler, önizlemeler
HD1280 x 720Web videosu, e-posta
Full HD1920 x 1080YouTube, sunumlar
2K2560 x 1440Yüksek kaliteli ekranlar
4K UHD3840 x 2160Profesyonel, yayın
8K7680 x 4320Maksimum çözünürlük, geleceğe hazır

1 fps (slayt gösterileri) ile 120 fps (ağır çekim, oyun içeriği) arasındaki kare hızları desteklenir. Yaygın seçimler 24 fps (sinematik), 30 fps (web/sosyal) ve 60 fps’dir (yumuşak hareket).


Tam Örnek

İşte şablon sisteminin temel özelliklerini birlikte gösteren tam bir Rendervid şablonu: dinamik girişler, geçişli birden fazla sahne, katmanlı kompozisyonlar, kolaylaştırmalı animasyonlar, yazı tipleri ve görsel efektler.

{
  "name": "tech-product-launch",
  "output": {
    "type": "video",
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "duration": 20,
    "backgroundColor": "#0A0A0A"
  },
  "inputs": [
    {
      "key": "productName",
      "type": "string",
      "label": "Ürün Adı",
      "required": true,
      "default": "ProductX"
    },
    {
      "key": "tagline",
      "type": "string",
      "label": "Slogan",
      "required": true,
      "default": "Gelecek burada."
    },
    {
      "key": "heroImage",
      "type": "url",
      "label": "Ana Görsel",
      "required": true
    },
    {
      "key": "primaryColor",
      "type": "color",
      "label": "Birincil Renk",
      "default": "#6C63FF"
    },
    {
      "key": "ctaText",
      "type": "string",
      "label": "Harekete Geçirici Mesaj",
      "default": "Daha Fazla Bilgi"
    }
  ],
  "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": "Tanıtıyoruz",
            "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"
              }
            ]
          }
        ]
      }
    ]
  }
}

Bu şablon, üç sahneli 20 saniyelik bir ürün lansmanı videosu oluşturur: kademeli metin animasyonları ile tipografik bir giriş, yüzen bir görüntü ve daktilo efekti ile bir ürün vitrini ve titreşen bir düğme ile kapanış harekete geçirici mesaj sahnesi. Tüm metinler, renkler ve görseller şablon değişkenleri tarafından yönlendirilir, bu da tamamen yeniden kullanılabilir hale getirir.


Sonraki Adımlar

  • Katman Bileşenleri Referansı – Tam özellik dokümantasyonu ve örneklerle 8 katman türünün her birine derin dalış
  • Yapay Zeka Entegrasyonu – LLM destekli şablon oluşturma ve içerik farkında render dahil olmak üzere yapay zeka kullanarak Rendervid şablonlarını nasıl oluşturacağınızı ve değiştireceğinizi öğrenin
  • Dağıtım Rehberi – Rendervid’i üretim için kurun: sunucu tarafı render, bulut dağıtımı, toplu işleme ve API entegrasyonu

Sıkça sorulan sorular

Rendervid şablon formatı nedir?

Rendervid şablonları, bir videonun veya görüntünün yapısını, içeriğini, animasyonlarını ve çıktı ayarlarını tanımlayan JSON dosyalarıdır. Her şablon, bir çıktı yapılandırması (boyutlar, fps, süre), dinamik değişkenler için giriş tanımları, sahneler ve katmanlarla bir kompozisyon ve isteğe bağlı yazı tipi ve özel bileşen yapılandırmalarını içerir.

Rendervid'de şablon değişkenleri nasıl çalışır?

Şablon değişkenleri {{variableName}} sözdizimini kullanır. Şablonun inputs dizisinde bir anahtar, tür (string, number, boolean, color, url, array), etiket, açıklama ve varsayılan değer ile girişler tanımlarsınız. Render zamanında, bu değişkenler gerçek değerlerle değiştirilir, bu da şablonları yeniden kullanılabilir ve dinamik yapar.

Rendervid'de kaç animasyon ön ayarı var?

Rendervid, dört kategoride düzenlenmiş 40+ yerleşik animasyon ön ayarı içerir: giriş animasyonları (fadeIn, slideIn, scaleIn, bounceIn, vb.), çıkış animasyonları (fadeOut, slideOut, zoomOut, vb.), vurgu animasyonları (pulse, shake, bounce, swing, heartbeat, vb.) ve 30+ kolaylaştırma fonksiyonu ile tamamen özelleştirilebilir anahtar kare animasyonları.

Hangi sahne geçişleri mevcut?

Rendervid 17 sahne geçiş türü sunar: cut, fade, zoom, slide, wipe, push, rotate, flip (3D), blur, circle, glitch, dissolve, cube (3D), swirl, diagonal-wipe, iris ve crosszoom. Her geçiş, süre ve yön parametreleri ile yapılandırılabilir.

Rendervid hangi çıktı formatlarını destekler?

Rendervid, video için MP4 (H.264), WebM (VP8/VP9), MOV (ProRes), GIF ve görüntüler için PNG, JPEG, WebP dahil olmak üzere birden fazla çıktı formatını destekler. H.265/HEVC ve AV1 gibi gelişmiş codec'ler de desteklenir. Çözünürlük, 1 ila 120 fps arasındaki kare hızlarıyla 8K'ya (7680x4320) kadar çıkar.

Rendervid şablonlarında özel yazı tipleri kullanabilir miyim?

Evet, Rendervid 100+ yerleşik Google Font ve WOFF2, WOFF, TTF ve OTF formatlarında URL'lerden özel yazı tipi yüklemeyi destekler. 100-900 arasında yazı tipi ağırlıkları belirtebilir ve platformlar arası uyumluluk için platforma özel yedekleri yapılandırabilirsiniz.

Kendi AI Ekibinizi oluşturalım

Sizinki gibi şirketlere akıllı chatbotlar, MCP Sunucuları, AI araçları veya organizasyonunuzdaki tekrarlanan görevlerde insanları değiştirmek için diğer AI otomasyon türlerini geliştirmede yardım ediyoruz.

Daha fazla bilgi

json2video-mcp
json2video-mcp

json2video-mcp

FlowHunt'i json2video-mcp sunucusuyla entegre ederek programatik video üretimini otomatikleştirin, özel şablonları yönetin ve video iş akışlarını güvenli ve esn...

4 dakika okuma
AI Video Automation +3