Create animation card
create_animation_cardCreates animated cards that turn explanations, walkthroughs, and data stories into short video clips. Animates text, shapes, and charts as 16:9 scenes when motion communicates better than static content.
Instructions
Render a short animated clip as a card when no direct video URL exists but motion would communicate better than static content - explanations, walkthroughs, and data stories. Scenes play sequentially in a 16:9 stage with play/pause, replay, and progress controls; everything is generated text, SVG shapes, and CSS animation (no external assets). Compose classic clip patterns and vary them per conversation: title reveal into bullet build (fade/slide), diagram walk-through with arrows tracing in (draw), a chart that zooms into the label range under discussion and back out (chart.zoom), and a closing takeaway scene (zoom). Mix scene kinds freely; per-scene transition and duration make endless variations from the same schema.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Restart from scene 1 after the last scene | |
| title | Yes | ||
| scenes | Yes | ||
| autoplay | No | Start playing on render (default true) | |
| subtitle | No | ||
| tutorTerms | No | Educational tutor terms. The first occurrence of each term in the card's visible prose is underlined; hovering ~1.2s shows the tip and notifies the host so the model can follow up. Terms are matched once per card, longest first, and never inside code samples, tooltips, or another term's tip. Matching is CASE-SENSITIVE, so "PATH" does not attach its tip to a filesystem "path"; set caseInsensitive on a term to match any casing. Term and tip are PLAIN text. | |
| contextActions | No | Right-click menu actions the model anticipates being useful. Choosing one sends its prompt to the conversation; use {{selection}} to include the user's selected text. | |
| sceneDurationMs | No | Default per-scene duration in ms (default 3500) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| card | Yes | ||
| parts | Yes | Split state, present on EVERY card result so one completeness check works for all card types. Cards that cannot split always report {current:1,total:1,hasMore:false}; create_markdown_card and create_code_tour_card pack oversized content into parts and can report more. Read hasMore rather than the card title to decide whether content was withheld. |