> For the complete documentation index, see [llms.txt](https://docs.cstplus.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cstplus.org/documentation/feature-reference/cg-studio.md).

# CG Studio

CG Studio is the built-in character-generator editor. It is where you design the on-screen graphics your channels put on air: lower-thirds, tickers, clocks, scoreboards, logos, QR codes and full-frame slates. You build a graphic once, save it as a template, and take it to air on any channel with no stream restart.

***

### Where to find it

Open **CG Studio** in the sidebar. The editor fills the screen: a canvas in the middle, a layer list, and a properties panel for the selected layer. The canvas is always 1920x1080; graphics are scaled to each channel's resolution automatically when they go on air.

***

### Building a graphic

A graphic is a stack of **layers** drawn back to front. Add a layer from the toolbar, position it on the canvas, and edit its properties on the right.

| Layer type                   | Use it for                                                             |
| ---------------------------- | ---------------------------------------------------------------------- |
| Text / lower-third           | Names, roles, captions, titles                                         |
| Ticker                       | Scrolling single-line headline strip                                   |
| Roll                         | Vertical scrolling credits or notices                                  |
| Clock                        | Live time (HH:mm or HH:mm:ss)                                          |
| Date / countdown / stopwatch | A date, a countdown to a target, or a running timer                    |
| Analog clock                 | A round clock face                                                     |
| Sport scoreboard             | Two teams, scores, game clock, period                                  |
| Shape                        | Rectangle, ellipse/circle, triangle (fills, gradients, radius, stroke) |
| Image                        | A logo or picture from a URL                                           |
| QR                           | A scannable code from any text or URL                                  |

{% hint style="info" %}
Layer order is back to front: the top item in the layer list is drawn last (on top). Drag to reorder, or use grouping and multi-select to move several at once.
{% endhint %}

***

### Design tools

* **Multi-select and grouping** to move and align several layers together.
* **Copy / paste**, **rename**, and **blend modes** per layer.
* **Flip** horizontal or vertical.
* **Gradient text fill** and shape gradients.
* **Snap** to safe zones and to other layers while dragging.
* **Custom safe zones** you can save and reuse.
* **Export / import** a graphic as a file to move it between installs.

***

### Animation

Every layer can animate on a **motion timeline** (the same idea as CapCut or Premiere).

**Step 1: Open the timeline**

Click **Timeline** in the toolbar. A keyframe track appears under the canvas.

**Step 2: Add keyframes**

Move the playhead, change a layer's position, opacity, rotation or scale, and a keyframe is recorded. Repeat to build motion.

**Step 3: Shape the motion**

Pick an easing preset, or open the bezier **speed-curve editor** to draw a custom acceleration curve between two keyframes.

**Playback modes:** once, loop, or ping-pong. You can also give a layer an **idle-loop** so it keeps moving subtly while on air, and stagger animation start with a per-layer delay.

{% hint style="warning" %}
On air, graphics render at the channel's frame rate. If animations look choppy in the broadcast but smooth in the editor, check the channel's frame rate and the CG frame-rate setting under Rendering, not the editor.
{% endhint %}

***

### AI graphics

The **AI** button generates a graphic or on-screen text from a plain-language prompt (for example, "a sports scoreboard for Team A vs Team B" or "lower-third for guest Ivan Petrov, chief editor"). The result drops onto the canvas as editable layers.

{% hint style="info" %}
AI graphics generation and the motion timeline are **Professional plan** features. On lower plans the buttons show a lock.
{% endhint %}

***

### Templates and taking to air

Save a finished graphic as a **template**. Templates appear in CG Studio and on the Linear TV control room, ready to take to air.

To put a graphic on a channel, use the Live Playout control room: select the template and take it. Because CST+ composites graphics in real time over a continuous stream, taking or clearing a graphic never restarts the channel and never drops the picture.

***

### Data-driven text

A text layer can pull its content from a **Google Sheet (CSV)** source, so a lower-third or ticker updates from a spreadsheet instead of being typed by hand. Point the layer at the sheet's CSV URL and map the cell.

For EPG-driven text (an "up next" plate), the text auto-fills on air from the channel's programme guide and refreshes every 30 seconds; the text you type in the editor is only a placeholder.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cstplus.org/documentation/feature-reference/cg-studio.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
