Product Data Requirements
For optimal performance of Youzu.ai's visual AI features, it's important to ensure your product data meets our recommended specifications. This guide outlines the requirements and best practices for structuring your product data.
Required Fields
All field names use camelCase. The following fields are required on every product record. Fields marked (nullable) must be present but may be set to null.
| Field | Type | Description | Example |
|---|---|---|---|
sku |
String | Stock keeping unit — unique within the catalogue | "CHAIR-001" |
name |
TranslatedField | Product name in multiple languages | {"en": "Ergonomic Office Chair"} |
description |
TranslatedField | Product description in multiple languages | {"en": "Premium office chair with lumbar support"} |
url |
String (URL) | Product URL | "https://shop.example.com/products/chair" |
price |
PriceField | Price in multiple currencies | {"USD": 299.99, "EUR": 259.99} |
inStock |
Boolean | Whether the product is in stock | true |
isPublished |
Boolean | Whether the product is published | true |
images |
Array of URL strings | Product images (required for visual AI) | ["https://example.com/image1.jpg"] |
dimensions |
Dimensions | null (nullable) |
Physical dimensions in centimetres | {"widthCm": 60, "heightCm": 120, "lengthCm": 70} |
weightKg |
Number | null (nullable) |
Weight in kilograms | 15.5 |
brand |
String | null (nullable) |
Brand name | "ErgoDesigns" |
externalRef is not accepted from the client — the server generates it server-side from clientId, catalogueId, and sku in the format CLIENT:CATALOGUE:CATALOGUE_ID:PRODUCT:SKU.
TranslatedField Format
For fields that support multiple languages (like name and description), use the TranslatedField format:
{
"name": {
"en": "Blue Sofa",
"es": "Sofá Azul",
"fr": "Canapé Bleu"
},
"description": {
"en": "Comfortable 3-seater sofa with fabric upholstery",
"es": "Sofá de 3 plazas cómodo con tapizado de tela"
}
}
PriceField Format
For the price and priceDiscount fields, specify prices in multiple currencies:
{
"price": {
"USD": 299.99,
"EUR": 259.99,
"GBP": 219.99
},
"priceDiscount": {
"USD": 249.99,
"EUR": 219.99
}
}
Optional Fields
These fields provide additional product information:
| Field | Type | Description | Example |
|---|---|---|---|
priceDiscount |
PriceField | null |
Discounted price in multiple currencies | {"USD": 249.99} |
ean |
String | null |
European Article Number | "1234567890123" |
upc |
String | null |
Universal Product Code | "123456789012" |
colour |
Object | null |
Colour information | See Colour Format |
categories |
Array of strings | Category names | ["Furniture", "Office"] |
customProperties |
Object | Up to 10 custom key/value pairs for filtering (string, number, or boolean values) | {"material": "Leather", "hasWarranty": true} |
Dimensions Format
Physical dimensions are in centimetres. All three axes are required when dimensions is not null.
{
"dimensions": {
"widthCm": 60,
"heightCm": 120,
"lengthCm": 70
}
}
If you don't have dimensions for a product, pass null rather than omitting the key:
{
"dimensions": null
}
Colour Format
Color information with primary and secondary colors:
{
"colour": {
"primary": "Blue",
"secondary": "Navy"
}
}
Images Format
Images should be provided as an array of URLs:
{
"images": [
"https://example.com/images/chair_front.jpg",
"https://example.com/images/chair_side.jpg",
"https://example.com/images/chair_detail.jpg"
]
}
Custom Properties
customProperties lets you attach up to 10 additional key/value pairs for later filtering and search. Keys are free-form; values may be strings, numbers, or booleans.
{
"customProperties": {
"material": "Leather",
"warranty": "2 years",
"assemblyRequired": true,
"shippingWeightKg": 12.5
}
}
Complete Example
{
"sku": "CHAIR-001",
"name": {
"en": "Ergonomic Office Chair",
"es": "Silla de Oficina Ergonómica"
},
"description": {
"en": "Premium office chair with lumbar support and adjustable height",
"es": "Silla de oficina premium con soporte lumbar y altura ajustable"
},
"url": "https://shop.example.com/products/chair",
"price": {
"USD": 299.99,
"EUR": 259.99
},
"priceDiscount": {
"USD": 249.99
},
"inStock": true,
"isPublished": true,
"images": [
"https://example.com/images/chair_front.jpg",
"https://example.com/images/chair_side.jpg",
"https://example.com/images/chair_detail.jpg"
],
"dimensions": {
"widthCm": 60,
"heightCm": 120,
"lengthCm": 70
},
"weightKg": 15.5,
"brand": "ErgoDesigns",
"ean": "1234567890123",
"upc": "123456789012",
"colour": {
"primary": "Black",
"secondary": "Grey"
},
"categories": ["Furniture", "Office", "Chairs"],
"customProperties": {
"material": "Leather",
"warranty": "2 years",
"assemblyRequired": true
}
}
Image Requirements
Images are crucial for Youzu.ai's visual AI functionality. For best results:
Technical Specifications
- Resolution: Minimum 800x800 pixels, recommended 1200x1200 pixels or higher
- Format: JPEG, PNG, or WebP
- File size: Maximum 10MB per image
- Background: White or transparent backgrounds preferred
- Quantity: At least one image per product, multiple images recommended
Image Quality Best Practices
- Use well-lit, professional product photography
- Show the product from multiple angles (front, side, back, detail shots)
- Avoid text overlays or watermarks on the image
- Ensure the product fills at least 80% of the image frame
- Maintain consistent lighting and background across product images