Skip to main content
This guide shows you how to add shape and text elements to your scenes. Elements are decorative overlays placed on top of a scene’s background: for example a badge behind a number, an arrow pointing at a product, or a headline that does not affect your narration.
The elements array also supports video and image overlays: picture-in-picture clips, product shots, and AI-generated visuals. Those are covered in the separate Media Elements guide; all element types can be mixed in the same scene.

What You’ll Learn

Shape Elements

Add basic shapes (rectangle, circle, line) and 130+ library shapes

Text Elements

Add decorative text overlays (heading, subheading, body)

Positioning

Anchor elements with presets and size them as a fraction of the canvas

Styling

Control fill, stroke, font, color, alignment, and more

Before You Begin

Make sure you have:
Scene elements are processed by the v3 storyboard engine. Any scene that includes an elements array is automatically routed to v3; you do not need to set storyboardVersion yourself.

How Scene Elements Work

Each scene accepts an optional elements array. Each entry is either a shape or a text element:
  • A maximum of 20 elements per scene is allowed.
  • Elements render on top of the scene background and any subtitles, in the order provided.

Shape Elements

Set type: "shape" and a name. The shape’s geometry is resolved automatically; you only provide color and position.
FieldTypeRequiredDescription
typestringYesMust be "shape"
namestringYesShape name. See Shape gallery
fillstringNoFill color (rgba(...) or hex). Defaults to a neutral gray
strokestringNoOutline color (rgba(...) or hex)
strokeWidthnumberNoOutline thickness in pixels
borderRadiusnumberNoCorner radius, rectangle only
positionstringNoAnchor preset; defaults to top-right. Use top/left instead for explicit offsets. See Positioning
Only type and name are required. Everything else has a sensible default: no positiontop-right, no width → 20% of the canvas, no fill → neutral gray. So { "type": "shape", "name": "rectangle" } is a complete, valid element.

Shape examples

Colors can be rgb(r,g,b), rgba(r,g,b,a), or hex (#rrggbb).

Pick a Shape by Use Case

Not sure where to start? These are the most common pairings.
You want to…Try shapePair with
Add a call-to-action button backgroundrectangle (with borderRadius)text element on top (textVariant: "body")
Highlight a discount or pricebadge-3 or badge-5text element with textVariant: "heading"
Point at a product or featurearrow-4 or arrow-12Place near the subject with top/left offsets
Frame a testimonial or quotequote-1 or speech-bubble-2text element with textVariant: "body"
Mark “complete” or “approved”checkmark-1Place top-right with default position
Mark “wrong” or “do not do this”cross-1Place top-right with default position
Add a rating or emphasisstar-1 to star-6Repeat the same shape with different left offsets
Soft, modern background accentblob-1 to blob-9Set low-opacity fill like rgba(255,200,100,0.3)
Underline a key word in a headingline-1 to line-17Position below a text element
Add a divider between sectionsline (basic)Center it, set width: "60%"
All 140 shape names available to the API. Type below to filter by name, then click any tile to copy.

Text Elements

Set type: "text" and a text string. Use textVariant for a quick decorative preset, or style for full control.
FieldTypeRequiredDescription
typestringYesMust be "text"
textstringYesThe text to display (max 2000 chars)
textVariantstringNoDecorative preset: "heading", "subheading", or "body". Defaults to "body" if omitted
styleobjectNoFont/color/alignment overrides (same as subtitleStyle)
styleId / styleNamestringNoApply a saved text style
positionstringNoAnchor preset; use top/left instead for explicit offsets. See Positioning

Decorative text presets

textVariant seeds sensible defaults (font size, position, width). You can override any of them with style or position.
PresetDefault sizeDefault positionDefault width
heading66center0.9
subheading42top-center0.9
body20center0.37
Default text positions are kept away from the bottom of the scene so decorative text does not overlap burned-in subtitles. If you want text at the bottom, set position explicitly (e.g. "bottom-center").

Text examples

Text style overrides

The style object accepts the same fields as subtitleStyle, including:
FieldExampleDescription
fontFamily"Plus Jakarta Sans"Font name
fontSize48Font size in points
color"rgba(255,255,255,1)"Text color
backgroundColor"rgba(0,0,0,0.35)"Text background color
alignment"center"left, center, or right
case"uppercase"uppercase, lowercase, capitalize, smallcapitalize
decorations["bold"]bold, underline, italics, linethrough
For example, a fully custom-styled headline:

Positioning

Position an element in one of two ways: a position anchor or explicit top/left offsets. Use one or the other, not both. width is a size and can be combined with either. All fields are optional and live directly on the element.
FieldTypeDescription
positionstringAnchor region (see below). Cannot be combined with top/left
widthstringElement width as a percentage of the canvas, e.g. "20%"
topstringVertical offset as a percentage, e.g. "10%". Cannot be combined with position
leftstringHorizontal offset as a percentage, e.g. "10%". Cannot be combined with position
Valid position values: top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right
center means the middle of the scene. center-center is also accepted and means the same thing.
Use either position or top/left, not both; sending both is rejected. For a quick anchor, use position (a shape with no position defaults to top-right). For fine placement, use top/left instead of a preset.

Positioning examples

Multiple elements per scene

A single scene can mix shapes and text (up to 20 elements). They render in the order provided, on top of the background and subtitles.

Complete Example

Next Steps

Media Elements

Overlay videos and images, from a URL, stock search, or an AI prompt

Scene Transitions

Add smooth transitions between scenes

Smart Layouts

Use pre-designed scene layouts

Background Color Overlay

Tint scene backgrounds for readability and branding