Tool reference

Every tool, grouped by job, each in the words your assistant reads. You don't call these yourself: ask your assistant in plain words, and it picks the tool.

Your assistant lists three tools. find_tool searches the rest by job or by name, use_tool runs one, and report_problem sends us a problem report, only one you have seen and agreed to send. Each guide names the tools its job uses, so you can follow what your assistant is doing.

What your assistant sees first

find_tool

Find the Polymation tool for a job: authoring and converting Rive (.riv/.rev), Lottie, Spline, Figma, After Effects and Animate animation.

use_tool

Run a Polymation tool by its exact name, with its settings inside `arguments`: {"name":"add_rectangle","arguments":{"artboard":"Main","width":100}}.

report_problem

Tell the Polymation team about a problem so it can be fixed — only with the user's agreement.In: Start here

Start

create_project

Start a new .riv project, optionally with its first artboard (give width and height).In: Logos, icons and shapes

create_artboard

Add an artboard to the project with the given dimensions.In: Logos, icons and shapes

get_workflow

Look up the recommended tool sequence for a goal (bouncing ball, interactive button, sprite sheet, format conversion, editing an existing file, …), plus the common traps and the tool-group catalog.

session_status

Report what the session holds (a new session starts empty) and which optional capabilities work here, in one cheap call: per-artboard counts (shapes/groups/texts/animations/state machines/events), whether a file import is loaded, license…

save_session

Checkpoint the current in-memory scene to a .riv file WITHOUT export_riv's validation gate — a mid-build save so work survives a crash/reconnect even when the scene isn't export-clean yet.In: Edit a file you have

Open or convert

load_riv

Load an existing .riv runtime file OR .rev editor backup into the current session, replacing any existing scene.In: Edit a file you have

import_lottie

Inspect a Lottie animation (bodymovin .json OR dotLottie .lottie — the .lottie zip is unwrapped automatically).In: Convert other formats

import_figma

Fetch a Figma file (REST API, needs a personal access token) or inspect a saved Figma REST JSON — the first step of Figma → Rive/Lottie/Spline conversion.In: Convert other formats

edit_aep

Read an After Effects project (.aep) and write changes back into it — the only way to PRODUCE a .aep, since building one from scratch cannot be verified without After Effects itself.In: Convert other formats, Edit a file you have

convert_format

Convert an animation/design file BETWEEN formats (Rive ↔ Spline, Rive runtime→editor, etc.) and return a per-decision LOSS REPORT.In: Convert other formats, Spine in and out

verify_conversion

QUANTIFY conversion loss before committing to it: runs the round-trip source → target → source, diffs what structurally survived (object/layer counts per kind), and (with previewImages) returns side-by-side renders of the original vs the…In: Convert other formats

See a file's contents

describe_scene

Emit a DEEP structured JSON description of the current scene — far more than list_objects: per-animation keyframes (object/property/frame/value/interpolation) and full state-machine graphs (inputs, layers, states, every transition with i…In: Edit a file you have

list_objects

List all objects in the current scene for reference.In: Edit a file you have

get_object_info

Query any object's current properties by name — a shape, group, text, image, bone or other node, an animation, a state machine or one of its inputs, an event, or an artboard.In: Edit a file you have

inspect_riv_interface

Emit the runtime CONTRACT of the current scene, or of a .riv file (path), as JSON — the interface an app developer needs: every artboard, its animations (name/duration/fps/loop), and each state machine's typed inputs (bool/number/trigger…In: Buttons and interactive files, Edit a file you have, Preview, check and share

Draw shapes

add_rectangle

Add a rectangle shape to an artboard (or inside a group) at the given position with the given size.In: Logos, icons and shapes

add_ellipse

Add an ellipse shape to an artboard (or inside a group/solo) at the given position with the given size.In: Logos, icons and shapes

add_polygon

Add a regular polygon (triangle, hexagon, …) to an artboard or inside a group/solo — flat 2D; for a 3D object use generate_spline_scene.In: Logos, icons and shapes

add_star

Add a star shape to an artboard (or inside a group/solo).In: Logos, icons and shapes

add_triangle

Add a triangle shape to an artboard (or inside a group/solo).

add_path

Add a custom parametric path (rectangle or ellipse) to an existing shape for compound shapes.In: Logos, icons and shapes

add_vector_path

Add a custom vector path (PointsPath with vertices) to a shape that must already exist; create the host first with add_rectangle, add_ellipse, add_polygon, add_star or add_triangle.

create_group

Create a group (a Node whose children move, rotate, scale and fade together) on an artboard or inside another group — not a visual-effect container, which is add_group_effect.In: Logos, icons and shapes

Fill, outline and soften

set_fill

ADD a solid color fill to a shape (each call adds ANOTHER fill — to change an existing fill, e.g. after load_riv, use update_fill instead).In: Logos, icons and shapes

update_fill

MUTATE an existing SOLID fill's colour in place — the right tool after load_riv.In: Edit a file you have

set_gradient_fill

Set a gradient fill on a shape.In: Logos, icons and shapes

set_gradient_stroke

Set a gradient stroke on a shape.

set_stroke

ADD a stroke to a shape (each call adds ANOTHER stroke — to change an existing one, e.g. after load_riv, use update_stroke).In: Logos, icons and shapes

update_stroke

MUTATE an existing stroke in place (color/thickness) — the right tool after load_riv.In: Edit a file you have

set_dash_path

Add a dash pattern to a shape's most recent stroke.

set_trim_path

Add a trim path effect to a shape's stroke.

set_feather

Soften one of a shape's paints: a blur on a fill, a glow on a stroke, or — with offsetX/offsetY — a drop shadow (inner=true gives an inner shadow).In: Logos, icons and shapes, Effects and scripts

Cut or clip

boolean_shapes

COMBINE shapes into one real path — union, subtract, intersect or exclude.In: Logos, icons and shapes

set_clipping

Clips one shape to the bounds of a mask shape (sourceShape).

Move, change or remove

move_object

Move an EXISTING shape, group, text or image under a different parent — the only way to restructure a scene after the fact, since every other tool fixes parentage at creation time.In: Edit a file you have

update_object

Modify transform/geometry properties on any shape, group, text, image, solo or placed (nested) artboard, or how an image's pixels are drawn (sampling).In: Edit a file you have

remove_object

Delete a shape, group, text, image, placed (nested) artboard, ANIMATION, or STATE MACHINE from the scene by name — the recovery tool for a wrong build step (no need to create_project from scratch).In: Edit a file you have

Text

add_text

Add a text object to an artboard (for a field people type into, use add_text_input).In: Logos, icons and shapes

add_text_run

Add a text run (text content) to an existing text object.

update_text

Update the text content of an existing text run.In: Edit a file you have

add_font

Register a font for use in text objects and embed it in the .riv.

measure_text

How big is this text ACTUALLY? Measures real glyph geometry by laying the text out in the Rive runtime with the embedded font — not an estimate from character counts, and not the browser's idea of the font.

add_text_style_axis

Add a variable font axis setting to a text style.

add_text_style_feature

Add an OpenType feature toggle to a text style.

add_text_variation_modifier

Add a TextVariationModifier to an artboard for per-character font variation.

add_text_follow_path_modifier

Add a follow-path modifier to a TextModifierRange.

Typed text fields

add_text_input

Add a text field people can type into (an editable TextInput, with cursor and selection) to an artboard.

add_text_input_text

Add a text drawable to a TextInput.

add_text_input_cursor

Add a cursor drawable to a TextInput.

add_text_input_selection

Add a selection highlight drawable to a TextInput.

add_text_input_selected_text

Add a selected-text drawable to a TextInput.

Letter-by-letter text

add_text_modifier_group

Add a text modifier group to a Text node.In: Logos, icons and shapes

add_text_modifier_range

Add a text modifier range to a TextModifierGroup.In: Logos, icons and shapes

Pictures and SVG

add_image

Place an image on an artboard: at its root, inside a group (parentGroup), or hung off a bone (parentBone) as a rigid part of a rigged character.In: Rig a character from a picture

add_image_asset

Register an image asset (PNG, JPEG or WebP) for use in the scene.

split_image

Split an image into parts that move on their own, without cutting the picture up: each part is the same picture clipped to its band or box, so at rest it draws exactly as before.In: Fix AI pixel art, Animate a pixel character

add_image_slot

Make an image swappable by the app at run time: binds the image (or every part of a split image) to an image property of the artboard's view model, so one .riv shows whatever picture the app puts in — an avatar's outfit, a profile frame,…In: Buttons and interactive files

extract_layer

Take what was drawn onto a base picture out as its own layer: an item on a dress-up base (a jacket, a hat), a face variant (closed eyes, a smile), any change.In: Edit a file you have, Fix AI pixel art, Animate a pixel character

import_svg

Import an SVG file or string — a logo, an icon, a drawing — into an artboard as Rive shapes you can then animate.In: Logos, icons and shapes

add_svg_asset

Register an SVG asset in the scene.

add_lottie_asset

Register a Lottie animation asset in the scene.

Pixel art

snap_pixel_art

Snap pixel art an image model drew (ChatGPT, Gemini…) onto a real pixel grid: such a picture's blocks drift in size, its edges are soft and it has hundreds of near-identical colours.In: Fix AI pixel art, Animate a pixel character

pixel_materials

Split pixel art's colours into materials (skin, each cloth, metal, the outline) and levels on each material's ramp, dark to light: what relighting, recolouring and the pixel puppet work from.In: Fix AI pixel art

pixel_autorig

Propose a skeleton for a pixel-art figure, or check one: the pixel puppet's rig, in the standard of 17 named bones (pelvis, chest, head, clavicles, arms, hands, legs, feet) every character shares, so one animation plays on all of them.In: Animate a pixel character

pixel_puppet_bake

Bake the pixel puppet into one .riv that every Rive runtime plays, phones included, with no scripts and no signing: each animation × each variant (an outfit, a body type) rendered by the puppet (bones turned, tipped toward the camera, li…In: Animate a pixel character

pixel_puppet_live

The pixel puppet LIVE in Rive: one .riv that poses, relights, re-dresses and re-proportions a pixel character while it plays, drawing every frame in the player exactly as the authoring tool does (the puppet runs as AnimaScript, unsigned,…In: Animate a pixel character

pixel_animation

Animations for the pixel puppet, made for one character: from Polymation's library (idle, wave, cheer, tilt, emote, sit: keyed by hand; walk, run: CC0 motion capture), keyed on the humanoid template's bone names so each plays on any char…In: Animate a pixel character

pixel_unwrap

The pixel puppet's limbs as data, for another runtime (a shader, a game engine) to shorten, lengthen, thicken or thin them by any amount with a 1D lookup and to relight them: each limb unwrapped onto its bone (texels in rows along the bo…In: Animate a pixel character

pixel_review

Check a rigged pixel character the way a pixel artist would before shipping it (Tavern's check.py): the rest pose rebuilt exactly (bare and dressed), each bone one piece, joints sane, the face; then every frame of its animations, bare an…In: Animate a pixel character

pixel_refit

Fit clothes drawn on one rigged pixel character onto another with the same skeleton (a broader or taller body type, a new character matched to the first): each bone's piece of the item moves onto the other base's bone, carved to its leng…In: Animate a pixel character

snap_motion_to_pixels

Make an animation move in whole pixels: every x/y track (eased, linear, baked) is sampled each frame, its offset from where the object rests rounded to one pixel of the art, and written as held keys wherever that changes.In: Fix AI pixel art, Animate a pixel character

Keyframe animation

create_animation

Create a linear animation on an artboard.In: Logos, icons and shapes, Buttons and interactive files, Rig a character from a picture

add_keyframe

Add one keyframe OR a whole batch to an animation.In: Logos, icons and shapes, Buttons and interactive files, Rig a character from a picture

remove_keyframe

Remove keyframes from an animation — the recovery tool for a mistargeted or mistyped keyframe (previously the only escape was create_project).

edit_keyframes

Non-destructively edit an existing animation's keyframes instead of deleting and rebuilding it.In: Logos, icons and shapes

make_loop_seamless

Close an animation's loop so it doesn't visibly jump at the boundary.In: Logos, icons and shapes

add_cubic_interpolator_component

Add a CubicInterpolatorComponent to an artboard.

add_animation_folder

Add a folder to an artboard's ANIMATIONS list, to group its animations (an AnimationFolder) — not a folder inside a state machine, which is add_sm_folder.

Motion along a path

animate_along_path

Move an existing named object along a curved path — no more faking curves with mismatched X/Y easing.In: Logos, icons and shapes

animate_trim_path

Animate a shape's stroke with a TrimPath for a draw-on, erase, or marching-dash effect — the classic 'self-drawing line' / 'signature' animation.In: Logos, icons and shapes

morph_path

Create a vector shape that smoothly morphs from one silhouette into another (e.g. circle→star, square→heart).In: Logos, icons and shapes

Physics and particles

bake_motion

Simulate physics (gravity, bounce, wind, spring) for a named shape and inject optimized keyframes into an animation.In: Logos, icons and shapes

bake_shake

Generate decaying camera shake keyframes on a group.In: Logos, icons and shapes

emit_particles

Spawn a batch of particles from a prefab template and bake physics for each.In: Logos, icons and shapes

spawn_prefab

Create one or more shapes from a prefab template — physics/scenery AND interactive UI components share one registry.In: Logos, icons and shapes

list_prefabs

Lists EVERY prefab — physics/scenery AND the interactive UI components, from one shared registry.

compose_scene

Compile a scene description into a .riv file in one call: layers of prefab objects, each with optional motion (physics, spring, shake) and visibility fades, plus an optional camera shake.In: Logos, icons and shapes

Buttons and clicks

add_interaction

Make an EXISTING named shape react to hover, press, tap, or hover AND press (pattern 'hoverPress') in one call, building the state machine, animations, inputs, listeners and transitions.In: Buttons and interactive files

add_listener

Add a click/hover listener to a state machine that fires a trigger, sets a bool, or changes a number input.In: Buttons and interactive files

add_trigger

Add a trigger input to a state machine.In: Buttons and interactive files

create_state_machine

Create a state machine on an artboard for interactive behavior.In: Buttons and interactive files

simulate_state_machine

Drive a state machine in the REAL runtime with a scripted scenario and get back the actual state-transition + event trace — finally making interactivity testable without the editor.In: Buttons and interactive files, Preview, check and share

State machine parts

add_bool_input

Add a true/false input to a state machine — a value its transitions test (for a value the app's code binds, use add_bindable_property).In: Buttons and interactive files

add_number_input

Add a number input to a state machine — a value its transitions and blend states test (create_state_machine first; for a number the app's code reads or binds, use add_bindable_property).In: Buttons and interactive files

add_state

Add an animation state to a state machine layer.In: Buttons and interactive files

add_transition

Add a transition between two states in a state machine layer.In: Buttons and interactive files

remove_transition

Remove a transition from a state machine layer — recovery for a mis-wired transition.

add_fire_trigger

Add a StateMachineFireTrigger action to a transition.

add_vm_condition

Add a ViewModel or Artboard condition with comparators to an existing transition.

add_blend_state_1d

Add a 1D blend state to a state machine layer.

add_blend_state_direct

Add a direct blend state to a state machine layer.

add_sm_folder

Add a folder INSIDE a state machine, to group its inputs, listeners or nested artboards — not a folder for animations, which is add_animation_folder.

Prebuilt UI

spawn_ui_component

Create an interactive UI component from a prefab template (button, toggle_switch, checkbox, radio_button, text_input, slider, progress_bar, circular_progress, spinner, badge, card, divider, tab_bar, nav_bar, chip, avatar, tooltip, toast,…In: Buttons and interactive files

list_ui_prefabs

A filtered view of list_prefabs showing only the interactive UI components — skip it if you already called list_prefabs.In: Buttons and interactive files

Values and events for the app

create_event

Create a named event on an artboard.

create_open_url_event

Create an event that opens a URL when fired.

add_custom_property

Add a custom property to an existing event.

add_custom_property_group

Add an empty CustomPropertyGroup container to an artboard (no properties; add_component_properties creates a group and its typed properties together).

add_component_properties

Expose typed custom properties on an artboard via a Custom Property Group — data-bindable and keyframable values (boolean/number/string/color/enum/trigger) that live on the artboard itself rather than on an event.

add_bindable_property

Add a value the app reads and sets at runtime — a number, text, true/false, colour, choice or trigger bound to a ViewModel (a BindableProperty) — to an artboard; use it, not a state-machine input, for a value the app's code drives.

Data binding (view models)

add_view_model

Create a ViewModel definition.In: Buttons and interactive files

add_view_model_property

Add a typed property to an existing ViewModel.In: Buttons and interactive files

add_view_model_instance

Create a ViewModelInstance on an artboard.In: Buttons and interactive files

add_view_model_instance_value

Add a typed value to a ViewModelInstance.

add_view_model_instance_list_item

Add a list item to a ViewModelInstance list value.

add_data_enum

Add a DataEnum definition (custom or system) with optional initial values.

add_data_enum_value

Add a value to an existing DataEnum by name or index.

add_data_bind

Add a DataBind or DataBindContext to an artboard.In: Buttons and interactive files

add_data_bind_path

Add a DataBindPath child to the most recent DataBind on an artboard.

add_data_converter

Add a DataConverter definition (global scope).

add_data_converter_group_item

Add a group item to a DataConverterGroup by converter index.

add_formula_token

Add a FormulaToken to a DataConverterFormula by converter index.

migrate_to_data_binding

Migrate a Rive file from the deprecated state-machine INPUTS, runtime EVENTS and text-run API to DATA BINDING (view models) — the batch, headless equivalent of the editor's per-file 'Convert Inputs to View Models'.In: Buttons and interactive files, Edit a file you have

verify_data_binding

Catch silent data-binding failures in the current scene — bound values that just never update at runtime.In: Buttons and interactive files, Preview, check and share

Repeating lists

add_artboard_component_list

Repeat one artboard as an item for each entry of a list — a product grid, an inventory, a feed (an ArtboardComponentList, filled from a ViewModel list); add_layout_component cannot repeat items.In: Buttons and interactive files

add_artboard_component_list_override

Add an ArtboardComponentListOverride to an artboard.

add_artboard_list_map_rule

Add an ArtboardListMapRule to an artboard for list templating.

add_list_follow_path_constraint

Add a ListFollowPathConstraint to an artboard.

Layout, scroll and constraints

add_layout_component

Add a flexbox-like layout box to an artboard that sizes, positions and clips itself — it takes no children through these tools and does not repeat items (for a list of items use add_artboard_component_list).

solve_layout

Resolve a responsive layout to CONCRETE boxes — returns the computed x/y/width/height of every layout node, so you can see where a flexbox layout actually put things instead of guessing.

preview_responsive

Does this still work at other sizes? Resizes the artboard to each viewport, lets the REAL runtime lay it out and draw it, then reports where every layout box landed and whether the drawn content still fits inside the artboard — the headl…In: Preview, check and share

add_scroll_constraint

Add a scroll constraint to a layout or container node, enabling scrollable content.In: Buttons and interactive files

add_scroll_bar_constraint

Add a scroll bar constraint linked to an existing scroll constraint.

add_nsliced_node

Add an N-Slice (9-slice scaling) node to an artboard.

add_constraint

Add a constraint to an object.

Nested artboards

add_nested_artboard

Embed one artboard inside another as a reusable component (Rive's nested artboard).In: Buttons and interactive files

add_nested_artboard_layout

Add a nested artboard with layout sizing.

add_nested_animation

Play one of a nested artboard's animations (isPlaying 0 holds its first frame; to hold it at another moment use add_nested_remap_animation).

add_nested_remap_animation

Add a time-remapped animation to a nested artboard.

add_nested_state_machine

Activate a state machine from the nested artboard's target.

add_nested_input

Pass an input value to a nested artboard's state machine.

add_stateful_values

Set this component instance's OWN view-model values (Rive "Stateful Components").

Swappable art and variants

add_layered_asset

Register a layered image asset — a set of image layers the file can show or swap (a LayeredAsset).

add_layer_image_asset

Add a layer image to an existing layered asset.

add_solo

Create a Solo container on an artboard.

Bones, rigs and meshes

add_root_bone

Add a root bone to an artboard.

add_bone

Add a child bone to an existing bone (root bone or another bone).

add_ik_constraint

Add an inverse kinematics (IK) constraint to a bone.

add_skin

Add a skin to a shape's vector path or to an image's mesh, so bones can deform it — then add_tendon for each bone and add_weight for each vertex (for an image, auto_weight_mesh does all three in one call).In: Rig a character from a picture

add_tendon

Add a tendon to a skin.In: Rig a character from a picture

add_weight

Add bone weights to one vertex of a skinned vector path or image mesh.In: Rig a character from a picture

add_mesh

Add a mesh deformation grid to an existing Image.In: Rig a character from a picture

mesh_from_path

Auto-generate a deformable mesh over an existing Image so it can be warped (by vertex keyframes, bones, or auto_rig_path).

auto_mesh_image

AUTO-TRACE an image into a deformable mesh — no manual outline required.In: Rig a character from a picture

auto_weight_mesh

AUTO-RIG a meshed image: build (or bind) a bone chain and weight EVERY mesh vertex to it in one call — no manual weight painting, no hand-built Skin/Tendon plumbing.In: Rig a character from a picture

auto_rig_path

Build a skeletal rig for a vector outline: a bone chain along its principal axis, bound to the path vertices with linear-blend skinning (Skin + Tendons + per-vertex Weights).In: Logos, icons and shapes, Rig a character from a picture

verify_rig

Where did the constraint solver ACTUALLY put the bones? Loads the scene in the real Rive runtime, advances it so constraints and IK solve, and reports each named bone/node's solved world position, rotation, scale and bone tip.In: Rig a character from a picture, Preview, check and share

Sprites and frames

slice_sprite_sheet

Cut a grid-based sprite sheet image into individual frame PNGs.

remove_sprite_background

Detect and remove the background color from sprite frame PNGs, replacing it with real transparency.In: Video clip to sprite animation

normalize_sprite_frames

Align sprite frames to a common anchor point to eliminate positional jitter.In: Video clip to sprite animation

figure_regions

Number the parts of a character picture so you can say which stand apart in depth, for image_to_3d_figure (parts) and image_frames_to_3d_walk (frameParts) — or which move on their own in a 2D rig, for segment_character (pieces).In: Rig a character from a picture, Parallax and 3D from a picture

segment_character

Cut a single character image into named body part PNGs + a manifest for assemble_character (PIPELINE: segment_character → assemble_character → .riv with bones, mesh, and animation).In: Rig a character from a picture

frames_to_rig

Turn a character's animation FRAMES (a walk cycle, any frame set on one canvas) into ONE rigged character with a bone animation — instead of a flipbook.In: Rig a character from a picture, Animate your rig from a video

import_psd_layers

Turn a layered PSD into character parts for assemble_character — each visible layer (or each top-level group, with parts:'groups') becomes a part PNG plus an entry in manifest.json, placed where it sits on the canvas and stacked as the f…In: Rig a character from a picture

assemble_character

Assemble a rigged character from a parts manifest (cutout sheet) + PNG files.In: Rig a character from a picture

assemble_sprite_animation

Assemble a frame-based sprite animation from a manifest + PNG frames.In: Video clip to sprite animation, Eight-way characters

assemble_facings

Put a character drawn facing several ways into ONE .riv that turns: one artboard per facing — a rig with bones, meshes and skins, a flipbook, any vector drawing — each copied whole into the file under its own group (its objects renamed <…In: Eight-way characters

render_model_facings

Turn a 3D model into an 8-way (or 4- or 16-way) 2D game character: a glTF/GLB — skinned, animated, textured, as Blender, Maya, Mixamo or an asset store exports it — drawn by three.js from every facing, each animation sampled at fps.In: Eight-way characters

sprite_sheet_to_riv

One-shot: turn a grid sprite sheet into a flipbook .riv in a single call — slices the grid, removes the background, aligns the frames, and assembles an opacity-toggled flipbook animation.In: Video clip to sprite animation

layered_sprite_animation

Turn a jittery AI sprite sheet into a layered animation that eliminates frame-to-frame shimmer.

video_to_sprite

Turn a short video clip into a looping flipbook .riv and a sprite sheet (sheet.png + sheet.json for a game engine) — the way to animate a character with a video model (Veo, Sora, Kling, Seedance, Runway…).In: Video clip to sprite animation, Animate your rig from a video

sprite_art_brief

Write the brief for making animation art with the user's OWN image or video model (ChatGPT, Gemini, Veo, Sora, Kling…) — Polymation calls no model itself.In: Edit a file you have, Video clip to sprite animation, Rig a character from a picture, Animate your rig from a video, Eight-way characters, Fix AI pixel art, Animate a pixel character

animate_still_image

Animate a still PNG image with procedural effects (smoke, fire, glow).In: Effects and scripts

Pictures to 3D

generate_spline_scene

Generate a Spline 3D scene FROM SCRATCH and write it to disk — as an editable `.spline` (opens directly in the Spline web editor, the proprietary editor format) or a runtime `.splinecode` (plays in @splinetool/runtime / a web embed).In: Paint a blocked-out scene, Parallax and 3D from a picture

image_to_3d_figure

Convert a single 2D character image (PNG/JPEG with a transparent background) into a live 3D FIGURE as a Spline .splinecode.In: Parallax and 3D from a picture

image_frames_to_3d_walk

Convert a SEQUENCE of 2D walk-cycle frames (any character, any size — PNG/JPEG with transparent background, frames aligned on a common canvas) into a WALKING 3D figure as a Spline .splinecode.In: Parallax and 3D from a picture

scene_layers

Look at a picture and check how it will be cut for image_to_3d_scene.In: Parallax and 3D from a picture

image_to_3d_scene

Turn a picture — a landscape, an illustration, a scene with characters in it — into a live 3D diorama as a Spline .splinecode: the ground a receding floor, the far scenery a backdrop, and each object you box stood on the ground where it…In: Parallax and 3D from a picture

image_to_parallax_riv

Turn a picture into a 2.5D parallax scene in Rive (.riv): the same cut as image_to_3d_scene — the ground, the far scenery, each object you box, with what they hid painted in — stacked as images that move as a camera moving through the sc…In: Parallax and 3D from a picture

Paint a greybox

greybox_brief

The art pass, step 1: turn a greybox (a blockout: a scene blocked out with plain shapes, and animated, for 2D) into a brief for the user's OWN image model to paint it.In: Paint a blocked-out scene

greybox_apply_art

The art pass, step 2: the user's painting (made from greybox_brief's guide) back onto the greybox.In: Paint a blocked-out scene

greybox_place_models

The 3D art pass, step 3: put the models the user's image-to-3D generator made (one .glb per kind, from greybox_apply_art's pictures) into the greybox.In: Paint a blocked-out scene

Shaders and glow effects

add_shader_effect

Create a Rive GPU Canvas SHADER EFFECT (glow, outline, drop shadow, dissolve, ripple, grain, wipe, chromatic aberration, pixelate) as a Rive CLI project (rive.yaml + scene.rml + a WGSL shader + a Luau driver + the source art), from a pre…In: Effects and scripts

inspect_shader_targets

Report where a Rive .riv's GPU Canvas shaders can actually draw.In: Effects and scripts

add_group_effect

Add a visual-effect container (a GroupEffect) to an artboard — not a plain group of shapes, which is create_group.

add_target_effect

Add a TargetEffect, which points at a GroupEffect.

add_draw_rules

Add DrawRules to a GROUP, to draw that group's contents before or after a drawable OUTSIDE the group — e.g. a character's arm group drawn behind the body.

add_draw_target

Add a DrawTarget under a group's DrawRules (see add_draw_rules): the drawable OUTSIDE that group which the group is drawn before or after.

Scripts

build_anima_drawable

Build a runnable .riv from AnimaScript source — UNSIGNED, offline, no Rive account.In: Effects and scripts

validate_script

Check a Rive Luau script or WGSL shader for errors BEFORE it goes into a file.In: Effects and scripts

rive_script_api

Look up the REAL Rive scripting API before writing a Luau script — every type and its actual members (Vector, Path, Paint, Renderer, Mat2D, Color, Image, Artboard, ViewModel data, the Node protocol) with exact signatures.

add_script_asset

Register a Luau ScriptAsset in the scene — the container that Scripted* objects (ScriptedDrawable/Layout/PathEffect/Interpolator/ListenerAction/TransitionCondition) reference by id.

add_script_input

Add a ScriptInput to a scripted object (ScriptedDrawable/Layout/PathEffect) by name — a typed, optionally data-bindable parameter the Luau script reads from its inputs.

add_scripted_drawable

Add a ScriptedDrawable to an artboard.

add_scripted_layout

Add a ScriptedLayout to an artboard.

add_scripted_path_effect

Add a ScriptedPathEffect to the most recent stroke of a shape.

add_scripted_interpolator

Add a ScriptedInterpolator (972) to an artboard — a keyframe easing curve driven by a Luau script (referenced by keyframes via interpolatorId).

Audio and listeners

add_audio_asset

Register an audio asset in the scene.

add_audio_event

Add an audio playback event to an artboard.

add_joystick

Add a joystick 2D input controller to an artboard.

add_listener_fire_event

Add a listener that fires an Event when a shape is interacted with.

add_listener_align_target

Add a listener that aligns a target object when a shape is interacted with.

Accessibility and focus

add_semantic_data

Add SemanticData (668) to an artboard — screen-reader / accessibility metadata (role, label, value, hint, and trait/state booleans).

add_focus_data

Add FocusData (653) to an artboard — focus/navigation metadata for keyboard/gamepad-driven UIs (canFocus, canTouch, canTraverse, edgeBehaviorValue).

Organize and label

add_folder

Add an ASSET folder — a label in the file's asset list, nothing more.

add_tag

Add a Tag to the scene for categorization.

add_guide

Add an alignment guide line (a Guide) to the scene, as in the Rive editor.

add_forced_edge

Pin an edge between two vertices of an image's deformation MESH, so triangulation cannot cross it.

Check before you ship

lint_animations

Catch the 'animation present but nothing moves' bug — files that load and render fine yet sit perfectly still.In: Preview, check and share

review_motion

Check how a character's motion READS — the faults that make AI animation look cheap, measured in Rive's own runtime (every named part's world position about 60 times a second; where no named part moves — a flipbook, motion inside meshes…In: Video clip to sprite animation, Animate your rig from a video, Preview, check and share

validate_riv_runtime

Load a .riv in the REAL Rive WASM runtime and report whether it loads at all, plus the exact interface the runtime sees: artboards (with size), animations (name/duration/fps), state machines with their typed inputs (bool/number/trigger +…In: Preview, check and share

validate_riv_structural

Static linter (no runtime needed) that checks the current scene (or a .riv, with path) against the hard binary invariants that make Rive SILENTLY reject or mis-play a file: every state-machine layer must have Entry/Any/Exit states, TrimP…In: Preview, check and share

verify_editor_compat

Check that a generated .rev file will be interpreted by the Rive EDITOR the way you intended — beyond 'does it parse'.In: Convert other formats, Edit a file you have, Preview, check and share

Preview and export

export_riv

Serialize the current scene and write it to disk.In: Logos, icons and shapes, Edit a file you have, Preview, check and share

render_riv

Render a .riv animation headlessly to image frames (launches headless Chromium; first call may take several seconds — session_status reports availability) + a montage contact sheet, and report whether motion was actually produced (per-fr…In: Logos, icons and shapes, Buttons and interactive files, Edit a file you have, Preview, check and share

preview_riv_gif

Render an animation to a watchable ANIMATED GIF (the loop actually plays), instead of a static montage — or, with format 'mp4' / 'webm', to a VIDEO (H.264 / VP9, every frame at its exact time, the whole animation by default; for a devlog…In: Logos, icons and shapes, Buttons and interactive files, Convert other formats, Video clip to sprite animation, Rig a character from a picture, Paint a blocked-out scene, Preview, check and share

export_web_player

Write a web page that plays the .riv in Rive's own runtime — what a GIF cannot do: state machines answer the pointer, view-model instances can be switched, a PNG dropped on it fills an image slot, and pixel art is drawn crisp (Rive's Web…In: Buttons and interactive files, Paint a blocked-out scene, Preview, check and share

Assets

add_profiler_asset

Add an embedded profiler-data slot (a ProfilerAsset) to the scene, found by name by profiling tools.

add_blob_asset

Add a BlobAsset (649) to the scene — a generic embedded binary blob FileAsset.

add_manifest_asset

Add a ManifestAsset to the scene (global metadata asset).

add_shader_asset

Add a ShaderAsset (970) to the scene — an embedded custom shader (a TextAsset, like a script).

Text to SVG

chat2svg_status

Check if the Chat2SVG sidecar service is running.

generate_from_text

Generate vector artwork from a text prompt using the Chat2SVG pipeline (requires running sidecar), then convert the result to Rive shapes.

rig_svg

Import an SVG and apply a bone/pivot rig manifest in one call.In: Animate your rig from a video