Open Brush Docs
  • Home
  • How to get Open Brush
  • Differences between Open Brush and Tilt Brush
  • User Guide
    • Get started with Open Brush
    • Painting with Open Brush
    • The Open Brush UI
      • Admin Panel
        • Settings Panel
        • Labs Panel
      • Tools Panel
        • Selection Options
        • Repaint Options
      • Brushes Panel
      • Extras Panel
        • Environment Panel
        • Lights Panel
        • Backdrop Panel
        • Guides Panel
        • Media Library
        • Camera Paths Panel
        • Snap Settings Panel
        • Transform Panel
        • Layers Panel
      • Experimental Panel
      • UI Differences Between Basic Mode and Advanced Mode
    • Grid and Angle Snapping
    • Repaint Tool and Jitter
    • Selection/Erase Filter
    • Lazy Input
    • Bimanual Input and Revolver
    • World Axis Unlock
    • Saving and sharing your Open Brush sketches
    • Troubleshooting issues with Open Brush
    • Check out Labs features
    • Importing Images, Videos and 3D Models
    • Experimental Mode
    • Make moving creations using audio reactive brushes
    • Using Reference Images on Oculus Quest
    • Remixing and Creative Commons
    • Accessing Autosave Files
    • The Open Brush config file
    • Exporting Open Brush sketches to other apps
      • Exporting to Unreal Engine 5
      • Exporting to Snapchat Lens Studio
      • Configuring Export
    • Plugins
      • Example Plugins
        • Example Pointer Plugins
        • Example Symmetry Plugins
        • Example Tool Plugins
        • Example Background Plugins
      • Writing Plugins
        • Getting Started
        • Tweaking existing plugins
        • Writing a Pointer Plugin
        • Writing a Symmetry Plugin
        • Writing a Tool Plugin
        • Writing a Background Plugin
        • Defining and Drawing Brush Strokes
      • Plugin API Scripting Reference
    • Open Brush Unity SDK
    • Open Brush API
      • Retrieving a preview image
      • API Commands List
    • Cameras and Exporting Video
    • Brushes
      • Brush List
      • Memory limits and brush costs
      • Experimental Brushes
      • Hiding Brushes with Brush Tags
    • Using Open Brush without a VR headset
    • Command Line Arguments
    • Tilt Brush Version 23 Release Notes
  • Get Involved!
    • How to help with Testing
  • Pre-release and Experimental Builds
    • Installing the Beta Release
    • "Experimental Mode" Builds
    • Feature: 3D Shapes Tool
    • Feature: Animation Timeline
    • Feature: Icosa Gallery Support
    • Feature: Brush Editing
    • Feature: Plugin Scripting
    • Feature: Sculpting
    • Combined Testing Build
    • Old or Completed Feature Builds
      • Feature: Polyhedra
      • Feature: Snip Tool
      • Feature: Layers
      • Insominx's (michael-g) Experimental Build
      • XR Framework Beta
      • Feature: Transform Panel and Snap Enhancements
      • Feature: Improved GLTF Importer
      • Feature: Multi-Mirror
      • Feature: New Monoscopic Mode
      • Feature: Improved Import/Export
      • Feature: Multiplayer
  • Case Studies
  • Other Resources
  • Developer Notes
    • UI Elements
    • Unity shader examples
    • Setting up CI for Open Brush using Github Actions
    • Open Brush File Format
    • Previous Github Wiki
      • Brushes
      • BuildingOpenBrush
      • BurstCompiler
      • Comparison
      • MonoscopicMode
      • PseudoCode
      • UserInterface
    • Differences between Standard and Experimental Mode
    • Open Brush AsCanvas Notes
    • Unity Versions
  • Release History
    • v2.10 Multiplayer
    • v2.9 (Maintenance)
    • v2.8 Import/Export
    • v2.7 (Maintenance)
    • v2.6 (Maintenance)
    • v2.5 (Maintenance)
    • v2.4 "Prismatic"
    • v2.2: Settings and Sketches
    • v2.1 Hotfix
    • 🚀v2.0: XR Update
    • v1.0: Happy Birthday to Us!
    • Current Beta Release Notes
  • Docs TODO
  • Contacting Us
Powered by GitBook
On this page
Edit on GitHub
Export as PDF
  1. User Guide
  2. Open Brush API

API Commands List

PreviousRetrieving a preview imageNextCameras and Exporting Video

Last updated 2 years ago

This page was generated from the output directly from Open Brush API server. It's not always totally up to date. When you're running Open Brush then use the live commands list you get from as that will always be current.

The "Try It" links assume that a version of Open Brush with API support is currently running on this computer. They won't work if Open Brush isn't running. You can run a version if you don't have a VR headset attached.

To run commands just send a request to this url with

Commands are query string parameters. Like this: command.name=parameters

Separate multiple commands with: &

Example:

If you want to send a lot of commands or especially long commands (complex paths etc) then you can just http POST instead of GET. The commands should be form-encoded in the body of the request (exactly as if you submitted a html form with the form name as the command name and the form value as the command parameters)

You can also send multiple requests although because of the nature of http, these can sometimes arrive in a different order to how yousent them. We will soon support websockets which should be a better way to send realtime streams of commands.

Command List

draw.paths (string jsonString)

Draws a series of paths at the current brush position [[[x1,y1,z1],[x2,y2,z2], etc...]]. Does not move the brush position

draw.path (string jsonString)

Draws a path at the current brush position [[x1,y1,z1],[x2,y2,z2], etc...]. Does not move the brush position

draw.polygon (int sides, float radius, float angle)

Draws a polygon at the current brush position. Does not move the brush position

showfolder.scripts

Opens the user's Scripts folder on the desktop

Opens the user's Exports folder on the desktop

Draws the characters supplied at the current brush position

Draws the path supplied as an SVG Path string at the current brush position

Changes the brush. brushType can either be the brush name or it's guid. brushes are listed in the localhost:40074/help screen

Adds the supplied values to the current color. Values are hue, saturation and value

Adds the supplied values to the current color. Values are red green and blue

Sets the current color. Values are hue, saturation and value

Sets the current color. Values are red, green and blue

Sets the current color. colorString can either be a hex value or a css color name.

Sets the current brush size

Changes the current brush size by 'amount'

Moves the spectator or non-VR camera to the given position

Moves the spectator or non-VR camera by the given amount

Turns the spectator or non-VR camera left or right.

Changes the angle of the spectator or non-VR camera up or down.

Tilts the angle of the spectator or non-VR camera clockwise or anticlockwise.

Points the spectator or non-VR camera to look in the specified direction. Angles are given in x,y,z degrees

Moves the brush to the given coordinates

Moves the brush by the given amount

Moves the brush forward by 'distance' without drawing a line

Moves the brush forward by 'distance' and draws a line

Changes the brush direction to the left or right. Angle is measured in degrees

Changes the brush direction up or down. Angle is measured in degrees

Rotates the brush clockwise or anticlockwise. Angle is measured in degrees

Changes the brush direction to look at the specified point

Changes the brush direction to look forwards

Changes the brush direction to look upwards

Changes the brush direction to look downwards

Changes the brush direction to look to the left

Changes the brush direction to look to the right

Changes the brush direction to look backwards

Resets the brush position and direction

Sets the current brush position and direction as the new home

Stores the current brush position and direction on to a stack

Pops the most recent current brush position and direction from the stack

Logs some info about the brush

Delete strokes by their index. If index is 0 the most recent stroke is deleted. -1 etc steps back in time

Selects a stroke by it's index. 0 is the most recent stroke, -1 is second to last, 1 is the first.

Select multiple strokes by their index. 0 is the most recent stroke, -1 is second to last, 1 is the first.

Recolors the currently selected strokes

Rebrushes the currently selected strokes

Changes the brush size the currently selected strokes

Removes a number of points from the currently selected strokes

Moves the position of all control points in the selection using a noise function

Snaps all the points in selected strokes to a grid (buggy)

Joins a stroke with the previous one

Joins all strokes between the two indices (inclusive)

Adds a point at the current brush position to the specified stroke

Activates the SketchSurface

Activates the Selection Tool

Activates the Color Picker

Activates the Brush Picker

Activates the Brush And Color Picker

Activates the SketchOrigin Tool

Activates the AutoGif Tool

Activates the Canvas Tool

Activates the Transform Tool

Activates the Stamp Tool

Activates the FreePaint Tool

Activates the Eraser Tool

Activates the Screenshot Tool

Activates the Dropper Tool

Activates the SaveIcon Tool

Activates the ThreeDofViewing Tool

Activates the MultiCam Tool

Activates the Teleport Tool

Activates the Repaint Tool

Activates the Recolor Tool

Activates the Rebrush Tool

Activates the Pin Tool

Activates the CameraPath Tool

Activates the Fly Tool

Save the current scene overwriting the last save if it exists

Saves the current scene in a new slot

Exports all the scenes in the users's sketch folder

Shows all strokes made with the drafting brush fully opaque

Shows all strokes made with the drafting brush semi-transparent

Hides all strokes made with the drafting brush

Loads the sketch in the given slot number from the user's sketch folder

Loads the sketch in the given slot number from the curated sketch list

Loads the sketch in the given slot number from the user's liked sketches

Loads the sketch in the given slot number from the user's Google Drive

Loads the sketch with the given name from the user's sketch folder

Clears the current sketch

Sets the symmetry mode to 'mirror'

Sets the symmetry mode to 'double mirror'

Toggles the straight edge tool on or off

Toggles autoorientate on or off

Undoes the last action

Redo the last action

Reset the position of all panels

Enables the sketch origin tool

Toggles 'view only' mode on or off

Toggles the Drop Cam widget on or off

Toggles 'auto-simplify' mode on or off

Exports the current sketch to the user's Exports folder

Opens the user's Sketches folder on the desktop

Disables all stencils

Starts a party

Create a duplicate of the current selection

Groups the current selection

Exports the selected strokes to the user's Media Library

Renders the current camera path to a video

Toggles profiling mode on or off

Toggles the settings panel on or off

Summons the mirror origin to the user's position

Inverts the current selection

Selects all strokes and widgets in the scene

Mirrors the current selection

Toggles post-processing effects on or off

Toggles the watermark on or off

Toggles the camera path visuals on or off

Toggles the camera path preview on or off

Deletes the current camera path

Starts recording a camera path

showfolder.exports

draw.text (string text)

draw.svg (string svgPathString)

brush.type (string brushType)

color.add.hsv (Vector3 hsv)

color.add.rgb (Vector3 rgb)

color.set.rgb (Vector3 rgb)

color.set.hsv (Vector3 hsv)

color.set.html (string color)

brush.size.set (float size)

brush.size.add (float amount)

camera.move.to (Vector3 position)

camera.move.by (Vector3 amount)

camera.turn.y (float angle)

camera.turn.x (float angle)

camera.turn.z (float angle)

camera.lookat (Vector3 direction)

brush.move.to (Vector3 position)

brush.move.by (Vector3 offset)

brush.move (float distance)

brush.draw (float distance)

brush.turn.y (float angle)

brush.turn.x (float angle)

brush.turn.z (float angle)

brush.lookat (Vector3 direction)

brush.look.forwards

brush.look.up

brush.look.down

brush.look.left

brush.look.right

brush.look.backwards

brush.home

brush.home.set

brush.transform.push

brush.transform.pop

debug.brush

stroke.delete (int index)

stroke.select (int index)

strokes.select (int start, int end)

selection.recolor

selection.rebrush

selection.resize

selection.trim (int count)

selection.points.addnoise (string axis, Vector3 scale)

selection.points.quantize (Vector3 grid)

stroke.join

strokes.join (int start, int end)

stroke.add (int index)

tool.sketchsurface

tool.selection

tool.colorpicker

tool.brushpicker

tool.brushandcolorpicker

tool.sketchorigin

tool.autogif

tool.canvas

tool.transform

tool.stamp

tool.freepaint

tool.eraser

tool.screenshot

tool.dropper

tool.saveicon

tool.threedofviewing

tool.multicam

tool.teleport

tool.repaint

tool.recolor

tool.rebrush

tool.pin

tool.camerapath

tool.fly

save.overwrite

save

export.all

drafting.visible

drafting.transparent

drafting.hidden

load.user (int slot)

load.curated (int slot)

load.liked (int slot)

load.drive (int slot)

load.named (string filename)

new

symmetry.mirror

symmetry.doublemirror

straightedge.toggle

autoorient.toggle

undo

redo

panels.reset

sketch.origin

viewonly.toggle

dropcam.toggle

autosimplify.toggle

export

showfolder.sketch (int index)

stencils.disabled

disco

selection.duplicate

selection.group

export.selected

camerapath.render

profiling.toggle

settings.toggle

mirror.summon

selection.invert

select.all

selection.flip

postprocessing.toggle

watermark.toggle

camerapath.togglevisuals

camerapath.togglepreview

camerapath.delete

camerapath.record

API Docs
http://localhost:40074/help/commands
monoscopic
http://localhost:40074/api/v1?
http://localhost:40074/api/v1?brush.turn.y=45&brush.draw=1
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it
Try it