A real session ============== $ node --version v24.19.0 $ ./inspired.mjs domains fashion (default) Clothing & accessories — Garments, shoes, bags, and jewellery worn by a person. aliases: clothing, clothes, style, outfit, apparel An outfit photo returns each layer as its own shoppable piece. furniture Furniture & interiors — Sofas, chairs, tables, lighting, rugs, shelving, and decor. A living room photo returns the sofa, the lamp, and the rug. devices Devices & electronics — Phones, laptops, audio, cameras, peripherals, and appliances. A desk photo returns the laptop, the keyboard, and the monitor. beauty Beauty & personal care — Skincare, makeup, fragrance, haircare, and tools. A shelfie returns each bottle and jar as its own shoppable product. everything Anything — No category filter. Every distinctly purchasable object in the frame. Use with `focus` to aim the same pipeline at a category we have not named. (Free, and no key needed — this is the live catalogue, verbatim.) Refusals, before anything is charged ------------------------------------ $ ./inspired.mjs shop notes.txt notes.txt: send a .jpg, .png, .webp or .gif file (or a Pinterest pin URL). $ echo $? 1 $ ./inspired.mjs shop https://example.com/photo.jpg Inspired takes image bytes or a public Pinterest pin URL, not an arbitrary image URL. Download the image first. $ echo $? 1 $ ./inspired.mjs shop huge.jpg huge.jpg is 14.2 MB. The limit is 10 MB — resize it first. $ echo $? 1 $ unset INSPIRED_KEY; ./inspired.mjs shop outfit.jpg No API key. Set INSPIRED_KEY or pass --key. Get one with: inspired key new you@example.com $ echo $? 1 $ ./inspired.mjs shop outfit.jpg --nope Unknown option --nope. Try 'inspired help'. $ echo $? 1 A whole read ------------ $ ./inspired.mjs key new me@example.com Mailed a key to me@example.com. prefix isk_7f3a requests 10 The key itself is only in that email — it is stored here as a hash and nowhere else. $ export INSPIRED_KEY=isk_7f3a… # pasted from the email $ ./inspired.mjs shop living-room.jpg --domain furniture --out ./cutouts started 3f0c8a5e-1d4b-4a9e-9a1c-2b8f5d7e6c40 · 9 request(s) left waiting — a full read takes a few minutes Reading the room Cutting out the floor lamp Searching for the floor lamp · 1 of 3 Cutting out the sofa Searching for the sofa · 2 of 3 Cutting out the rug Building the mood board wrote 5 files to ./cutouts Found 3 clearly visible furniture items. 3 object(s) · domain furniture floor lamp Slim brass floor lamp with a white cone shade and a round weighted base €149 Brass arc floor lamp https://shop.example/brass-arc-lamp €189 Tall brass reading lamp https://shop.example/reading-lamp sofa Three-seat sofa in sage green boucle, straight arms, tapered wooden legs €899 Boucle three-seater, sage https://shop.example/boucle-three-seater rug Flatweave rug in oatmeal with a narrow charcoal border (nothing visually similar found) Objects are spotted, not identified; results are visually similar, not the same product. $ ls ./cutouts mood-board.webp piece-1-floor-lamp.webp piece-2-sofa.webp piece-3-rug.webp result.json Starting and collecting separately ---------------------------------- $ ID=$(./inspired.mjs start desk.jpg --domain devices --quiet) $ echo "$ID" 9b2e41c7-5a08-4c3d-8f61-7d4e2a9b0c31 $ ./inspired.mjs get "$ID" running: Cutting out the headphones laptop — searching headphones — extracting keyboard — queued (get looks once and exits. Polling is free, so look as often as you like.) $ ./inspired.mjs get "$ID" --out ./desk wrote 5 files to ./desk Found 3 clearly visible device items. … When the allowance runs out --------------------------- $ ./inspired.mjs shop another.jpg This key's 10 included requests are used up. (quota_exhausted) $ echo $? 1 Minting a new key for the same address will not help: it revokes the old one and carries the remaining allowance over. That is the point. Note on this transcript ----------------------- The `domains` output and every refusal above are verbatim from running this client against the live platform. The finished read is shown with placeholder retailers and ids — the field names, ordering, progress lines and file layout are exactly what a real read produces.