Safeera Cloud V2 SDK — GPU Buyer Guide

Programmatic SDK and REST API for provisioning live 30-second heartbeat-verified NVIDIA Blackwell RTX PRO 6000 GPUs (0.5x 48 GB CUDA MPS, 1x 96 GB, and 2x 192 GB) with Safeera's 6-Stage Ephemeral-OS + Persistent /data architecture.

Live 30s-Verified GPU Inventory

listAvailableConfigs() returns strictly configurations backed by physical hosts verified online within the last 30 seconds. During Beta, all compute configurations default to $0.00 / GPU-hr.

1-Click or Custom SSH Keys

Pass your own ssh-ed25519 public key, or set generateKeypair: true to have Safeera generate a fresh keypair and return generatedPrivateKey once for immediate SSH login.

Ephemeral OS + Persistent /data

Every start and reboot boots a pristine OS root from the pre-built GPU template and re-runs Stage-1 & Stage-2 init while keeping your persistent /data volume intact.

1. Quickstart (Node.js ESM SDK)

import { SafeeraClient } from '@safeera/sdk';

const client = new SafeeraClient({
  baseUrl: 'https://master.safeera.ai',
  origin: 'https://master.safeera.ai'
});

// Authenticate session
await client.authenticate({ username: 'owner', password: process.env.SAFEERA_PASSWORD });

// 1. List strictly live, 30s-verified GPU configurations ($0.00/hr Beta default)
const configs = await client.listAvailableConfigs();
console.table(configs);

// 2. Option A: Generate a fresh Ed25519 SSH keypair on the platform (private key returned once)
const { profile, generatedPrivateKey } = await client.createSshProfile({
  name: 'my-auto-key',
  username: 'safeera',
  generateKeypair: true
});
console.log('Save your private key (.pem):\n', generatedPrivateKey);

// 3. Launch 1x2 GPU (192 GB VRAM), 2x1 GPU (96 GB each), or 4x0.5 GPU (48 GB CUDA MPS each)
const launch = await client.launchInstance({
  name: 'trainer-blackwell',
  family: 'rtxpro',
  region: 'eu-north',
  count: 2,          // 0.5 (48 GB) | 1 (96 GB) | 2 (192 GB)
  quantity: 1,
  profileId: profile.id,
  diskGib: 64
});

const [vm] = await client.waitForReady(launch.createdIds);
console.log('SSH ready:', vm.sshCommand);

2. SSH Key Options (Paste Public Key vs. Auto-Generate Keypair)

ModeRequest PayloadBehavior
User-Supplied Public Key { username: "safeera", publicKey: "ssh-ed25519 AAAA..." } Validates public key format (rejects private keys) and injects into ~/.ssh/authorized_keys during Stage-1 boot.
Platform-Generated Keypair { username: "safeera", generateKeypair: true } Generates a fresh ed25519 keypair, injects the public key into the VM, and returns generatedPrivateKey once in the response for .pem download.

3. 6-Stage Ephemeral-OS VM Lifecycle Reference

ActionSDK Method / REST EndpointOS Root Disk BehaviorPersistent /data Volume Behavior
Launch client.launchInstance(opts)
POST /api/compute/launch
Deploys fresh OS root from pre-built GPU template + runs Stage-1 init (/var/lib/safeera/stage1.done). Creates/formats ext4 volume, mounts at /data, runs /data/.safeera/on-restore.sh (stage2.done).
Stop client.machineAction(id, 'stop')
POST /api/compute/machines/:id
Gracefully syncs & unmounts /data, then destroys/expunges the OS root VM (compute billing stops). Detached and preserved intact in storage pool.
Start client.machineAction(id, 'start')
POST /api/compute/machines/:id
Deploys a brand-new OS root from the pre-built template and re-runs Stage-1 init. Re-attaches existing /data volume and re-runs Stage-2 on-restore.sh.
Reboot client.machineAction(id, 'reboot')
POST /api/compute/machines/:id
Replaces OS root from pre-built template (new boot_id) and re-runs Stage-1 init. Preserves and re-mounts /data, re-running Stage-2 init.
Snapshot client.machineAction(id, 'snapshot', { snapshotName }) No impact on running OS. Records point-in-time snapshot of persistent /data volume.
Delete client.machineAction(id, 'delete', { deleteDisk: true }) Expunges OS root VM and releases NAT/elastic IP rules. Deletes volume if deleteDisk: true, or keeps detached volume if false.

4. Verified Hardware Profiles (Helsinki eu-north)

ProfileGPU CountVRAM per VMIsolation ModeBeta Default Price
1x2 GPU2192 GiBFull dual-GPU allocation$0.00 / hr
2x1 GPU196 GiBDedicated single-GPU allocation$0.00 / hr
4x0.5 GPU0.548 GiB (49,152 MiB)CUDA MPS 50% active thread & 48 GiB memory cap$0.00 / hr