
Rendervid テンプレートシステム - JSON テンプレート、変数、アニメーション & トランジション
Rendervid テンプレートシステムの完全ガイド。JSON ビデオテンプレートの作成方法、{{variable}} 構文を使った動的変数の使用、40種類以上のアニメーションプリセット、17種類のシーントランジション、30種類以上のイージング関数の設定方法を学びます。...

Rendervid の全コンポーネントを探索:8つの組み込みレイヤータイプ(テキスト、画像、動画、シェイプ、オーディオ、グループ、Lottie、カスタム)、構築済み React コンポーネント、ビジュアルテンプレートエディター、動画プレイヤー。完全な React サポートでカスタムコンポーネントを作成。
Rendervid は、動画作成をモジュラー、拡張可能、開発者フレンドリーにするコンポーネントベースのアーキテクチャで構築されています。Rendervid テンプレート 内のすべての要素はレイヤーであり、各レイヤーにはレンダリング方法を決定する特定のタイプがあります。8つの組み込みレイヤータイプ、増加し続ける構築済み React コンポーネントライブラリ、ビジュアルテンプレートエディター、スタンドアロンプレイヤーにより、Rendervid はプログラマティックにプロフェッショナルな動画コンテンツを制作するために必要なすべてを提供します。
このページでは、テキストやシェイプなどのプリミティブレイヤータイプから、オーディオと動画の再生、無限のクリエイティブな可能性を解き放つ完全カスタム React コンポーネントまで、完全なコンポーネントエコシステムをカバーします。シンプルなタイトルカードを構築する場合でも、複雑なデータドリブンアニメーションを構築する場合でも、これらのコンポーネントを理解することが基礎となります。
Rendervid テンプレート内のすべてのレイヤーは、type フィールドを持つ JSON オブジェクトとして定義されます。タイプは利用可能なプロパティとレンダリング動作を決定します。以下は、8つの組み込みレイヤータイプそれぞれの詳細なリファレンスです。
text レイヤーは Rendervid で最も機能豊富なプリミティブです。タイポグラフィ、配置、色、エフェクト、アニメーションを完全に制御してスタイル付きテキストをレンダリングします。
タイポグラフィプロパティ:
| プロパティ | 説明 | 例 |
|---|---|---|
fontSize | ピクセル単位のフォントサイズ | 48 |
fontFamily | フォントファミリー名 | "Inter" |
fontWeight | 100から900までのウェイト | 700 |
fontStyle | ノーマルまたはイタリック | "italic" |
Rendervid には 100以上の Google フォントが組み込まれています。外部スタイルシートを読み込む必要なく、fontFamily プロパティを指定するだけで、それらのいずれかを使用できます。
配置プロパティ:
| プロパティ | 値 | デフォルト |
|---|---|---|
textAlign | left、center、right、justify | left |
verticalAlign | top、middle、bottom | top |
スタイリングとエフェクト:
color と backgroundColortextShadowtextStroketextDecorationtextTransformmaxLines{
"type": "text",
"text": "Welcome to 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)"
}
タイプライターエフェクトなどの高度なテキストアニメーションには、テキストレイヤーをキーフレームアニメーションと組み合わせるか、専用の TypewriterEffect コンポーネント を使用します。
image レイヤーは、柔軟なサイジングとクロッピングオプションでラスターおよびベクター画像を表示します。
主要プロパティ:
| プロパティ | 説明 | 値 |
|---|---|---|
source | 画像ファイルへの URL | 任意の有効な URL |
fit | 画像が境界をどのように埋めるか | cover、contain、fill、none |
position | クロッピングアンカーポイント | CSS スタイルの object-position、例:"center top" |
サポートされる形式: 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"
}
fit プロパティは CSS の object-fit のように動作します:
video レイヤーは、完全な再生制御で動画クリップをコンポジションに埋め込みます。
主要プロパティ:
| プロパティ | 説明 | デフォルト |
|---|---|---|
source | 動画ファイルへの URL | 必須 |
startTime | ソース動画へのオフセット(秒) | 0 |
playbackRate | 速度乗数 | 1 |
muted | オーディオがミュートされているか | false |
loop | 動画クリップをループするか | 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
}
startTime を使用してイントロをスキップするか、ソース映像の特定のポイントにジャンプします。playbackRate と組み合わせて、スローモーション(0.5)またはタイムラプス(2.0)エフェクトを実現します。
shape レイヤーは、塗りつぶし、ストローク、グラデーション、角丸を持つベクターシェイプを描画します。
シェイプタイプ:
| タイプ | 説明 |
|---|---|
rectangle | オプションの borderRadius を持つ基本的な矩形 |
ellipse | 円または楕円 |
polygon | 設定可能な辺を持つ正多角形 |
star | 設定可能なポイントを持つ星形 |
path | カスタム SVG パスデータ |
スタイリングプロパティ:
fill – 単色またはグラデーションstroke – ボーダー色strokeWidth – ボーダーの太さborderRadius – 矩形の角丸linear と 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
}
カスタムシェイプには、標準 SVG パスデータで path タイプを使用します:
{
"type": "shape",
"shapeType": "path",
"path": "M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"fill": "#EC4899",
"stroke": "none"
}
audio レイヤーは、ボリュームコントロール、フェーディング、完全なエフェクトチェーンを備えたオーディオトラックをコンポジションに追加します。
主要プロパティ:
| プロパティ | 説明 | デフォルト |
|---|---|---|
source | オーディオファイルへの URL | 必須 |
volume | ボリュームレベル(0から1) | 1 |
fadeIn | フェードイン時間(秒) | 0 |
fadeOut | フェードアウト時間(秒) | 0 |
オーディオエフェクトチェーン:
Rendervid には組み込みのエフェクト処理パイプラインが含まれています。利用可能なエフェクト:
{
"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
}
エフェクトは順番に処理され、洗練されたオーディオ処理チェーンを構築できます。ステレオ配置には -1(完全に左)から 1(完全に右)までの pan 値を使用します。
group レイヤーは子レイヤーを保持するコンテナです。グループに適用された変換はすべての子に影響し、複雑なマルチレイヤーコンポジションを単一のユニットとして移動、スケール、回転、またはアニメーション化することが簡単になります。
主要プロパティ:
| プロパティ | 説明 |
|---|---|
children | 子レイヤーオブジェクトの配列 |
{
"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": "Card Title",
"x": 24,
"y": 24,
"fontSize": 28,
"fontWeight": 600,
"color": "#F8FAFC"
},
{
"type": "text",
"text": "Supporting description text goes here.",
"x": 24,
"y": 64,
"fontSize": 16,
"color": "#94A3B8"
}
]
}
グループは複雑なテンプレートを整理するのに非常に役立ちます。再利用可能なカードレイアウト、ローワーサード、オーバーレイ、その他の複合要素を作成するために使用します。子の座標はグループの位置に対して相対的です。
lottie レイヤーは、After Effects、Figma、またはその他のアニメーションツールからエクスポートされた Lottie アニメーションをレンダリングします。
主要プロパティ:
| プロパティ | 説明 | デフォルト |
|---|---|---|
source | Lottie JSON ファイルへの URL | 必須 |
speed | 再生速度乗数 | 1 |
direction | 順方向は 1、逆方向は -1 | 1 |
loop | アニメーションをループするか | false |
startFrame | 再生する最初のフレーム | 0 |
endFrame | 再生する最後のフレーム | 最終フレーム |
{
"type": "lottie",
"source": "https://cdn.example.com/loading-spinner.json",
"x": 860,
"y": 440,
"width": 200,
"height": 200,
"speed": 1.5,
"loop": true,
"startFrame": 0,
"endFrame": 60
}
Lottie レイヤーは、フレームごとのコードを書くことなく、洗練されたモーショングラフィックス、アイコン、ローディングインジケーター、ブランドアニメーションを追加するのに最適です。startFrame と endFrame プロパティを使用すると、アニメーションをトリミングして特定のセグメントのみを再生できます。
custom レイヤーは Rendervid で最も強力なレイヤータイプです。フレームごとにレンダリングする任意の React コンポーネントを記述でき、視覚的な出力を完全に制御できます。
カスタムコンポーネントには3つのデプロイメントタイプがあります:
JavaScript コードを JSON テンプレートに直接埋め込みます。小さな自己完結型コンポーネントに最適です。
{
"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"
}
}
CDN などの外部 URL からコンポーネントを読み込みます。テンプレート間で共有される再利用可能なコンポーネントに最適です。
{
"type": "custom",
"deployment": {
"type": "url",
"url": "https://cdn.example.com/components/animated-counter.js"
},
"props": {
"startValue": 0,
"endValue": 1000,
"prefix": "$",
"color": "#10B981"
}
}
名前で事前登録されたコンポーネントを使用します。@rendervid/components パッケージまたはカスタムレジストリのコンポーネントに最適です。
{
"type": "custom",
"deployment": {
"type": "reference",
"name": "AnimatedLineChart"
},
"props": {
"data": [10, 25, 40, 35, 60, 80, 72, 95],
"lineColor": "#6366F1",
"gradientOpacity": 0.3
}
}
すべてのカスタムコンポーネントは標準のプロパティセットを受け取ります:
| プロパティ | タイプ | 説明 |
|---|---|---|
frame | number | 現在のフレーム番号(0から開始) |
fps | number | コンポジションの1秒あたりのフレーム数 |
sceneDuration | number | 現在のシーンの時間(秒) |
layerSize | { width, height } | レイヤーのピクセル寸法 |
props | object | テンプレートで定義されたカスタムプロパティ |
カスタムコンポーネントは、プロパティのスキーマ検証もサポートしており、テンプレートが各コンポーネントに正しいデータ型と必須フィールドを渡すことを保証します。
@rendervid/components パッケージには、テンプレートですぐに使用できる本番環境対応のコンポーネントセットが付属しています。
スムーズなグラデーション塗りつぶし、設定可能なデータポイント、軸ラベル、アニメーション描画エフェクトを備えたアニメーション折れ線グラフをレンダリングします。レポート、ダッシュボード、プレゼンテーションなどのデータドリブン動画コンテンツに最適です。
主要プロパティ: data、lineColor、gradientOpacity、strokeWidth、labels、animationStyle
レイヤードグラデーションと流体モーションを使用して、魅惑的なオーロラ(オーロラボレアリス)エフェクトを作成します。雰囲気のある背景、イントロシーケンス、アンビエントビジュアルに最適です。
主要プロパティ: colors、speed、intensity、blur
設定可能な色、振幅、周波数で流体波アニメーションを生成します。スタイリッシュな背景、音楽ビジュアライザー、海をテーマにしたコンテンツに使用します。
主要プロパティ: waveCount、colors、amplitude、frequency、speed
シーン間を移動するための17種類のプロフェッショナルトランジションタイプを提供します。ワイプ、フェード、ズーム、スライドなどが含まれます。各トランジションはフレーム精度で設定可能です。
主要プロパティ: transitionType、duration、direction、easing
点滅カーソル付きの文字ごとのテキスト表示をレンダリングします。設定可能なタイピング速度、カーソルスタイル、単語間の遅延をサポートします。コードデモ、チャットシミュレーション、ドラマチックなテキスト表示に最適です。
主要プロパティ: text、typingSpeed、cursorChar、cursorBlinkRate、startDelay
独自のカスタムコンポーネントを構築することは、Rendervid が真に輝く場所です。JavaScript と CSS で作成できる視覚エフェクトは、すべて Rendervid コンポーネントになります。
Rendervid カスタムコンポーネントは、プロパティを受け取り React 要素を返す標準的な JavaScript 関数です。典型的な React コンポーネントとの主な違いは、レンダリングがイベント駆動ではなくフレーム駆動であることです。
function MyComponent({ frame, fps, sceneDuration, layerSize, props }) {
// アニメーション進行状況を計算(0から1)
const totalFrames = fps * sceneDuration;
const progress = frame / totalFrames;
// 進行状況を使用してアニメーションを駆動
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 || "Hello, Rendervid!");
}
すべてのカスタムコンポーネントは、これらの標準プロパティを受け取ります:
fps で乗算して総フレーム数を取得します。width と height をピクセル単位で持つオブジェクト。Rendervid コンポーネントはレンダリング環境で実行されるため、JSX ではなく React.createElement() を使用します。パターンは簡単です:
// JSX 相当:<div className="container"><span>Hello</span></div>
React.createElement("div", { className: "container" },
React.createElement("span", null, "Hello")
);
テンプレート読み込み時にデータを検証するために、コンポーネントのプロパティのスキーマを定義できます:
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 },
};
物理演算で150以上のパーティクルをシミュレートするパーティクルシステムコンポーネント:
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);
}
開始値と終了値の間を補間する数値カウントアニメーション:
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 || ""));
}
カスタムコンポーネントがより広範なテンプレート構造にどのように適合するかについては、テンプレートシステムドキュメント を参照してください。
@rendervid/editor パッケージは、開発者以外と開発者の両方が JSON を手書きせずに Rendervid テンプレートを構築できるようにする、フル機能のビジュアルテンプレートエディターを提供します。
エディターには、各レイヤーがドラッグ、リサイズ、再配置できるブロックとして表されるマルチトラックタイムラインが備わっています。開始時刻、時間、レイヤーの順序を視覚的に調整します。フレームレベルの精度のためにズームインするか、高レベルの概要のためにズームアウトします。
専用パネルには、ドラッグアンドドロップでの並べ替え、表示切り替え、ロックコントロール、グループ化を備えたコンポジション内のすべてのレイヤーがリストされます。8つの組み込みタイプと登録されたカスタムコンポーネントをすべて含むコンポーネントパレットから新しいレイヤーを追加します。
任意のレイヤーを選択して、構造化されたフォームでそのプロパティを表示および編集します。プロパティパネルはレイヤータイプに適応し、関連するフィールドのみを表示します。カラーピッカー、スライダー、ドロップダウン、テキスト入力により、すべての詳細を簡単に調整できます。変更はプレビューに即座に反映されます。
すべての変更は、完全な元に戻すとやり直しのサポートを備えた履歴スタックに記録されます。以前の状態にいつでも戻せることを知って、自信を持って編集履歴をナビゲートします。
エディターには、変更を加えながらテンプレートをリアルタイムでレンダリングする埋め込み Player コンポーネント が含まれています。エクスポートやレンダリングをする必要なく、編集中のいつでも完全なコンポジションをプレビューします。
@rendervid/player パッケージは、ブラウザで Rendervid テンプレートをプレビューするためのスタンドアロン React コンポーネントを提供します。
任意の React アプリケーションにプレイヤーをインストールして埋め込みます:
import { Player } from "@rendervid/player";
function Preview({ template }) {
return (
<Player
template={template}
width={1920}
height={1080}
onComplete={() => console.log("Playback finished")}
/>
);
}
プレイヤーは、効率的なプレビューのための組み込みキーボードコントロールをサポートしています:
| ショートカット | アクション |
|---|---|
Space | 再生 / 一時停止 |
Left Arrow | 1フレーム戻る |
Right Arrow | 1フレーム進む |
M | オーディオをミュート / ミュート解除 |
0.25倍(1/4速度)から4倍(4倍速度)まで再生速度を調整します。スローモーション再生はフレームごとにアニメーションをレビューするのに役立ち、早送りは長いコンポジションをスキャンするのに役立ちます。
プレイヤーは、プログラマティックコントロールのためのコールバックを公開します:
| コールバック | 説明 |
|---|---|
onComplete | 再生が終了に達したときに発火 |
onFrameChange | 現在のフレーム番号を持つすべてのフレームで発火 |
onPlayStateChange | 再生/一時停止状態が変更されたときに発火 |
これらのコールバックを使用して、プレイヤーを外部 UI 要素、分析、またはインタラクティブエクスペリエンスと同期します。
これらのカスタムコンポーネントの例は、Rendervid のカスタムレイヤータイプで可能なことの範囲を示しています。それぞれが上記で説明したのと同じ React.createElement() パターンを使用して構築されています。
150以上のパーティクル、設定可能な重力、色、爆発半径を持つ物理ベースのパーティクルシステム。パーティクルは中心点から生成され、リアルなモーションで外側に弧を描きます。

周波数データに反応するオーディオリアクティブ波パターン。設定可能な振幅、周波数、色を持つ複数の波レイヤーが、ダイナミックでオーガニックなビジュアルを作成します。

フリッカー、パルス、カラーサイクリングを含む、アニメーションネオンライトエフェクトを持つ光るテキスト。カスタマイズ可能なグロー半径、色、アニメーション速度。

スキャンライン、データ読み出し、グリッドオーバーレイ、アニメーション UI 要素を備えた SF にインスパイアされたホログラフィック UI。テクノロジーをテーマにした動画や未来的なイントロに最適です。

テクスチャ付きの面とスムーズな回転を持つハードウェアアクセラレーション CSS 3D キューブ。WebGL なしでパフォーマンスの高い 3D レンダリングのために CSS の perspective と transform3d を使用します。

アニメーション棒グラフ、折れ線グラフ、統計カウンターを備えたマルチチャートダッシュボードコンポーネント。レポート、プレゼンテーション、データストーリーテリング用にデータドリブンで設定可能です。

追加のカスタムコンポーネントの例には次のものが含まれます:
Rendervid は8つの組み込みレイヤータイプをサポートしています:テキスト(100以上のフォントを使った豊富なタイポグラフィ)、画像(cover/contain/fill モードあり)、動画(再生制御あり)、シェイプ(矩形、楕円、多角形、星、SVG パス)、オーディオ(ミキシングエフェクトあり)、グループ(レイヤーのネスト用)、Lottie(Lottie アニメーション用)、カスタム(React コンポーネント用)。
カスタムコンポーネントは3つの方法でデプロイできます:インライン(JavaScript コードを JSON テンプレートに直接記述)、URL ベース(CDN から読み込み)、または事前登録された参照として。各コンポーネントは frame、fps、sceneDuration、layerSize プロパティと、定義したカスタムプロパティを受け取ります。コンポーネントはレンダリングに React.createElement() を使用します。
Rendervid には @rendervid/components パッケージにいくつかの構築済みコンポーネントが含まれています:データ可視化用の AnimatedLineChart、オーロラエフェクト用の AuroraBackground、流体アニメーション用の WaveBackground、17種類のプロフェッショナルトランジション用の SceneTransition、文字ごとのテキスト表示用の TypewriterEffect。
はい、@rendervid/editor パッケージは、タイムラインベースの編集、レイヤー管理、レイヤープロパティを編集するプロパティパネル、元に戻す/やり直しの履歴、リアルタイムプレビューを備えた完全なビジュアルテンプレートエディターを提供します。@rendervid/player パッケージは、テンプレートをプレビューするためのスタンドアロンプレイヤーコンポーネントを提供します。
もちろんです。フレームごとのアニメーションをレンダリングするカスタム React コンポーネントを作成できます。コンポーネントは現在のフレーム番号、fps、シーン時間、レイヤーサイズを受け取り、プロシージャルアニメーション、物理シミュレーション、データ可視化、パーティクルシステムなどを完全に制御できます。

Rendervid テンプレートシステムの完全ガイド。JSON ビデオテンプレートの作成方法、{{variable}} 構文を使った動的変数の使用、40種類以上のアニメーションプリセット、17種類のシーントランジション、30種類以上のイージング関数の設定方法を学びます。...

Rendervidをどこにでもデプロイ:プレビュー用のブラウザベースレンダリング、サーバーサイドバッチ処理用のNode.js、またはAWS Lambda、Azure Functions、GCP、Dockerでのクラウドレンダリングにより、10~50倍高速な並列レンダリングを実現します。...

プログラマティック動画生成のための無料オープンソースのRemotion代替ツール、Rendervidをご紹介します。MCP統合、JSONテンプレート、クラウドレンダリングを備えたAIファーストの設計で、ライセンス料は不要。AIエージェント、自動化、大規模コンテンツ制作に最適です。...