Sync From S3-Compatible Storage
Connect a Datature Vi dataset to any S3-compatible object store, including Wasabi, Backblaze B2, Cloudflare R2, and DigitalOcean Spaces. Read-only sync using access keys and an HTTPS endpoint.
If your storage provider speaks the S3 API, Datature Vi can sync from it. The S3-Compatible connector covers Wasabi, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Linode Object Storage, IBM Cloud Object Storage, and any other service that implements ListBucket, GetObject, and GetBucketLocation. The setup is the same in every case: a scoped access key, an HTTPS endpoint, and (sometimes) a region or a path-style toggle.
- A paid Datature Vi account. External bucket sync is not available on the free tier.
- A bucket on an S3-compatible service that is reachable from the public internet over HTTPS.
- A read-only access key pair scoped to the bucket.
- The HTTPS endpoint URL for your provider (each service publishes the right endpoint in its documentation).
Open the Explorer tab

In the left sidebar, click the Explorer tab on your dataset. This is where the synced assets will appear after the connection is set up.
Synced images appear in the dataset Explorer. The asset count in the header reflects the objects pulled from your S3-compatible bucket.
When to use this connector
Use the S3-Compatible connector when your storage provider is not Amazon S3, MinIO, GCS, or Azure Blob, but exposes an S3-compatible API.
If you run MinIO, use the dedicated MinIO connector instead. The MinIO setup uses the same UI but documents MinIO-specific policy syntax.
Step 1: Create a scoped read-only access key
Every S3-compatible service has its own console for issuing keys, but the principle is the same: create a key pair that can list objects in one bucket and read those objects, and nothing else.
Vi needs three permissions:
s3:ListBuckets3:GetObjects3:GetBucketLocation
Most providers expose a built-in "Read-Only" policy that covers these actions. For providers with policy JSON support, paste this minimal policy and replace your-bucket-name:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}Generate the key pair after the policy is attached. Copy both the access key ID and the secret access key now; most providers do not show the secret again after the dialog closes.
Step 2: Enter the bucket details
Open the dataset you want to sync into, then walk through the wizard.
The advanced options are hidden by default. Click Show Advanced Options if you need a folder prefix, a region, or path style.
Click Next to continue.
Step 3: Enter the access credentials
On the Access Credentials tab, paste the values from the user you created in Step 1.
Both values are encrypted at rest inside Vi. The key needs read and list permissions on the bucket; nothing more.
Click Next. Vi tries the connection.
Step 4: Confirm the connection status
The Connection Status step shows whether Vi can list and read objects.
Step 5: Sync your assets
Choose Sync Now to run the first sync immediately, or Sync Later to set up the connection without syncing. If you pick Sync Now, Vi walks through three more screens before the sync starts in earnest.
- Preview Files to Sync. Vi scans the bucket prefix and shows the file count alongside a sample of object paths. Confirm the preview matches what you expect, then click Sync.
- Sync Started. A confirmation appears letting you know the job is running in the background. Click I Understand to dismiss the dialog; the sync continues even after you close the wizard or the browser tab.
- Track progress. Open the Connected Bucket dropdown in the top-right of the Explorer to see the connection name, status, provider, bucket, prefix, asset count, and a live progress bar while assets are retrieved.
The first sync takes 5 to 40 minutes depending on the bucket size. Progress is also visible in the Connection Manager tab.
Asset requirements
S3-compatible syncs use the same metadata pipeline as MinIO, so video files have a slightly wider set of accepted MP4 major brands than the AWS, Azure, and GCS connectors.
Annotations are not part of the bucket sync. Vi reads only image and video metadata from your S3-compatible bucket. If you have existing labels in COCO, YOLO, Pascal VOC, CSV, or Vi JSONL, upload them directly to Vi once the assets finish syncing.
Provider-specific tips
Troubleshooting
Next steps
Updated 3 months ago
