Augmentation
The augmentation resource produces a new HuggingFace dataset by applying transforms to an existing one. See the Dataset Augmentation guide for an overview of when and why to use it.
Create a Job
Section titled “Create a Job”Start a new dataset augmentation job.
from qualia import Qualia
client = Qualia()
job = client.augmentation.create( project_id="...", dataset_id="qualiaadmin/spoon10", # HuggingFace dataset ID transforms="lighting,noise", # Comma-separated transforms mode="stacked", # stacked or independent copies=3, # Augmented copies per episode dataset_mode="copy", # copy or inplace # Optional fine-tuning of lighting transform ranges: brightness_range=(-15, 15), contrast_range=(-10, 10), color_temp_range=(4000, 6500), name="My augmentation run",)Response
{"job_id": "550e8400-e29b-41d4-a716-446655440000","status": "queued","message": "Augmentation job created successfully"}Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | str | Yes | Project to create the job in |
dataset_id | str | Yes | HuggingFace dataset ID to augment |
augmentation_type | str | No | deterministic (default) or generative (currently disabled) |
transforms | str | No | Comma-separated transforms: lighting, noise, blur, occlusion (default: lighting) |
mode | str | No | stacked applies all transforms to each copy, independent creates one copy per transform (default: stacked) |
copies | int | No | Number of augmented copies per episode, 1–20 (default: 3) |
dataset_mode | str | No | copy adds augmented copies alongside originals, inplace replaces them (default: copy) |
brightness_range | tuple[float, float] | No | Brightness adjustment range in percent (default: (-15, 15)) |
contrast_range | tuple[float, float] | No | Contrast adjustment range in percent (default: (-10, 10)) |
color_temp_range | tuple[int, int] | No | Color temperature range in Kelvin (default: (4000, 6500)) |
name | str | No | Job description |
Get Job Status
Section titled “Get Job Status”Check the status of an augmentation job. The augmented dataset ID is populated once the job has completed.
status = client.augmentation.get(job.job_id)
if status.status == "completed": print(f"Augmented dataset: {status.augmented_dataset_id}")Response
{"job_id": "550e8400-e29b-41d4-a716-446655440000","current_phase": "augmentation_running","status": "running","instance_type": "n3-RTX-A6000x1","region": "NORWAY-1","phases": [ { "name": "queuing", "status": "completed", "started_at": "2026-04-09T10:00:00Z", "completed_at": "2026-04-09T10:00:30Z", "events": [], "error": null }, { "name": "augmentation_running", "status": "in_progress", "started_at": "2026-04-09T10:02:00Z", "completed_at": null, "events": [], "error": null }],"augmented_dataset_id": null,"created_at": "2026-04-09T10:00:00Z"}Job Phases
Section titled “Job Phases”Augmentation jobs progress through these phases in order:
| Phase | Description |
|---|---|
queuing | Job is queued and waiting to start |
credit_validation | Validating credit balance |
instance_booting | GPU instance is booting |
instance_activation | Instance is being activated |
instance_setup | Setting up the augmentation environment |
dataset_preprocessing | Downloading and tagging the input dataset |
augmentation_running | Augmentation transforms are being applied |
dataset_uploading | Augmented dataset is being uploaded to HuggingFace |
completed | Job completed successfully |
failed | Job failed (check phase errors for details) |
cancelled | Job was cancelled |
Each phase has a status of started, completed, or failed.
Cancel a Job
Section titled “Cancel a Job”Cancel a running augmentation job. Any unused credits from the reservation are returned automatically.
result = client.augmentation.cancel(job.job_id)Response
{"job_id": "550e8400-e29b-41d4-a716-446655440000","cancelled": true,"message": "Augmentation job cancelled successfully"}