API Reference
Three endpoints, REST + JSON, API-key auth. Public beta — schemas may evolve before v1.0 GA.
Authentication
Every request requires an API key in the Authorization header.
Authorization: Bearer sk_live_…
Request a key at dev@steezn.xyz.
Base URL
https://api.steezn.xyz/v1
Endpoints
POST/v1/detect
Detect clothing items in a photo. Returns a structured array with category, brand, colors, and bounding box per item.
Request
POST /v1/detect
Content-Type: multipart/form-data
Authorization: Bearer $STZN_API_KEY
image=@look.jpg
Response
{
"request_id": "req_…",
"items": [
{
"category": "tops",
"subcategory": "t-shirt",
"brand": "Uniqlo",
"colors": ["white"],
"season": ["spring", "summer"],
"style_tags": ["minimal", "casual"],
"bbox": [120, 80, 380, 520],
"confidence": 0.94
}
],
"model": "stzn-detect-1"
}
POST/v1/outfits
Generate ranked outfit combinations from inventory + context.
Request
POST /v1/outfits
Content-Type: application/json
{
"items": [
{ "id": "i1", "category": "tops", "color": "white" },
{ "id": "i2", "category": "bottoms", "color": "indigo" },
{ "id": "i3", "category": "footwear", "color": "white" }
],
"context": { "weather": "15°C", "activity": "brunch", "formality": "casual" },
"limit": 3
}
Response
{
"request_id": "req_…",
"outfits": [
{
"items": ["i1", "i2", "i3"],
"rationale": "White tee with indigo denim and white sneakers — a clean, weather-appropriate brunch fit.",
"score": 8.4
}
]
}
POST/v1/score
Score a single outfit on multiple style dimensions, including the proprietary steezeScore.
Request
POST /v1/score
Content-Type: multipart/form-data
image=@outfit.jpg
Response
{
"request_id": "req_…",
"scores": {
"coherence": 0.82,
"seasonality": 0.91,
"formality": 0.45,
"boldness": 0.30,
"occasion_fit": { "brunch": 0.88, "office": 0.21 },
"steeze_score": 7.6
},
"explanation": "Clean palette and balanced proportions. Light on accessory variation — try a single statement piece."
}
Errors
| HTTP | Code | Meaning |
|---|---|---|
| 401 | missing_api_key | No Authorization header. |
| 401 | invalid_api_key | Key is wrong or revoked. |
| 413 | image_too_large | Max 8 MB, 4096×4096 px. |
| 429 | rate_limited | You've hit your tier's RPS or monthly cap. |
| 422 | safety_blocked | Content blocked by safety classifier. |
| 500 | upstream_error | Model unavailable. Retry with backoff. |
Rate limits
Default: 60 RPM, 5 RPS. Higher limits on the Build tier. Respect Retry-After on 429s.
Status
Live status at api.steezn.xyz/v1/health.