Veedrobe · Outfit Intelligence API for fashion products

Stylist-grade
outfit intelligence,
through one API.

Turn any digital wardrobe into outfit recommendations people can actually wear.

Veedrobe understands weather, occasion, style preferences and wardrobe constraints — then returns ranked outfits with clear confidence and explanations.

Low-latency scoring core 7 languages Safety-gated
Request POST /generate-outfits
WeatherRainy
Temp8°C
OccasionWork
StyleMinimal
Top recommendation very_compatible
Trench White shirt Tailored trouser Oxford

Rain-safe, office-appropriate, balanced neutral palette. The watch is kept as the single warm accent.

Constraint handled

Sandal was not used because it is unsafe for rainy weather.

Confidence
0.74

4 outfits generated · explainable, constraint-aware ranking

Validated engine
0
P0 safety failures
0
Silent constraint drops
0.83
Confidence–quality correlation
10/10
Explanation grounding

When a requested item can't be used safely, the API returns a reason instead of ignoring it.

Validated across adversarial styling tests, edge-case wardrobes and constraint-heavy scenarios using representative wardrobes and style profiles. View validation methodology →

Why it's different

More than a prompt.
A measurable styling engine.

LLMs are great at conversation. Outfit recommendation needs structured ranking, hard safety gates, confidence calibration and wardrobe-aware reasoning.

We combine deterministic outfit scoring with natural-language explanations — so the engine decides what to recommend and what to reject, and language only explains the difference.

Engine selects. Language explains.

Constraint-aware

User-kept items are honoured when possible — or transparently excluded with a reason when they're unsafe or unsuitable.

Candidate-complete

Eligible wardrobe staples enter the candidate pool before ranking — strong outfits aren't missed upstream.

Confidence-calibrated

High confidence is reserved for genuinely strong outfits, not handed out by default.

Safety-gated

Weather, formality and styling failures are de-ranked and clearly labelled.

How it works

From wardrobe to ranked outfits

Four steps. One request. Everything in between is the engine's job.

01

Send wardrobe

Item metadata, 512-dim FashionCLIP embeddings, or image-derived features — depending on your integration mode.

02

Add context

Season, occasion, temperature, weather, body type, style profile and constraints.

03

Get ranked outfits

Candidates generated, scored, safety-gated, then returned with calibrated confidence.

04

Explain & personalize

Each outfit ships with a reason, colour-harmony note and style tips in 7 languages.

Wardrobe Context Candidate generation Scoring Safety gates Confidence Ranked outfits
Developer quickstart

One call. Predictable JSON.

REST, an Api-Key header, and a JSON body. Every outfit comes back with a confidence score, a human-readable label, the items used and an explanation.

  • Standard HTTP status codes & error shapes
  • Up to 20 ranked outfits per request
  • Versioned, with a public changelog
POST /api/v1/generate-outfits
curl -X POST https://service.veedrobe.com/api/v1/generate-outfits \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "stylist-42",
    "season": "fall",
    "context": "work",
    "body_type": "hourglass",
    "temperature": 12,
    "weather_condition": "rainy",
    "language": "en",
    "keep_items": ["watch-01"],
    "wardrobe": [ /* ... */ ]
  }'
200 OK response.json
{
  "count": 4,
  "outfits": [
    {
      "confidence": 0.74,
      "score": 0.71,
      "label": "very_compatible",
      "items": ["trench-01", "shirt-01", "trouser-01", "oxford-01", "watch-01"],
      "reason": "Rain-safe, office-appropriate; the watch stays the only accent.",
      "color_harmony": "Neutral base with one warm metallic accent.",
      "style_tips": "Belt the trench; let the watch finish the look."
    }
  ],
  "constraint_resolution": {
    "honored_keep_items": ["watch-01"],
    "dropped_keep_items": [
      { "item_id": "sandal-01", "reason": "season_mismatch",
        "message": "I left out the sandals as they aren't suited to this weather." }
    ]
  }
}
What the API returns

Every outfit, fully described

A predictable JSON object per outfit — no parsing guesswork, no hidden state.

Ranked outfits

items — the pieces in each look, best first.

Calibrated confidence

confidence & score you can threshold on.

Safety & fit labels

label — very_compatible · good · moderate · incompatible.

Style explanations

reason — why this outfit, in 7 languages.

Colour-harmony notes

color_harmony — the palette logic.

Wear-it tips

style_tips — how to put it together.

Constraint resolution

constraint_resolution — honoured vs dropped keep-items, each with a reason.

Wardrobe gap signals

reason & floored confidence — when the wardrobe can't satisfy the request.

Use cases

Built for fashion products

One engine behind closet apps, commerce, styling assistants and retail.

Closet apps

Recommend what to wear today from items the user already owns.

E-commerce

Show shoppers how a product fits into their wardrobe before they buy — and after.

Styling assistants

Generate ranked outfit options with explainable confidence at scale.

Retail CRM

Send weather-, style- and occasion-aware looks straight into campaigns.

Virtual try-on

Rank the best complete looks after a try-on session.

Personal styling

Accelerate a stylist's workflow with API-generated starting points.

A tested API that knows what to recommend, what to reject, and how to explain the difference.

Add stylist-grade outfit intelligence to your product — without building a styling team.