Prerequisites
Before you begin, ensure you have:- A valid Scale account with SGP access
- Your API key and account ID:
- A Docker image pushed to the workspace registry (see Custom Images)
Submit a Job
Jobs are submitted toPOST /v1/{backend}/jobs. The {backend} is one of vertex-ai, sagemaker, or azure-ml. The job_config structure mirrors each cloud’s native job API.
- Vertex AI
- SageMaker
- Azure ML
Response
worker_pool_specs is an array; add more pools for distributed training. command and args are separate arrays.Job Response
All backends return the same job object shape:Unique job identifier. Use this to poll status or cancel the job.
Current job state. Transitions through
PENDING → IN_PROGRESS → COMPLETED / FAILED / CANCELED / EXPIRED.The cloud provider’s native job identifier. Shape varies by backend:
job_name for Vertex AI and Azure ML, training_job_name for SageMaker.Populated on failure. Contains
failure_reason with the error message from the cloud provider.Check Status
Other Endpoints
List jobs:409 if the job is already in a terminal state.
Accessing Mounts in Your Container
Inside the training container, mounted storage is available via environment variables regardless of cloud:Next Steps
- Custom Images: Build and push your own training containers
- Storage Mounts: Mount multiple datasets and configure output paths

