Tutorials throughline — Assets reference
This file is not in the public navigation. It documents the running example used across all 16 tutorial chapters so the docs author (or a future maintainer) can keep examples consistent.
If you are a docs reader, ignore this page. Go to the tutorials index instead.
Throughline project
"Automated real-estate property listings video"
A single property — 123 Oak Street — starts in chapter 1 as a one-image, one-text "for sale" card and grows over the 16 chapters into:
- chapters 1–2: still images + ambient music
- chapters 3–4: 3 distinct scenes (exterior / kitchen / bedroom) with transitions and styled overlays
- chapters 5–6: animated component intro card + a styled HTML price tag
- chapters 7–8: AI voice-over narrating the listing + auto-generated subtitles
- chapter 9: AI-generated b-roll (drone shot, twilight exterior) when no real photo is available
- chapters 10–11: property data lifted into
variablesand packaged as a reusable template - chapter 12: dynamic durations and conditional labels via expressions
- chapter 13: variable number of scenes (one per room) using
iterate - chapter 14: "Open House This Sunday" badge that only shows when a flag is true
- chapter 15: webhook notification so the agent's CRM picks up the finished video
- chapter 16: cache + parallel rendering + quality tuning to minimise credit cost
Sample property variables
The same property is used throughout. Authors should keep these values stable across chapters so a returning reader recognises the project.
| Variable | Value |
|---|---|
address |
123 Oak Street, Portland, OR |
price |
$849,000 |
bedrooms |
4 |
bathrooms |
3 |
sqft |
2,450 |
description |
Sun-drenched 4-bedroom craftsman with chef's kitchen and large backyard. |
agent_name |
Jordan Lee |
open_house |
true (chapter 14 only) |
Sample image URLs
The CDN paths below follow the existing JSON2Video convention. TODO for the docs author before publishing: replace these placeholders with real images uploaded to cdn.json2video.com/assets/images/ so all examples render end-to-end. They are written as if they exist so the JSON validates and the prose reads correctly today.
| Logical slot | URL |
|---|---|
| Exterior front | https://cdn.json2video.com/assets/images/sample-house-front.jpg |
| Kitchen | https://cdn.json2video.com/assets/images/sample-house-kitchen.jpg |
| Master bedroom | https://cdn.json2video.com/assets/images/sample-house-bedroom.jpg |
| Living room | https://cdn.json2video.com/assets/images/sample-house-living.jpg |
| Backyard | https://cdn.json2video.com/assets/images/sample-house-backyard.jpg |
| Drone exterior (video) | https://cdn.json2video.com/assets/videos/sample-house-drone.mp4 |
| Background music | https://cdn.json2video.com/assets/audios/uplifting-corporate.mp3 |
A small set of real existing CDN images is also used to keep early chapters runnable today:
https://cdn.json2video.com/assets/images/flower-bee.jpghttps://cdn.json2video.com/assets/images/london-01.jpghttps://cdn.json2video.com/assets/images/london-02.jpghttps://cdn.json2video.com/assets/images/london-03.jpg
Sample voice-over scripts
One per chapter once voice-over is introduced. Keep them short (1–2 sentences) so the rendered video stays under 30 s and the credit cost stays low when readers run the examples.
| Chapter | Voice text |
|---|---|
| 7 | Welcome to 123 Oak Street — a four-bedroom craftsman home, listed at $849,000. |
| 8 | Same as chapter 7 (subtitles transcribe the chapter-7 voice). |
| 9 | Take a tour of the kitchen, bedrooms, and backyard. |
| 10 | Welcome to {{address}} — a {{bedrooms}}-bedroom home, listed at {{price}}. |
| 11 | Same as chapter 10, now driven by template variables. |
| 12 | Welcome to {{address}}. {{ price_label }} home, available now. |
| 13 | Step inside {{ room.name }}. |
| 14 | Open house this Sunday from 1 to 4 PM. (rendered only when open_house is true) |
| 15 | Same script as chapter 11. |
| 16 | Same script as chapter 11. |
Throughline asset list per chapter
| Chapter | New element(s) added |
|---|---|
| 1 | 1 image, 1 text |
| 2 | + 2nd image, 1 video, 1 audio |
| 3 | + 3 scenes, transitions |
| 4 | + text styling, position, fade-in |
| 5 | + component intro card |
| 6 | + HTML price tag |
| 7 | + voice element |
| 8 | + subtitles element |
| 9 | + AI image, AI video (b-roll) |
| 10 | + variables, {{...}} placeholders |
| 11 | + template ID + variables call |
| 12 | + expressions (math, ternary, function) |
| 13 | + iterate over a rooms array |
| 14 | + condition on elements / scenes |
| 15 | + exports.webhook destination |
| 16 | + cache, parallel scenes, quality |
Notes for future maintainers
- The chapters are cumulative in concept but each chapter ships a self-contained final JSON. A reader starting at chapter 7 should be able to copy-paste the chapter-7 final JSON and render it.
- The video output is rarely shown as a real URL because we do not host rendered tutorial samples yet. Each chapter links to
https://cdn.json2video.com/samples/tutorial-NN.mp4as a placeholder — TODO: the docs author should upload real samples before publishing.