uvoo extracts 58+ structured signals from each asset. These signals form the brand knowledge graph and are the source of all prompt generation, brand queries, and guideline checking. Below is the complete reference.
Color signals
| Signal | Type | Description |
|---|
palette_cielab | array[5] | Top 5 dominant colors in CIELAB L*a*b* format |
palette_hex | array[5] | Same palette converted to sRGB hex |
color_temperature | number | Estimated color temp in Kelvin (2700K–8000K) |
warmth_ratio | 0–1 | Proportion of warm vs. cool pixels |
saturation_mean | 0–1 | Mean HSV saturation across image |
saturation_variance | number | Saturation spread — high = colorful, low = muted |
lightness_mean | 0–100 | Mean CIELAB L* (perceptual lightness) |
contrast_ratio | number | Michelson contrast of the image |
color_harmony | enum | Dominant harmony: analogous / complementary / monochromatic / triadic |
Composition signals
| Signal | Type | Description |
|---|
subject_placement | enum | center / rule-of-thirds / edge / distributed |
fill_ratio | 0–1 | Fraction of frame occupied by primary subject |
negative_space_ratio | 0–1 | Fraction of frame that is background/space |
aspect_ratio | string | Detected crop ratio (1:1, 4:3, 16:9, 9:16, etc.) |
horizon_line | 0–1 or null | Vertical position of horizon, if present |
symmetry_score | 0–1 | Bilateral symmetry — 1 = perfectly symmetric |
depth_of_field | enum | shallow / medium / deep |
foreground_complexity | 0–1 | Edge density in foreground region |
Lighting signals
| Signal | Type | Description |
|---|
lighting_type | enum | natural / studio / mixed / artificial |
lighting_direction | enum | front / side / back / top / diffused |
lighting_hardness | 0–1 | 0 = soft/diffused, 1 = hard directional |
shadow_presence | boolean | Visible cast shadows detected |
shadow_softness | 0–1 | Edge sharpness of detected shadows |
highlight_clipping | boolean | Blown-out highlight regions present |
exposure_value | number | Estimated EV relative to 18% grey |
Semantic / mood signals
| Signal | Type | Description |
|---|
ram_tags | array[string] | All RAM++ semantic tags, sorted by confidence |
mood_cluster | array[string] | Top 5 mood/atmosphere tags |
content_type | enum | product / lifestyle / campaign / portrait / scene / abstract |
human_presence | boolean | Human figure detected |
face_visibility | enum | full / partial / none |
product_visibility | enum | hero / secondary / none |
setting | enum | indoor / outdoor / studio / abstract |
Texture signals
| Signal | Type | Description |
|---|
grain_level | 0–1 | Film/digital grain presence |
surface_smoothness | 0–1 | Dominant surface texture — 1 = polished/smooth |
texture_richness | 0–1 | Overall tactile complexity of the scene |
material_tags | array[string] | Detected materials: ceramic, linen, wood, glass, etc. |
Embedding
| Signal | Type | Description |
|---|
siglip_embedding | float[768] | SigLIP 2 (ViT-B-16-SigLIP-384) visual embedding vector |
brand_similarity_score | 0–1 | Cosine similarity to brand centroid embedding |
outlier_flag | boolean | True if similarity score < brand mean − 1.5σ |
All signals are available via the API on a per-asset and per-brand-aggregate basis.