When you don't have a clean photo, is it better to describe the item in words instead? A head to head look at when each approach wins, and when combining them beats either one alone.

Koral searches from a photo, from a written description, or from both in the same search, and the honest answer is that the photo wins whenever you have one. Words are good at naming things: fabric, colour, a brand, a price you will not go over. A photo carries everything that has no convenient name, and that turns out to be most of what makes a garment the specific garment you want.
Scroll back to the photo at the top of this page and write down what you would type into a search box. Almost everyone writes some version of the same thing: cream satin top and black wide-leg trousers. Six words, and every one of them is true.
Now look at what those six words do not say. The sleeves are short, wide and cut so they fall in a curve past the elbow rather than hanging straight. The top is cropped at the ribs and gathered into a broad waistband that wraps rather than buttons. The neckline runs to a deep V. The trousers are pleated at the front, sit high on the waist, hold a pressed crease all the way down and break just above the floor. None of that is exotic. It is all completely visible in a second of looking, and almost none of it survives the trip into a sentence.
cream satin top and black wide-leg trousers
Every chip is a garment that sentence honestly describes. The photo rules out all but one of them, and you never had to name a single attribute to do it.
This is the whole argument in miniature. Describing a garment is a translation job, and you are doing it from a language with thousands of visual distinctions into one with maybe forty words a normal person actually uses. The loss is not at the edges. It is the middle of the thing.
A photo is not a better description. It skips description entirely. Koral reads the image against a garment taxonomy built for clothes, so what comes out is not "jacket, trousers, shoes" but a specific read of each piece: construction, pattern, fit and era, held as attributes the search has to match rather than nice-to-haves it can drop.
The jacket beside this paragraph is the case in point. Whatever you type for it is going to be some version of "black jacket with gold bits", because the actual word is frogging and nobody uses it. The photo does not need the word. It also does not need you to notice the double waistband on the jeans, or that the leg is cut wide at the thigh and pulled back in at the ankle, which is a different trouser from wide-leg and a very different one from baggy.
Shoes get their own treatment for the same reason. Footwear occupies a tiny fraction of a full-body shot, so it gets a separate zoomed pass whose only job is to name the closest well-known model, which is how you end up searching "women's yellow nike air force 1 low" instead of settling for "yellow trainers".

You can photograph a texture. You cannot spell one.
Print is where written search falls apart fastest. The skirt here is animal print, technically, which is where most typed queries stop. What the words miss is the scale of the spots, the fact that they are irregular and broken rather than the neat rosettes on a classic leopard, that the ground is bone rather than tan, and that the whole thing is finely pleated so the print bends with every fold.
Texture behaves the same way. Ribbed, waffle, boucle, slub, brushed, cable: six words for a space that holds hundreds of distinguishable knits, and choosing the wrong one is worse than choosing none. Drape is worse still, because there is barely any vocabulary for it. A satin that pours and a polyester that holds a stiff shape are both "silky black top" in a search box, and you can tell them apart in a photograph instantly.

Straight, skinny, bootcut, wide-leg, baggy, tapered. Those six words carry the whole difference between one pair of jeans and another, and they all compress into the same typed query. Add rise, wash, hem and how much the leg puddles at the shoe and you have a category where colour is close to the least informative thing you could say.
Koral is built around that. Bottoms are treated as almost never plain enough for a text-only search: jeans, trousers, shorts and skirts stay on the image unless the cut is unmistakably regular and that has been captured explicitly, because fit and cut define the look far more than colour does and a text query reproduces that poorly.
The jeans beside this paragraph are a fair test. Try the sentence: black baggy jeans. Now try to get the faded sand-coloured wear down the front of the thigh, the puddled hem, and the sheer volume of the leg into that same sentence without writing a paragraph. The photo does it in one pass.

A typed query is not passed through untouched. It gets read into a plan first, and the plan throws things away on purpose. The occasion goes: wedding, party, date night, festival, work. They describe your evening rather than the garment, and they pull in every product a retailer has ever tagged for an occasion. The department is made explicit rather than left neutral, which sounds trivial and is one of the largest sources of junk in clothing search.
What survives is the part of your sentence that describes an object: garment type, material, colour, cut. Brand names survive too, carried through verbatim rather than being softened into generic keywords, so writing one is worth more than any adjective you could put next to it. A price you mention becomes a ceiling rather than a keyword. This is why a specific description is genuinely useful and an evocative one is not.
creamsatintopforawedding
The occasion goes, the department is made explicit, and what is left is the garment itself. Everything the photo would have added, the sleeve, the crop, the waistband, is simply absent, because you never wrote it.
None of the above makes text a consolation prize. There are four jobs a sentence does that no image can, and they are worth knowing precisely, because they are the moments to stop uploading and start typing.
The first is naming a material. A photo shows you how a fabric behaves, but linen and a washed viscose can look identical in one frame, and if you touched the thing you know something the camera never recorded. The second is correcting colour, and a warm bulb, a screen recording or somebody's filter will shift a burgundy to brown with total confidence. Typing the colour overrides that.
Every photo is a claim about the light as much as about the garment.
The third is spending a name you already have. A brand, a collection, a model: if you can write it, you have handed the search the answer rather than asking it to work backwards from pixels. The fourth is setting limits, and it is the one people forget. No photograph contains the sentence "under sixty" or "not from that retailer". Those are constraints, not visual attributes, and they only ever arrive as words.
You are not writing a product description. One line of text that covers the single thing the photo cannot show, the fabric, the real colour, or the budget, does more than three sentences restating what is already visible in the image.
Split by what you are actually trying to pin down, rather than by which input feels more modern, the division of labour is fairly clean.
| What you need pinned down | Photo alone | Words alone | Photo plus a line of text |
|---|---|---|---|
| Cut, drape and proportion | Carried exactly, without being named | Lost first, and quietly | Carried by the photo |
| A specific print or texture | Carried exactly | Approximated at best | Carried by the photo |
| Fabric you can only guess at by sight | Inferred from how it hangs | Named outright | Named, and checked against the drape |
| Colour under bad light | Only as accurate as the light was | Reliable, you saw it in person | Words override the photo |
| A budget you will not go over | Not carried at all | Becomes a price ceiling | A ceiling on top of the visual match |
| A brand or model name you already know | Only if a logo is visible | Carried verbatim into the search | Carried verbatim, and matched on sight |
| An item you never photographed | Nothing to search | The only option you have | Words only |
Sending a photo with a line of text is not a compromise between two weaker searches. The two inputs do different jobs in the same run, and the text is used where it can carry something the image genuinely cannot.
Koral detects the separate items in one image, crops each one out and searches that crop on its own, so a full outfit comes back head to toe rather than as a single best guess at whatever dominates the frame.
Text sent alongside a photo is distilled into a short refinement for the item it actually applies to. A material, a brand, a colour correction: it sharpens that one crop. Nothing is invented from the image, so a refinement only exists if you wrote it.
No picture contains the sentence "nothing over sixty". A price mentioned in your text is read as a limit on the results rather than folded into the visual match, which is the one constraint a photo can never supply on its own.
Say "cheaper" with no number and the next search runs under a lower price ceiling. Name a retailer you do not want and it drops out. Attributes you locked earlier stay locked, so a later vague follow-up does not quietly undo the colour you set three messages ago.
That last step is the one that changes how the whole thing feels. A description is not only an input at the start, it is also how you correct a search that came back close. "More fitted through the waist" or "lighter wash" locks an attribute exactly the way a cleaner photo would have, and it carries forward through the rest of the conversation, so a blurry photo plus two follow-up messages will usually beat a better photo searched once and abandoned.
This page argues for the photo, so it is worth being specific about the cases where a written description is simply the better input, and about the case where neither one saves you.
Photo or words, a search is only as good as the results it is willing to keep. Verified retailers are pulled first. Resale listings from Depop, Vinted and eBay appear when they are a genuine share of what is actually out there, which is often the honest answer for something discontinued. Marketplaces built around cheap replicas, Temu, AliExpress, DHgate and Wish, are blocked rather than ranked low. Whichever region you are searching from, currency and retailer domains match it.
None of this is a claim to match images better than anyone else. The raw matching is not where a fashion-specific tool wins. It wins by asking a better question of whichever input you hand it, and by throwing out the answers that do not hold up.
Ask a better question, then throw away the wrong answers.
If you have the photo, start there and add a line of text only for what the photo cannot show, like the fabric or a budget. If you have no photo, describe the garment rather than the occasion and let the search do the rest.
Start a search