Use this file to discover all available pages before exploring further.
Serverless AI jobs run container images as one-off or scheduled batch workloads. They are suitable for training, fine-tuning and data processing where you want to use computing resources only to perform a task and stop when the task is done. Each job runs on a container over a Compute virtual machine (VM) that is billed only while the job is running.
To run a container image as a batch workload for training, fine-tuning or data processing, create a job:
Web console
CLI
In the sidebar, go to AI Services → Jobs.
Click Create job.
Configure Job settings:
In Image path, set the path to the container image.
If you use a private registry, click Add registry, and provide the details for your registry.
(Optional) In Entrypoint command, specify the entrypoint command for the container.If you need to pass container arguments, specify them in this field as well.
(Optional) In Environment variables, specify environment variables in key-value pairs.
(Optional) In Job timeout in hours, specify the number of hours after which the job will be canceled if not completed.
(Optional) Configure the Computing resources section:
Select whether the VM should have GPUs.
Specify the VM type: regular or preemptible.VMs without GPUs only support the regular type.
Attach a bucket or a filesystem to provide storage. You can create a bucket or filesystem, or use an existing one. To create a new bucket, see Bucket parameters. To create a new filesystem, see Volume parameters.
(Optional) In the Access section, add an SSH key for the VM’s user so you can connect to the VM.You can add new credentials or select existing ones. If you decide to use an existing credential, make sure that the SSH key is stored for the nebius username.
Configure the Network section:
Select a subnet or create a new one.
Select the IP address type: Public static IP or Private IP. If you want to connect to the resource from the internet, select Public static IP.
--image: Container image reference in the registry/path:tag or registry/path@digest format. Use an image from a public registry or your authenticated private registry.
--registry-username, --registry-password (optional): Credentials to authenticate if you pull an image from a private registry. Alternatively, use --registry-secret for credentials stored in MysteryBox.
--registry-username: Username.
--registry-password: Personal access token, password or an API key. Depends on where your registry is hosted. It can be Docker Hub, Microsoft Azure, GitHub, NVIDIA or a custom registry.
If you pull an image from a public registry or from Container Registry in the same project, you don’t need to specify credentials.
--registry-secret (optional): MysteryBox secret selector with REGISTRY_USERNAME and REGISTRY_PASSWORD payload keys. You can specify a secret name, secret ID, version ID or a combined secret/version selector such as mbsec-e00***@mbsecver-e00***.
--container-command (optional): Entrypoint command for the container.
--args (optional): Arguments for docker run to pass to the entrypoint command.
--env (optional): Environment variables for the container. Set them in the key=value format where the key is the environment variable and the value is the value of this variable. If you need to set several variables, list the key=value pairs separated by commas.
--env-secret (optional): Environment variables loaded from a MysteryBox secret in the key=value format. The value can be a secret name, secret ID, version ID or a combined secret/version selector such as mbsec-e00***@mbsecver-e00***. If you need to set several variables, list the pairs separated by commas.
--working-dir (optional): Working directory (absolute path).
--volume (optional): Bucket or shared filesystem to mount to the job container and to store the job results and checkpoints. Volumes persist if the job is recreated after a maintenance event.Specify the value in either format:
source:container_path[:mode] for mounting Nebius shared filesystems and existing bucket or volume resources by ID or name.
s3://bucket:/container_path[:mode[:profile]] for mounting an Object Storage bucket with AWS profile credentials or S3 credentials stored in MysteryBox. The profile is the AWS credentials profile to use. If you manage your credentials with MysteryBox, use profile@<secret_selector>, where <secret_selector> is a secret name, secret ID, version ID or a combined secret/version selector such as mbsec-e00***@mbsecver-e00***
The supported modes are ro, read only, and rw, read-write (default). Repeat for multiple volumes. For example:
--preset: Number of GPUs, vCPUs and RAM allocated to the container. The preset must match the selected platform. See available presets in Presets for GPU platforms.
--disk-size: Disk size of the container over VM. Specify the value such as 100Gi, 500Gi or 1Ti. The default value is 250Gi.See how disk performance depends on disk size.
--shm-size (optional): Shared memory size of /dev/shm. Specify the value such as 64Mi, 128Mi or 1Gi. The default value is 16Gi.
--ssh-key (optional): SSH key to access the container over VM by SSH. When you add an SSH key, a public dynamic IP address is assigned. Before you add the key, check the quota on the number of public IP addresses in the web console.
The job creation usually takes a few minutes. Jobs run until the workload finishes.When the job completes successfully or fails, the container over VM is deleted automatically. If you mounted volumes, they will remain, and you should delete them manually.
Next to the job, click View logs. Alternatively, select the job that you want to view the logs for and switch to the Logs tab.
You can use the period or log level filters to filter the logs. You can also use the LogQL query language.
Run the following command:
nebius ai job logs <job_ID> --follow
You can add the following parameters to control the output:
--follow or -f: Stream logs in real time.
--since <value>: Show logs starting from the specified time. For example, 1h (from 1 hour ago), 30m (from 30 minutes ago) or 2024-01-01 (from that date).
--tail <value>: Number of recent lines to show in the output.
--timestamps: Include timestamps in the output.
--until <value>: Show logs up to the specified time. For example, 1h (up to 1 hour ago), 30m (up to 30 minutes ago) or 2024-01-01 (up to that date).
If you don’t need a job to continue running, you can cancel it. The jobs that finish with COMPLETED status are canceled automatically.To cancel a job:
Web console
CLI
In the sidebar, go to AI Services → Jobs.
Find the job and then click → Cancel.
In the window that opens, confirm canceling the job.
List jobs:
nebius ai job list
In the output, copy the ID of the required job.
To cancel a job, run:
nebius ai job cancel <job_ID>
Canceling a job immediately stops the container over VM and deletes the container disk. The job remains in the list of jobs. Mounted volumes are retained. You can remove the mounted volumes manually. See the guides on deleting a filesystem and deleting a bucket.
Canceling a job immediately stops the container over VM and deletes the container disk. The job remains in the list of jobs. Mounted volumes are retained. You can remove the mounted volumes manually. See the guides on deleting a filesystem and deleting a bucket.If you need to remove any record about the job from the job list, delete the job instead of canceling it.
In the window that opens, confirm deleting the job.
List jobs:
nebius ai job list
In the output, copy the ID of the required job.
Delete the job:
nebius ai job delete <job_ID>
When the job is deleted, it disappears from the list of jobs. If a job is running, deleting cancels the job first.If the job uses additional volumes, they are not deleted with it. You can remove the mounted volumes manually. See the guides on deleting a filesystem and deleting a bucket.