How the Vêtir AI Stylist Builds a Look, From Your Initial Question to the Final Piece

November 12, 2026
How the Vêtir AI Stylist Builds a Look, From Your Initial Question to the Final Piece

The Vêtir AI stylist turns one sentence into complete outfits. It reads what you are dressing for (occasion, place, weather, budget, fabric, anything you never wear), builds looks from your own closet and from a shop of hundreds of thousands of designer pieces from the world's leading luxury retailers and houses, and tests every look against the color rule Vêtir's human stylists dress clients by and a set of practical checks. Then it remembers what it showed you, changes a look one piece at a time, and hands the brief to a person when you would rather talk to one.

Here is what happens between your question and the looks on screen: first what the stylist does, then, under the hood, how its pipeline is engineered and why. The AI stylist's feature page has the short version.

What the AI stylist reads in your question

Most asks are a version of "what should I wear to" or "style me for", so the first job is to read everything the sentence carries:

  • The occasion. A dinner, the office, a wedding as a guest, a day of sightseeing.
  • Where and when. Name a place and a month ("Switzerland in December") or a ski trip and it dresses for that climate; name neither and it reads today's weather where you are, in °F for US shoppers.
  • A budget. "Under $1,500 for the whole look", "two hundred dollars" or a figure in euros, converted.
  • Fabric, color and shoes. "Only silk", "no wool", "flats only", "I don't wear black".
  • Who it is for. "Something for my husband" is answered in menswear.

One ask typed into the stylist, lightly edited, shows how much a line can hold: "Outfits for a work trip to Milan — meetings by day, dinners at night." That is one destination and two dress codes.

It also knows what you have told Vêtir: the style, colors and designers in your preferences, the colors you never wear, the houses in your closet and the pieces you bought and kept. A piece you sent back is read as a question of fit, not a verdict on its brand. Say you never wear fur and it keeps to that beyond this conversation; a budget, by contrast, belongs to one conversation, so tonight's dinner budget never caps next month's coat shopping. "Forget my preferences" clears the rules you set in conversation, and the reply says what it cleared.

Your closet first, then the shop

When your closet is part of the ask, the stylist searches what you own and the shop at the same time. Your pieces are marked Yours and new ones show their price, so you see what a look costs to finish. To fill an empty closet, digitize it from a video or book white-glove digitization.

"From my closet" means only your closet: if it cannot finish a look, the reply says what is missing and offers to mix in new pieces rather than slipping them in. On an ordinary ask, one look may wear a shoe, bag, layer or jewel you own, matched by kind and color family and named in a line such as "Look 2 uses the pumps from your closet."

Looks built by Vêtir's stylists and from our editors' stories feed a library the AI stylist draws on. When one fits your ask it can lead the answer, and a look from a story is introduced "From our edit". Each is judged against your ask first and kept out of closet-only asks.

On a Vêtir product page, Style This Piece builds complete looks around that exact piece. The first takes its lead from how the brand styled the piece in its own photographs; the others take it to different occasions, with pieces in keeping with its price.

What makes a look complete

A look is a whole outfit, not a grid of similar pieces. It needs a base (a dress or suit, or a top with a bottom) and shoes. It gets one bag chosen for the occasion: an evening bag for a night out, a day bag at the office. A look missing a bag gets one priced in keeping with the clothes, a three-piece look gets jewelry, and an ask for winter, snow, a ski trip or a cold destination puts an outer layer in every look.

Some things come one to a look: one pair of shoes, one bag, one outer layer, never a dress with separate trousers or a skirt. Beauty products, homeware and anything made for children stay out, and jewelry stays in proportion to the price of the rest of the look. Every look then passes a final check before you see it, and if stock cannot meet a limit you set, the answer says which.

The house color rule, and the practical checks beside it

The AI stylist dresses by the house color rule of Vêtir's human stylists: they do not put black with brown, camel or tan in one outfit, and they do not put brown, camel or tan with navy, blue or blue denim. It covers the clothes, shoes, bags and belts worn together; jewelry, sunglasses, hats and scarves sit outside it, and cream, ivory, stone and taupe are not brown.

Retailers name colors loosely, so the stylist reads the product photograph as well as the listed color: a blazer listed as beige whose photograph is plainly camel counts as camel. A clash is repaired by swapping the piece on the smaller side for one of the same kind in an allowed color, never the piece you asked it to style around; a color you ask for in an edit is kept, and the other piece moves. Our guide to wearing burgundy shows pairings that work. Beside the color rule, the stylist makes practical checks:

  • No ankle boots under a skirt.
  • No technical shell over a dress or heels, and no heavy coat in a warm-weather look unless you asked for a layer.
  • No white for a wedding guest unless you ask for it, as our winter wedding guide explains.
  • A day on foot keeps walkable shoes: flats, or a low, steady heel.
  • No denim, cargo, athleisure or sneakers at a dressy occasion, and no jewelry in a workout look.

Honest budgets: a total for the whole look

"A complete work look under $1,500" is a budget for the outfit, not a ceiling for each piece; read as a per-piece ceiling, the coat could leave nothing for shoes. So the stylist shares the total out across the pieces before it searches, and each piece's search keeps to the kind the look asked for: a tight share brings back a cheaper slingback, not just any cheap shoe. Each look's total is shown, and if none can fit, the reply says so and shows the closest, with its real total.

Fabric asks are answered from the label

Ask for silk and you should get silk. The FTC's textile labeling rule requires the generic names and percentages by weight of a product's fibers, listed in order of predominance, so the stylist reads a retailer's composition line before the product name.

That settles what a keyword search gets wrong: trousers sold as "silk pants" whose composition reads wool are left out of a silk ask, and a satin clutch that is mostly viscose is not a silk clutch. A silk lining does not make a jacket silk, and Silk Laundry or Cotton Citizen is a brand, not a fabric. You see only pieces listed as your fabric, and the reply mentions any left out for stating no composition rather than guessing; if nothing qualifies, "only" gets an honest no. In a look, the fabric you name goes on the clothes, and one you rule out stays out of every piece.

It remembers what it showed you

Questions about the screen are resolved against the pieces actually shown, and anything with a number is arithmetic on their real prices, not a guess:

  • "What does the whole look come to without the bag?"
  • "Which piece in this look costs the most?"
  • "Open the second pair of shoes", "Who makes the coat?" or "What was the first thing you showed me?"
  • "Only the black ones" or "More like the second one, but in red."
  • "Add the first one to my bag," which brings up that piece and its sizes.

A piece that has sold out since is marked sold out, and "show more" keeps the price, color, fabric and kind you first asked for.

Change a look one piece at a time

Ask to swap the shoes, try other trousers, or make a look warmer, more casual or dressier. "More casual" moves the shoes, the main garment and the bag together, since those three set an outfit's tone. The edit remembers what the look was for, so "other trousers" after a dinner ask looks for dinner trousers. The piece you started from and your closet pieces stay put, the house color rule and your exclusions apply to every swap, and a new piece stays near the price of the one it replaces unless you ask to dress up or name a house.

When a look is right, save it to your Outfits, see it on your avatar as a picture and then a short video, or add the new pieces to your bag; you choose every size and confirm the order on Vêtir.

Handing it to a human stylist

One tap sends a Vêtir stylist your brief: what you asked in this conversation, the occasion and rules you set, your budget for it, your saved looks and the look on screen. It goes to your own Vêtir stylist if you have one, or to Vêtir's house stylist, who picks up in chat with nothing to explain twice. For ongoing help, personal styling pairs you with a stylist for sessions.

Under the hood: how the AI stylist's pipeline works

Finding one dress is a search problem. A look is a constraint problem: several pieces that must work together, drawn from hundreds of thousands of designer pieces and your own closet, under your rules and our stylists' color rule, fast enough to stream. The design draws one line through it: a styling step proposes the looks, because taste is a judgment, and deterministic code owns every guarantee.

Flow diagram of one Vêtir AI stylist turn: reading the ask and gathering context feed a plan of the looks, every piece is searched at once in the shop and, when the ask includes it, your closet, the look checks repair and re-check, and the answer streams to the screen with a progress line at each stage
One search per piece, all at once, and every look checked before it reaches you.

From a sentence to typed constraints

Questions with an exact answer are recognized by rules and never reach the styling step: a total, the priciest piece on screen, a save to your closet. An ask for looks or pieces becomes typed constraints. A budget becomes an amount in dollars, converted when you name another currency, and a scope: "under $1,500 for the whole look" is one total for the outfit, while "silk blouses under $500" caps each blouse. "Not red" becomes the red color family, so burgundy is out too; "no fur" and "stop showing me bags" are stored the same way, and "keep the earrings" lifts an earlier "no jewelry".

Who the clothes are for changes only when you say so ("what should my husband wear"); a husband's birthday dinner is still your outfit. Climate follows a fixed order: a cold-weather activity, a named place in the named month, a season, a month, a beach, and only then today's weather where you are, though a month named with no place outranks that weather only when the weather cannot speak for it. The styling step decides structure, meaning which pieces a look has, and never a requirement: a color it picks only steers ranking, so its choices can never harden into rules, while a color you name filters the search. Your stored preferences never filter; they only break ties.

Every piece, searched at once

Context arrives in parallel: your preferences, what the conversation has shown, the weather (skipped when slow) and, when the ask includes your closet, the pieces of it that suit the ask, found through the closet's own search index rather than read whole. The styling step proposes the looks, and each piece becomes its own search plan: clean catalogue words for keyword ranking, a short phrase for an embedding search that matches by meaning, the kind of piece the plan named, hard filters only from your words (color family, house, length, fabric, size), your exclusions and a price range. Every piece of every look is searched at once, your closet in the same task when it is in play, so the slowest search, not the sum, sets the pace.

Even that has a limit: once enough results land, the turn moves on and a later completeness pass fills any missing piece; a failed search yields an empty slot, not an error. The search index is a fast copy of the catalogue, and copies lag, so every hard requirement is checked twice, as a filter and again on the live listing, and a piece that only nearly matches (navy for blue) or whose listing cannot prove the match ranks below the exact ones. A filtered search that finds nothing reruns with the index filters off and the live check still on, losing recall, never correctness. When no candidate passes the live check, the plan loosens in a fixed order, first a requested color, house, fabric or size, then the kind of piece, but never an exclusion, a length you asked for or a price limit: an unwanted piece is worse than an empty slot.

The look checks: detect, repair, re-check

Assembly adds what a complete look needs, such as a bag for the occasion or a coat on a cold ask, and styling passes apply the house color pairs and the practical checks; the color repair runs again after the last refill, since a refill can bring in a piece that breaks a pair. Any pass that adds a piece can also break a structural rule an earlier pass settled, so a final check runs last, over the structural rules and the limits you set, to a fixpoint: every rule detects, the rules that can repair do, and the set runs again until a pass changes nothing, with a cap so two rules cannot trade a piece back and forth. Pass order stops mattering, and every look the stylist composes or edits ends in this check.

A look still broken after repair is dropped, unless it holds your piece or the answer would be too thin. Then the least-broken looks come back and the reply names any limit of yours they miss, though a look over a budget you stated never comes back while one that fits exists. A piece repeated in a later look leaves that look, even when two retailers list it (matched by house, name and color), unless it is the piece you asked to style or that look's only top, bottom, dress, shoes or bag.

Flow diagram of the final look check: built looks run every rule, a look that passes ships to the screen, a look that fails is repaired and checked again, and a look still broken after repair either ships anyway, when it holds your piece or the answer would be too thin, or is dropped, beside a list of the rules the check holds
The check loops until nothing changes; a look it cannot repair is dropped unless it has to stay.

For the color pairs, a background job measures each product photo whose listed color cannot settle the rule, such as a beige that may be camel. It separates the piece from the white studio ground, takes its median color in the CIELAB color space with the extremes trimmed, and measures how much of the piece sits near that color, so a print reads as no single color. A photo only ever moves a piece onto the brown side, and never for swimwear, straw, prints or your own pieces. The job stores measurements, and each server derives the verdicts as it loads them into memory, so the rule can change without a photo being read again. A clash swaps the smaller side of the pair, never your piece, for one of the same kind that breaks no other pair.

Sharing out a budget

For a budget stated in the ask, the share-out is arithmetic done before any search:

spend   = the look's budget − the price of the piece you asked to style
weight each planned piece by its kind   # dress, coat, shoes, bag most; jewelry, accessories least
portion = round_down(spend × its weight ÷ sum of the look's weights)

for each piece, in parallel:
    wide  = pieces that match its plan, none dearer than the whole budget
    kinds = the best match's kind, plus any kind common in wide
    found = the pieces in wide within its portion
    for price_cap in [its portion, its portion with only garments and shoes budgeted]:
        if found is enough: stop
        found += pieces that match its plan, up to price_cap, of those kinds
    if found is still too few: found += wide

while the look costs more than its budget and its dearest piece has a cheaper swap:
    swap it for the cheapest piece in the same slot that no other look wears
if still over: shed jewelry, then accessories, then the bag   # never the base, shoes or your piece
if still over: drop the look, unless it holds your piece or no other look fits

Rounding down is the guarantee: one look's portions never add up past its budget, so a look built with one piece per portion fits by construction. The wide search matters as much, because a price limit quietly changes what comes back: under a tight enough ceiling, a search for slingbacks still returns shoes, just not slingbacks, so a cheaper search may only add pieces of the kinds the wide search found, and when the wide search already holds enough within the portion, no second search runs. A budget you state is a hard limit for that ask; later in the conversation it is remembered softly, preferring cheaper swaps but never stripping a look.

Fabric, checked against the listing

A fabric ask is read at two grains. Fiber families, which file lyocell, modal and rayon together, suit an index filter but not an answer, so a fabric search keeps your words: it requires one in a listing's name or description, which surfaces a rare fiber a similarity search would bury, and judges each fetched listing verified, contradicted or unknown. A composition line decides when there is one: your fiber must lead the piece's own composition, or hold a real share and appear in the product name, so a trace in a blend or one panel's fabric does not count. Without a composition, a name that gives the piece another fabric contradicts the ask; only then do other words count, and only where they describe the piece rather than its lining, trim or sole. Viscose and rayon match as one fiber, but a specific fiber is never widened to its family: a merino ask is not answered with tweed just because both are wool.

What it remembers, and for how long

Memory has three lifetimes. Rules about you outlive the conversation they were set in, though not forever: they lapse after a stretch in which nothing you have told it changes. Until then only your words add or lift one: "a black dress, please" after "no black" lifts the rule, and the reply says so. Facts about an occasion, such as its budget, belong to one conversation. The record of what was shown is rebuilt every turn from your stored answers, with prices and stock fetched again. All three are stored with your account and read at the start of each turn, so your next message does not depend on which server answered the last.

Diagram of the stylist's three kinds of memory: rules about you that carry across conversations until you lift them or they lapse, facts that belong to one conversation, and the record of what it showed you, all read from your account at the start of every turn
Three lifetimes, one store: your account, read again on every turn.

That record is why questions about the screen get exact answers. A rules-based parser takes a question only when it refers to pieces already shown and is a kind it can answer exactly, such as a total or the dearest piece in one look; the answer is arithmetic on live prices, and anything else falls through to the general path with the same record as context. A filtered view is stored as a view of the answer it narrowed, so it never pushes that answer out, and an answer computed after you left is saved but not counted as shown.

A message about a look counts as an edit only when it reads as one. The edit recovers its occasion by walking back past earlier edit commands to the ask that set the scene, and the result passes the same look checks. Even the reply is checked: a sentence that describes a piece from another look the conversation showed, rather than this look or its edit, is cut.

Streaming, failures and reuse

Answers stream over server-sent events, the web standard for a series of events down one HTTP response. The stream opens when your message arrives and the turn moves to a worker; if every worker is busy, the request does the work itself rather than queue behind another shopper. Each stage sends a numbered progress event from a fixed template that states only what is true of this turn, so the weather is mentioned only when a reading was taken. Keep-alive comments hold the connection; the last event carries the looks.

Close the app mid-answer and the turn stops at its next stage, though anything you asked for, such as a save, still completes. A rule that throws or a memory read that fails costs one step, never the answer, and a hand-off carries an idempotency key, so a retry or a double tap sends one brief. Reopening Style This Piece on the same piece soon after answers at once from a copy kept for you alone, with every piece fetched again first.

One pipeline serves the app, the website and AI assistants. An assistant connected through Vêtir's MCP server reaches the stylist the website uses; the server reads its stream to the end and returns one answer, so an assistant's looks pass the same checks, and buying still ends on vetirapp.com. ChatGPT, Claude and Claude Code connect today, and Meta's Muse is newly supported, with setup on the MCP page. Vêtir in ChatGPT and Claude explains the connection, which runs on the Model Context Protocol, an open standard.

How to ask for better looks

  • Say where and when if it is not here and today: "Paris in March" changes the coat.
  • Give a total for the whole look ("under $2,000 for the whole look") and let the stylist share it across the pieces.
  • Use "only" when you mean it: with "only cashmere", it would rather show nothing than a near match.

How we chose these pieces

Our editors put these three looks together by the stylist's own rules, as illustrations, not answers the stylist gave; each has a base, shoes and a bag. The camel look keeps black and blue out, pairing a Gabriela Hearst double-face coat with a Khaite sweater, ivory trousers and burgundy leather. For the silk look we read every composition line, which is why the blouse is Bottega Veneta's all-silk twill and a satin clutch that turned out to be mostly viscose was left out. Every piece was full price, in stock, when we chose it. More: coats and blouses.

What's next

We are building season planning, in which the stylist will use your closet and calendar to plan looks for the weeks ahead and list the few pieces that would cover the gaps. Our roadmap has the rest of what is coming.

Frequently asked questions

Is Vêtir's AI personal stylist free?

Yes, with a Vêtir account, however often you use it; you pay only for what you buy. Sign in with Google, Apple or an email code.

How does an AI stylist put an outfit together?

Vêtir's reads your ask into rules, searches the shop (and your closet, when you ask for it) for every piece of every look at once, then checks each look for completeness, the house color pairs, your exclusions and any budget, and repairs what it can before you see it.

Can an AI stylist dress me for the weather?

Vêtir's reads today's weather where you are, or the climate of the place and month you name. A heavy coat leaves a warm-weather look unless you asked for a layer, and a winter ask puts an outer layer in every look.

Can I give the AI stylist a budget for the whole outfit?

Yes. Say "under $1,500 for the whole look" and the total is shared across the pieces before the search, so each look is built to fit and shows its total; if none can, the reply says so.

Does the AI stylist use clothes I already own?

Yes. Your pieces are styled in and marked Yours; ask "from my closet" and every look uses only what you own.

Can I talk to a real stylist instead?

Yes. Send your brief, saved looks and the look on screen to a Vêtir stylist, who picks up in chat. Vêtir also offers one-to-one personal styling.

Keep reading

Ready to try it? Ask the Vêtir AI stylist what you are dressing for next.

Written by Ashish Gupta, CTO of Vêtir.

Category: Inside Vêtir