drawing_diagram
Renders an animated flow diagram (nodes and directed edges) as a video clip.
When to use
Use to visualize system architectures, workflows, or any graph with labeled nodes and connections. Nodes can display company logos.
In the editor
Add it from the Library (Overlays group), or with + add step and a search for drawing_diagram.
It takes no inputs. The diagram is described by two fields: nodes, the boxes, each with an id and the label to show (set logo: true on one to show a company logo instead of text), and edges, the arrows, each naming the node it comes from and the node it goes to. Both are free-form fields, so the YAML tab is often the more comfortable place to type them, and hovering a key there explains what belongs in it.
duration_sec is the time on screen, position_sec an exact placement (empty means the next free gap), and Output Level with the level parameter decide where the clip sits. Colors are background and brand_palette.
You get one clip in the run timeline. Diagrams get busy quickly, so preview before shipping: a handful of boxes reads at video size, a dozen does not.
YAML Example
- id: arch_diagram
processor: drawing_diagram
params:
nodes:
- id: producer
label: "Producer App"
- id: kafka
label: "Redpanda"
logo: true
- id: consumer
label: "Consumer App"
edges:
- from: producer
to: kafka
- from: kafka
to: consumer
duration_sec: 6.0
background: "solid:#1a1a2e"
brand_palette: "e94560,0f3460"
level: broll
output:
timeline: broll
Params
| Param | Type | Default | Description |
|---|---|---|---|
duration_sec |
duration (s) | 5 |
Clip duration |
position_sec |
duration (s) | 0 |
Place the clip at this timeline position (seconds). When omitted, the next available gap is used. |
level |
level | "broll" |
Output timeline level |
background |
string | "auto" |
"auto" or "solid:#rrggbb" |
brand_palette |
string | none | Comma-separated hex colors |
animation_style |
string | none | Override default animation style for this drawing type |
padding_pct |
number | 8 |
Padding as % of frame |
safe_zone_bottom_pct |
number | 0 |
Keep this percentage of the bottom frame height clear (for captions) |
nodes |
text | none | Each: {id, label, logo?}. Set logo: true to substitute a company logo for the label. |
edges |
text | none | Each: {from, to} using node IDs |
Output
EditDecisions: one clip on the configured level.