Unified Computer Actions API
Control all aspects of the desktop environment with a single endpoint
Overview
The unified computer action API allows for granular control over all aspects of the Bytebot virtual desktop environment through a single endpoint. It replaces multiple specific endpoints with a unified interface that handles various computer actions like mouse movements, clicks, key presses, and more.
Endpoint
Method | URL | Description |
---|---|---|
POST | /computer-use/computer | Execute computer actions in the virtual desktop |
Request Format
All requests to the unified endpoint follow this format:
The action
parameter determines which operation to perform, and the remaining parameters depend on the specific action.
Available Actions
move_mouse
Move the mouse cursor to a specific position.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
coordinates | Object | Yes | The target coordinates to move to |
coordinates.x | Number | Yes | X coordinate |
coordinates.y | Number | Yes | Y coordinate |
Example:
trace_mouse
Move the mouse along a path of coordinates.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
path | Array | Yes | Array of coordinate objects for the mouse path |
path[].x | Number | Yes | X coordinate for each point in the path |
path[].y | Number | Yes | Y coordinate for each point in the path |
holdKeys | Array | No | Keys to hold while moving along the path |
Example:
click_mouse
Perform a mouse click at the current or specified position.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
coordinates | Object | No | The coordinates to click (uses current if omitted) |
coordinates.x | Number | Yes* | X coordinate |
coordinates.y | Number | Yes* | Y coordinate |
button | String | Yes | Mouse button: ‘left’, ‘right’, or ‘middle’ |
numClicks | Number | No | Number of clicks (default: 1) |
holdKeys | Array | No | Keys to hold while clicking (e.g., [‘ctrl’, ‘shift’]) |
Example:
press_mouse
Press or release a mouse button at the current or specified position.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
coordinates | Object | No | The coordinates to press/release (uses current if omitted) |
coordinates.x | Number | Yes* | X coordinate |
coordinates.y | Number | Yes* | Y coordinate |
button | String | Yes | Mouse button: ‘left’, ‘right’, or ‘middle’ |
press | String | Yes | Action: ‘up’ or ‘down’ |
Example:
drag_mouse
Click and drag the mouse from one point to another.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
path | Array | Yes | Array of coordinate objects for the drag path |
path[].x | Number | Yes | X coordinate for each point in the path |
path[].y | Number | Yes | Y coordinate for each point in the path |
button | String | Yes | Mouse button: ‘left’, ‘right’, or ‘middle’ |
holdKeys | Array | No | Keys to hold while dragging |
Example:
scroll
Scroll up, down, left, or right.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
coordinates | Object | No | The coordinates to scroll at (uses current if omitted) |
coordinates.x | Number | Yes* | X coordinate |
coordinates.y | Number | Yes* | Y coordinate |
direction | String | Yes | Scroll direction: ‘up’, ‘down’, ‘left’, ‘right’ |
amount | Number | Yes | Scroll amount (pixels) |
holdKeys | Array | No | Keys to hold while scrolling |
Example:
type_keys
Type a sequence of keyboard keys.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
keys | Array | Yes | Array of keys to type in sequence |
delay | Number | No | Delay between key presses (ms) |
Example:
press_keys
Press or release keyboard keys.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
keys | Array | Yes | Array of keys to press or release |
press | String | Yes | Action: ‘up’ or ‘down’ |
Example:
type_text
Type a text string with optional delay.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
text | String | Yes | The text to type |
delay | Number | No | Delay between characters in milliseconds (default: 0) |
Example:
wait
Wait for a specified duration.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
duration | Number | Yes | Wait duration in milliseconds |
Example:
screenshot
Capture a screenshot of the desktop.
Parameters: None required
Example:
cursor_position
Get the current position of the mouse cursor.
Parameters: None required
Example:
Response Format
The response format varies depending on the action performed.
Standard Response
Most actions return a simple success response: