All demosCatalog Studio
Catalog Studio
Turn inconsistent product descriptions into categorized records, with source-backed attributes and a queue for missing details.
Powered by/classify/extract
Performance & cost
This page session · since page load
- Typical delivery time
- —
- Live input tokens
- 0
- Estimated inference cost · USD
- $0.00
How these numbers work · 0 successful requests
- Live model compute
- —
- Successful requests
- 0
Average per measured successful live request.
Run an example for free to see its measurements.
Delivery time is the median browser time for successful requests, including queue, network, and retries. Cached delivery speed is not inference speed. Model compute can exceed browser time when one request processes many inputs.
Tokens come from response headers. Inference costs use $0.04 per million input tokens, before plan credits. The estimate includes live and recorded tokens at the same rate; cached examples are not charged again. Missing usage is unavailable or a partial total (≥). Demo resets keep these totals; reload to start a new session.
Structure the stock catalog free, inspect its source evidence, then use your key for your own listings.
Build with the SDKTypeScript · Python · dm1
Use these API building blocks in your own app. Each sample is one request from this demo’s supplied inputs. Your code owns the surrounding workflow, validation and actions.
Copied samples call the live API with MS_API_KEY and use your quota. Keep the key on your server. The free demo cache is only for this site.
npm install @cloudraker/milliseconds
export MS_API_KEY="your-api-key"import { DecisionMachine } from "@cloudraker/milliseconds";
// Run on your server; reads MS_API_KEY from the environment.
const dm = new DecisionMachine();
const { result, usage } = await dm.classify(
[
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
{
"apparel": "Clothing, shirts, tops and wearable garments",
"furniture": "Home furniture, tables, chairs, shelves",
"audio": "Audio electronics, headphones, speakers, microphones",
"other": "Unrelated text, services, or products outside clothing, furniture and audio electronics"
}
).withUsage();
console.log(result);
console.log({ inputTokens: usage.inputTokens, modelMs: usage.inferenceMs });import { DecisionMachine } from "@cloudraker/milliseconds";
// Run on your server; reads MS_API_KEY from the environment.
const dm = new DecisionMachine();
const { result, usage } = await dm.extract(
[
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "explicit product brand name, not the seller or model"
},
"material": {
"type": "string",
"description": "explicit physical material the product is made of"
},
"size": {
"type": "string",
"description": "explicit clothing size"
},
"dimensions": {
"type": "string",
"description": "explicit physical product dimensions including units"
},
"color": {
"type": "string",
"description": "explicit product color"
},
"connectivity": {
"type": "string",
"description": "explicit audio connection type such as Bluetooth, USB or wired"
}
}
}
).withUsage();
console.log(result);
console.log({ inputTokens: usage.inputTokens, modelMs: usage.inferenceMs });pip install cloudraker-milliseconds
export MS_API_KEY="your-api-key"from milliseconds import DecisionMachine
# Reads MS_API_KEY from the environment.
dm = DecisionMachine()
result = dm.classify(
[
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
{
"apparel": "Clothing, shirts, tops and wearable garments",
"furniture": "Home furniture, tables, chairs, shelves",
"audio": "Audio electronics, headphones, speakers, microphones",
"other": "Unrelated text, services, or products outside clothing, furniture and audio electronics"
}
)
print(result)from milliseconds import DecisionMachine
# Reads MS_API_KEY from the environment.
dm = DecisionMachine()
result = dm.extract(
[
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "explicit product brand name, not the seller or model"
},
"material": {
"type": "string",
"description": "explicit physical material the product is made of"
},
"size": {
"type": "string",
"description": "explicit clothing size"
},
"dimensions": {
"type": "string",
"description": "explicit physical product dimensions including units"
},
"color": {
"type": "string",
"description": "explicit product color"
},
"connectivity": {
"type": "string",
"description": "explicit audio connection type such as Bluetooth, USB or wired"
}
}
}
)
print(result)npm install -g @cloudraker/milliseconds
export MS_API_KEY="your-api-key"# Reads MS_API_KEY. JSON on stdin supplies the complete request.
dm1 classify --json --usage <<'DM1_REQUEST'
{
"texts": [
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
"labels": {
"apparel": "Clothing, shirts, tops and wearable garments",
"furniture": "Home furniture, tables, chairs, shelves",
"audio": "Audio electronics, headphones, speakers, microphones",
"other": "Unrelated text, services, or products outside clothing, furniture and audio electronics"
}
}
DM1_REQUEST# Reads MS_API_KEY. JSON on stdin supplies the complete request.
dm1 extract --json --usage <<'DM1_REQUEST'
{
"texts": [
"Northline cotton T-shirt. Color: forest green. Size: medium.",
"Oak & Field side table. Material: solid oak. Dimensions: 45 x 40 x 55 cm.",
"Soundmere wireless headphones. Brand: Soundmere. Connectivity: Bluetooth 5.3. Color: black.",
"Soft everyday shirt in blue."
],
"schema": {
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "explicit product brand name, not the seller or model"
},
"material": {
"type": "string",
"description": "explicit physical material the product is made of"
},
"size": {
"type": "string",
"description": "explicit clothing size"
},
"dimensions": {
"type": "string",
"description": "explicit physical product dimensions including units"
},
"color": {
"type": "string",
"description": "explicit product color"
},
"connectivity": {
"type": "string",
"description": "explicit audio connection type such as Bluetooth, USB or wired"
}
}
}
}
DM1_REQUESTFrom descriptions to a searchable catalog
Classify assigns a category. Extract reads stated attributes. Code checks category requirements and matches returned wording to the original description. Nothing is published.
Demo scope
Text-only listings in clothing, furniture and audio. A source match locates wording; it does not prove the model assigned it to the right attribute. Drafts need human review. Missing or ambiguous facts remain in the review queue. Unit conversion supports unambiguous dimensions in mm or inches, preserving the original.
See how structured records support the shopper experience in Product Search.