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
No tool matches that. Try a plainer word, or ask your assistant: it searches the same list.