Skip to main content
The text component displays a read-only Markdown card alongside the live video. Users can’t type into or submit from it; to collect an answer, use question or input. text has no component-specific configuration; it’s enabled once the Magic Canvas skill is attached (see Enabling and configuring components). To disable it, set { "components": { "text": { "enabled": false } } } in the skill config.

Display Behavior

Enabling the component adds system-prompt guidance to show a text card for reference material the user reads while the conversation continues. The PAL keeps talking while the card is on screen.

Arguments

The PAL invokes canvas_show_text; Tavus renders the card. The tool_call_id is echoed back on every interaction the card generates.
Example call

Interactions

text is a lifecycle-only component: it never produces submit or skip interactions. The interactions endpoint accepts four types:
The stock Tavus renderers (hosted embed and @tavus/cvi-ui) post a dismiss interaction for text cards (from the X button). They do not post clear, error, or heartbeat; expect those only from a custom renderer.
Renderers post interactions to a public, conversation-scoped endpoint (no API key), accepted only while the conversation is active. Each interaction fires one canvas.interaction webhook event and appears in the interaction history (requires your API key):

Webhook Payload

A dismiss for a text card; the other types share the same envelope, with only type (and sometimes value) changing.
For lifecycle-only components like text, the value object has no enforced shape; Tavus accepts any JSON object up to 16 KB for these types. Key your logic off component, type, and tool_call_id, not value contents.