Good data is the foundation of any successful AI model. This section shows you how to prepare and upload your image dataset.
Data Requirements
Minimum images: 50-100 per category (more is better)
Formats supported: JPG, PNG, WEBP
Organization: Images grouped by label/category
Using the Web Platform
Create a New Dataset
Navigate to Datasets in the sidebar
Click New Dataset
Select Images as the content type
Enter a name and description
Upload Your Images
Option 1: Upload ZIP file
Organize images in folders (folder name = label)
ZIP the parent folder
Drag and drop or click to upload
Option 2: Upload individually
Click Add Items
Select images
Assign labels manually
Define Labels
Go to Labels tab
Click Add Label
Enter label name and pick a color
Repeat for each category
Using the Python SDK
fromseemeimportClientclient=Client()# Create a new image datasetdataset=client.create_dataset(name="My Image Dataset",description="Training data for image classification",content_type="images")print(f"Created dataset: {dataset.id}")
# Upload a ZIP file with images organized in folders# Folder structure:# dataset.zip/# cats/# cat1.jpg# cat2.jpg# dogs/# dog1.jpg# dog2.jpgclient.upload_dataset_version(dataset_id=dataset.id,version_id=dataset.versions[0].id,zip_path="./dataset.zip")
# Create labels firstlabel_cat=client.create_dataset_label(version_id=version.id,name="cat",color="#FF5733")label_dog=client.create_dataset_label(version_id=version.id,name="dog",color="#3498DB")# Upload individual imagesitem=client.create_dataset_item(version_id=version.id,split_id=split.id,file_path="./cat1.jpg")# Add annotation (label) to the itemclient.annotate(dataset_id=dataset.id,dataset_version_id=version.id,annotation={"item_id":item.id,"split_id":split.id,"label_id":label_cat.id})
# Create a new datasetcurl -X POST "https://api.seeme.ai/api/v1/datasets"\
-H "Authorization: myusername:my-api-key"\
-H "Content-Type: application/json"\
-d '{
"name": "My Image Dataset",
"description": "Training data for image classification",
"content_type": "images"
}'# Create a dataset versioncurl -X POST "https://api.seeme.ai/api/v1/datasets/{dataset_id}/versions"\
-H "Authorization: myusername:my-api-key"\
-H "Content-Type: application/json"\
-d '{"name": "v1"}'# Create labelscurl -X POST "https://api.seeme.ai/api/v1/versions/{version_id}/labels"\
-H "Authorization: myusername:my-api-key"\
-H "Content-Type: application/json"\
-d '{"name": "cat", "color": "#FF5733"}'curl -X POST "https://api.seeme.ai/api/v1/versions/{version_id}/labels"\
-H "Authorization: myusername:my-api-key"\
-H "Content-Type: application/json"\
-d '{"name": "dog", "color": "#3498DB"}'# Upload individual imagecurl -X POST "https://api.seeme.ai/api/v1/versions/{version_id}/items"\
-H "Authorization: myusername:my-api-key"\
-F "file=@./cat1.jpg"\
-F "split_id={split_id}"# Add annotation to itemcurl -X POST "https://api.seeme.ai/api/v1/items/{item_id}/annotations"\
-H "Authorization: myusername:my-api-key"\
-H "Content-Type: application/json"\
-d '{"label_id": "your-label-id"}'
Using Mobile Apps
iOS App
Open the SeeMe.ai app
Tap Datasets tab
Tap + to create new dataset
Use camera to capture images or select from gallery
Swipe to assign labels
Android App
Open the SeeMe.ai app
Navigate to Datasets
Tap Create Dataset
Capture or import images
Label each image
Best Practices
ℹ️
Quality over quantity: 100 high-quality, well-labeled images often outperform 1000 noisy ones.
Balanced classes: Aim for similar numbers of images per category
Variety: Include different angles, lighting, backgrounds
Real-world conditions: Match your production environment
Clean labels: Double-check that images are correctly categorized