Skip to main content

Frequently Asked Questions

Getting Started​

What is MorphCloud?​

MorphCloud provides virtual machines (instances) that run from saved snapshots. Each instance is a VM that you can create, manage, and interact with programmatically.

See our documentation overview and basic instance operations for more details.

How do I get started?​

  1. Sign up for an account at cloud.morph.so
  2. Install the SDK (Python, TypeScript, or CLI)
  3. Set up your API key
  4. Try our Hello World example

What's the difference between instances and snapshots?​

  • Instances are running virtual machines that execute from snapshots
  • Snapshots are saved states that define the configuration (vcpus, memory, disk size) for creating instances

Learn more about basic instance operations and creating snapshots.

Is there a free tier?​

Yes! The Developer Plan provides 300 free compute hours per month with pay-as-you-go pricing after that.

See signing up for more details.

Instance Management​

How do I create an instance?​

You need a snapshot ID to start an instance. You can either create a new snapshot or use an existing one:

# Create a snapshot first
snapshot = client.snapshots.create(vcpus=1, memory=1024, disk_size=10000)
# Start instance from snapshot
instance = client.instances.start(snapshot_id=snapshot.id)

See the Hello World guide for complete examples and basic instance operations for more details.

What's the difference between pause and stop?​

  • Pause: Preserves memory state and running processes. You only pay for storage, not compute. Use when you want to resume exactly where you left off.
  • Stop: Completely terminates the instance and releases all resources.

Learn more about pause/resume functionality.

What is branching?​

Branching creates a snapshot of an instance and launches multiple new instances from that snapshot. It's useful for parallel testing, training ML models, or creating identical environments for teams.

See the branching documentation for examples and creating snapshots for snapshot basics.

Technical Questions​

How do I run commands on my instance?​

You can execute commands remotely using the exec functionality:

result = instance.exec(command="echo 'Hello World'")
print(result.stdout)

See command execution documentation.

How do I connect via SSH?​

Morph Cloud provides direct SSH access using user-owned managed SSH public keys. Add the public .pub values for your devices in account settings, then connect using the matching private key on your device. Generated instance credentials and the browser terminal are separate access methods.

See Connect to an instance over SSH, Managed SSH Public Keys, and Generated Instance SSH Credentials.

How do I transfer files?​

You can upload and download files to/from your instances using the file management API endpoints.

See the file management documentation.

How do I expose web services?​

Use the HTTP services feature to expose ports from your instance and get public URLs.

See the HTTP services documentation.

SDK and API​

What programming languages are supported?​

MorphCloud provides:

  • Python SDK (requires Python 3.10+)
  • TypeScript/JavaScript SDK
  • CLI (available after installing Python SDK)

See the installation guide.

How do I authenticate?​

Set your API key as an environment variable:

export MORPH_API_KEY="your_api_key_here"

Or pass it directly when creating the client. See API key documentation and installation guide for setup details.

Where is the complete API reference?​

Check the REST API documentation for all available endpoints with interactive examples.


Need more help? Check our documentation or try the Hello World example.