Create Your Account
First, you need to sign up for a Skylight account. The free plan includes $5 in credit that can be used for instance runtime, built-in agent steps, and file downloads.
Code Quickstart
Fetch API key
Sign in to your Dashboard to get your auto-generated API key.
Configure Skylight client
Configure the client with your API key.
from skylight_sdk import Skylight
skylight = Skylight(apikey="your_api_key")
Start a Windows instance
Launch an instance. You can define a timeout to prevent unintended billing. (default is 60 minutes)
instance = skylight.windows.start()
instance = skylight.windows.start(timeout=60)
This returns:
{
"id": "i-123456", # Unique identifier of the created instance
"message": "Instance ready to use", # Human-readable status message
"livestream_url": "launchskylight.com/embed/i-123456", # URL to livestream the instance
"state": "running" # State of the instance (running, pending, hibernated, terminated)
}
Interact with the Windows desktop
Control the Windows desktop programatically with built-in tools. Available actions are listed in Interactions.
# Move the mouse
skylight.interact.move(instance_id="<id>", x=100, y=200)
# Left single click
skylight.interact.click(instance_id="<id>", x=100, y=200, interval=0)
# Type text
skylight.interact.type(instance_id="<id>", text="Hello, world!", interval=0.05)
# Take screenshot
skylight.interact.screenshot(instance_id="<id>")
Take actions with the built-in agent
Control the Windows desktop programmatically using the agent.
# Run a workflow
result = skylight.agent.run(instance_id="<id>", query="Open PowerPoint and make a 3 slide presentation about San Francisco, include a diagram")
Structured outputs are coming soon!
Terminate the instance
Stop the instance when you’re done.
skylight.windows.terminate(instance_id="<id>")
Fetch API key
Sign in to your Dashboard to get your auto-generated API key.
Configure Skylight client
Configure the client with your API key.
from skylight_sdk import Skylight
skylight = Skylight(apikey="your_api_key")
Start a Windows instance
Launch an instance. You can define a timeout to prevent unintended billing. (default is 60 minutes)
instance = skylight.windows.start()
instance = skylight.windows.start(timeout=60)
This returns:
{
"id": "i-123456", # Unique identifier of the created instance
"message": "Instance ready to use", # Human-readable status message
"livestream_url": "launchskylight.com/embed/i-123456", # URL to livestream the instance
"state": "running" # State of the instance (running, pending, hibernated, terminated)
}
Interact with the Windows desktop
Control the Windows desktop programatically with built-in tools. Available actions are listed in Interactions.
# Move the mouse
skylight.interact.move(instance_id="<id>", x=100, y=200)
# Left single click
skylight.interact.click(instance_id="<id>", x=100, y=200, interval=0)
# Type text
skylight.interact.type(instance_id="<id>", text="Hello, world!", interval=0.05)
# Take screenshot
skylight.interact.screenshot(instance_id="<id>")
Take actions with the built-in agent
Control the Windows desktop programmatically using the agent.
# Run a workflow
result = skylight.agent.run(instance_id="<id>", query="Open PowerPoint and make a 3 slide presentation about San Francisco, include a diagram")
Structured outputs are coming soon!
Terminate the instance
Stop the instance when you’re done.
skylight.windows.terminate(instance_id="<id>")
Fetch API key
Sign in to your Dashboard to get your auto-generated API key.
Install SDK
Install the TypeScript SDK.
Configure Skylight client
Configure the client with your API key.
import { Skylight } from "skylight-sdk";
const skylight = new Skylight(apikey: 'your_api_key');
Start a Windows instance
const instance = await skylight.windows.start({});
This returns:
{
id: string; // Unique identifier of the created instance
message: string; // Human-readable status message (e.g. "Instance ready to use")
livestream_url: string; // URL to livestream the instance (e.g. "launchskylight.com/embed/i-123456")
state: string; // State of the instance (running, pending, hibernated, terminated)
}
Interact with the Windows desktop
Control the Windows desktop programatically with built-in tools. Available actions are listed in Interactions.
// Move the mouse
await skylight.interact.move("<id>", {x: 100, y: 200,});
// Left single click
await skylight.interact.click("<id>", {x: 100, y: 200, interval: 0,});
// Type text
await skylight.interact.type("<id>", {text: "Hello, world!", interval: 0.05,});
// Take a screenshot
await skylight.interact.screenshot("<id>");
Take actions with the built-in agent
Control the Windows desktop programmatically using the agent.
// Run a workflow
const result = await skylight.agent.run("<id>", {
query: "Open PowerPoint and make a 3 slide presentation about San Francisco, include a diagram",
});
Structured outputs are coming soon!
Terminate the instance
Stop the instance when you’re done.
await skylight.windows.terminate("<id>");