Command Reference
Both the Python and TypeScript packages install this command surface. The 90 business operations and five waiters map to the corresponding SDK methods; five CLI-native authentication and configuration commands complete the 100 commands documented here.
Global Options
| Option | Required | Description |
|---|---|---|
--api-key | No | Override the configured API key for this invocation. |
--base-url | No | Override the configured Console or API URL. |
--config | No | Read configuration from a specific sstudio.yaml. |
--format table|json|yaml | No | Select human-readable or machine-readable output. Default: table. |
--version | No | Print the installed CLI version. |
Options shown in brackets are optional. Commands that accept --body support
inline JSON, @file.json, or - for standard input. Unless noted otherwise,
successful commands print the API response data value.
Core and Configuration
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio login | Validate an API key and save a local session. | --api-key, [--base-url] | Login confirmation and current identity when available. |
sstudio logout | Remove locally cached credentials. | None. | Removal confirmation. |
sstudio whoami | Read the current authenticated identity. | None. | Current user object. |
sstudio config show | Inspect effective configuration without revealing credentials. | None. | Redacted configuration object. |
sstudio config validate | Validate required local model configuration and enabled modules. | None. | Validation object; exits non-zero when required configuration is missing. |
sstudio login is a user-run command. It writes the API key, short-lived
bearer token, and Base URL to ~/.sstudio/credentials.json using a 0700
configuration directory and 0600 file; sstudio logout removes the saved
credentials. Agents must not run login or read, print, or modify that file.
These commands replace application-managed SDK setup. Low-level SDK methods
such as request, raw response access, token access, and client cleanup do not
have CLI equivalents.
Clusters
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio clusters list | List clusters visible to the caller. | None. | UserClusterCapacityVO[] |
sstudio clusters capacity | Read placement-level capacity in one cluster. | --cluster-id | UserNodeCapacityVO[] |
sstudio clusters holds | List active workload resource holds. | [--cluster-id] | UserWorkloadHoldVO[] |
sstudio clusters timeseries | Read recent capacity snapshots. | --cluster-id, [--limit] | UserCapacitySnapshotVO[] |
Full field definitions: Python · TypeScript
Models
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio models list | Search and page the model catalog. | [--keyword, --model-type, --provider, --source, --page, --page-size] | PageResult<ModelInfoVO> |
sstudio models get | Read one catalog model. | --model-id | ModelInfoVO |
sstudio models deployment-capabilities | Resolve supported deployment choices. | --model-id, [--cluster-id] | ModelDeploymentCapabilitiesVO |
Full field definitions: Python · TypeScript
My Models
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio my-models upload | Validate, hash, upload, register, and complete a model directory. | --path, [--name, --description, --model-type, --model-architecture, --parameter-size, --client-request-id (maximum 64 characters), --serving-config] | Ready MyModelVO |
sstudio my-models list | Page the caller's Upload and Trained model assets. | [--page, --page-size, --keyword, --status, --source] | PageResult<MyModelVO> |
sstudio my-models get | Read one model asset. | --id | MyModelVO |
sstudio my-models update | Update Upload model metadata. | --id, --body UpdateMyModelRequest | Updated MyModelVO |
sstudio my-models delete | Delete an unreferenced Upload model asset. | --id | null |
sstudio my-models resumable-uploads | List interrupted uploads that can be resumed or cancelled. | None. | MyModelStorageV2TaskResponse[] |
sstudio my-models cancel-upload | Cancel a resumable upload task. | --task-id | null |
upload is the public end-to-end workflow. It intentionally hides internal
upload authorization, object transfer, sealing, and asset-registration calls.
Full field definitions: Python · TypeScript
Datasets
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio datasets upload | Upload local files and create a Dataset. | One or more --file, --name, --type, --training-category | Created DatasetVO |
sstudio datasets list | Search and page datasets. | [--dataset-name, --dataset-type, --training-category, --order-by, --order-direction, --page-num, --page-size, --scope] | PageResult<DatasetVO> |
sstudio datasets get | Read one Dataset. | --id | DatasetVO |
sstudio datasets preview | Preview parsed records. | --id, [--limit, --cursor] | DatasetPreviewVO |
sstudio datasets download-url | Create a temporary URL for one Dataset file. | --body DownloadRequest | DownloadUrl |
sstudio datasets update | Update Dataset metadata or file references. | --id, --body UpdateDatasetRequest | Updated DatasetVO |
sstudio datasets delete | Delete an unreferenced Dataset. | --id | null |
Full field definitions: Python · TypeScript
Dataset Preparations
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio datasets-preparations cluster-options | List clusters selectable for preparation workloads. | None. | WorkloadClusterOptionVO[] |
sstudio datasets-preparations available-provider-keys | List caller-owned provider keys suitable for labeling. | None. | PrepProviderKeysVO |
sstudio datasets-preparations preview | Preflight preparation resources. | --body WorkloadResourcePreviewRequest | WorkloadAdmissionPreviewVO |
sstudio datasets-preparations create | Create a preparation task. | --body PrepTaskCreateRequest | PrepTaskVO |
sstudio datasets-preparations list | Search and page preparation tasks. | --body PrepTaskQueryRequest | PageResult<PrepTaskVO> |
sstudio datasets-preparations get | Read task configuration, progress, and artifacts. | --id | PrepTaskDetailVO |
sstudio datasets-preparations update | Update an editable task. | --id, --body PrepTaskUpdateRequest | Updated PrepTaskVO |
sstudio datasets-preparations generate-rules | Start labeling-rule generation. | --id | null |
sstudio datasets-preparations start-labeling | Start labeling with optional rule text. | --body PrepStartLabelingRequest | null |
sstudio datasets-preparations action | Cancel, retry, or delete a task. | --body PrepActionRequest | null |
sstudio datasets-preparations download-url | Create a temporary task-artifact URL. | --body PrepDownloadRequest | DownloadUrl |
sstudio datasets-preparations wait | Wait for rules or final completion. | --id, [--until rules_ready|completed, --timeout, --interval] | Latest preparation object. |
Full field definitions: Python · TypeScript · Waiters
Deployments
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio deployments capabilities | Check whether Deployment mutations are allowed. | None. | InferenceServiceCapabilitiesVO |
sstudio deployments features | Read Deployment feature flags. | None. | DeploymentFeaturesVO |
sstudio deployments cluster-options | List clusters selectable for serving. | None. | WorkloadClusterOptionVO[] |
sstudio deployments model-inventory | Read Model Profile placement inventory. | --cluster-id | ModelInventoryVO |
sstudio deployments preview | Preflight Profile, Upload, or Trained Model resources. | --body with a Profile or modelAssetId reference. | ModelServingResourcePreviewVO |
sstudio deployments create | Create a Profile, Upload, or Trained Model Deployment. | The same --body contract as preview. | InferenceServiceVO |
sstudio deployments list | Search and page Deployments. | [--page, --page-size, --keyword, --status] | PageResult<InferenceServiceVO> |
sstudio deployments get | Read one Deployment. | --id | InferenceServiceVO |
sstudio deployments events | Read lifecycle events for troubleshooting. | --id | DeploymentEventVO[] |
sstudio deployments yaml | Read rendered Kubernetes YAML. | --id, [--output] | Raw text or a file. |
sstudio deployments update | Update the Deployment description in place. | --id, --body containing description | Updated InferenceServiceVO; runtime/resource changes require a new generation. |
sstudio deployments stop | Stop the workload while retaining its record. | --id | Updated InferenceServiceVO |
sstudio deployments preview-restart | Check restart blockers and resource fit. | --id | DeploymentRestartPreviewVO |
sstudio deployments restart | Recreate a stopped or failed workload. | --id | Updated InferenceServiceVO |
sstudio deployments delete | Delete the Deployment and managed workload resources. | --id | null |
sstudio deployments wait | Wait for RUNNING and fail on a terminal error. | --id, [--timeout, --interval] | Final Deployment object. |
sstudio deployments preview --body @deployment.json
sstudio deployments create --body @deployment.json
sstudio deployments wait --id 42
Full field definitions: Python · TypeScript · Waiters
Training
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio training capabilities | Read the active recipe and resource catalog. | None. | TrainCapabilitiesVO |
sstudio training cluster-options | List clusters selectable for Training. | None. | WorkloadClusterOptionVO[] |
sstudio training preview | Preflight a training resource specification. | --body TrainResourcePreviewRequest | WorkloadAdmissionPreviewVO |
sstudio training knowledge-teacher-models | Find compatible knowledge-distillation teachers. | --student-model-id, --recipe-id | TrainKnowledgeTeacherVO[] |
sstudio training create | Create a fine-tuning job. | --body | Object containing jobId. |
sstudio training list | Page Training jobs. | [--body] | PageResult<TrainJobDetailVO> |
sstudio training get | Read progress, losses, actions, and artifacts. | --id | TrainJobDetailVO |
sstudio training artifact-download-url | Create temporary URLs for a completed artifact. | --artifact-id | urls and optional file entries. |
sstudio training cancel | Request cancellation of a non-terminal job. | --id | null |
sstudio training wait | Wait for SUCCEEDED and fail on terminal errors. | --id, [--timeout, --interval] | Final Training job object. |
Full field definitions: Python · TypeScript · Waiters
Evaluations
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio evaluations available-models | List models available to Evaluation. | None. | AvailableModelsVO |
sstudio evaluations cluster-options | List clusters selectable for Evaluation. | None. | WorkloadClusterOptionVO[] |
sstudio evaluations preview | Preflight Evaluation resources. | --body WorkloadResourcePreviewRequest | WorkloadAdmissionPreviewVO |
sstudio evaluations create | Create an Evaluation job. | --body CreateEvalJobRequest | CreateEvalJobVO |
sstudio evaluations get | Read status, scores, metrics, and report state. | --id | EvalJobDetailVO |
sstudio evaluations report | Create a temporary URL for the completed report. | --id | DownloadUrl |
sstudio evaluations artifact-download-url | Create a temporary URL for a media artifact. | --id, --artifact-ref | DownloadUrl |
sstudio evaluations wait | Wait for SUCCEEDED and fail on terminal errors. | --id, [--timeout, --interval] | Final Evaluation job object. |
Full field definitions: Python · TypeScript · Waiters
Jobs
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio jobs list | Page jobs across supported domains. | [--type (train or eval), --status, --page, --page-size] | PageResult<JobStatusView> |
sstudio jobs get | Read one generic job. | --id | JobStatusView |
sstudio jobs logs | Read the newest job log lines. | --id, [--tail] | string[] |
sstudio jobs cancel | Cancel a supported non-terminal job. | --id | null |
sstudio jobs wait | Wait for SUCCEEDED and fail on terminal errors. | --id, [--timeout, --interval] | Final generic job object. |
Full field definitions: Python · TypeScript · Waiters
API Keys
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio keys list | List API keys visible to the caller. | [--owner-id] | ApiKeyResponse[] |
sstudio keys create | Create an API key. | --body ApikeyRequest with caller-generated keyValue | ApiKeyResponse. |
sstudio keys reveal | Reveal plaintext when policy permits. | --id | Plaintext string. |
sstudio keys update | Update description, state, or expiration. | --id, --body ApikeyRequest | Updated ApiKeyResponse |
sstudio keys delete | Delete an API key. | --id | Boolean result. |
Treat output from reveal as a secret: do not place it in logs, shell traces,
or source control.
Full field definitions: Python · TypeScript
Provider Keys
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio provider-keys providers | List supported provider identifiers. | None. | ProviderInfo[] |
sstudio provider-keys list | List masked provider keys. | [--owner-id] | ProviderKeyVO[] |
sstudio provider-keys create | Store a provider credential. | --body CreateProviderKeyRequest | ProviderKeyVO |
sstudio provider-keys update | Rotate a credential or update its description. | --id, --body UpdateProviderKeyRequest | Updated ProviderKeyVO |
sstudio provider-keys change-status | Enable or disable a provider key. | --id, --body ChangeProviderKeyStatusRequest | null |
sstudio provider-keys test | Test connectivity using the stored credential. | --id | ConnectionTestResult |
sstudio provider-keys delete | Delete a provider key. | --id | null |
Full field definitions: Python · TypeScript
Usage
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio usage summary | Aggregate usage over a time range. | Epoch-second --start-date, --end-date, [--owner-id] | Usage summary object. |
sstudio usage list | Page individual usage records. | Epoch-second --start-date, --end-date, [--page, --page-size, --key-id, --model-id, --owner-id] | Usage page object. |
sstudio usage trend | Read time-bucketed usage. | Epoch-second --start-date, --end-date, [--granularity, --key-id, --owner-id] | Usage point objects. |
Full field definitions: Python · TypeScript
Observability
| Command | Purpose | Input | Output |
|---|---|---|---|
sstudio observability cluster-overview | Read aggregate cluster workload utilization. | --cluster-id | UserClusterObservabilityOverviewVO |
sstudio observability services | List observable model-serving Deployments. | [--cluster-id] | UserWorkloadObservabilityVO[] |
sstudio observability service-snapshot | Read the newest snapshot for one Deployment. | --service-id | UserWorkloadObservabilityVO |
sstudio observability service-timeseries | Read Deployment engine and resource points. | --service-id, [--range-hours, --max-points] | UserServiceMetricsPointVO[] |
sstudio observability workloads | List observable workloads across domains. | [--cluster-id] | UserWorkloadObservabilityVO[] |
sstudio observability workload-snapshot | Read one generic workload snapshot. | --business-type, --business-id | UserWorkloadObservabilityVO |
sstudio observability workload-timeseries | Read generic CPU, memory, restart, and GPU points. | --business-type, --business-id, [--range-hours, --max-points] | UserWorkloadMetricsPointVO[] |
sstudio observability history | Cursor-page workload lifecycle history. | [--cluster-id, --cursor, --limit] | UserWorkloadHistoryPageVO |
Full field definitions: Python · TypeScript
Output and Errors
table, json, and yaml encode the same successful value. Use JSON for
automation. Raw text commands such as deployments yaml can write directly to
--output.
On failure, the CLI writes labeled error text to standard error and exits
non-zero. When the service supplies them, that text includes code,
errorCode, message, and details; --format json applies only to successful
stdout. Do not automatically retry an unknown create result; query the resource
first or reuse its idempotency token.