Product-identifier-single Serverless API
V0.2 for Cost Estimation. [Private Workflow, for internal customer] The RoomFurnishCostEstimator API enables developers to analyze a furnished room from a single image and estimate the total cost of furnishing it from scratch. Leveraging advanced computer vision and deep learning models, the API identifies furniture items, decor elements, and interior design features to generate a detailed cost breakdown. This is ideal for interior designers, real estate platforms, home improvement services, and virtual staging tools seeking to offer instant furnishing insights and pricing to their users. Key Features: Object Detection & Classification: The API scans the uploaded image to detect and classify key furniture pieces such as sofas, beds, tables, chairs, shelves, and storage units. Interior Element Analysis: It recognizes fixed interior design elements like false ceilings, wall textures, floor types, window treatments, and lighting fixtures. Decor & Accessories Identification: The system also detects soft furnishings and decor items such as rugs, curtains, lamps, artwork, mirrors, and throw pillows. Cost Estimation Engine: Each identified item is mapped to a pricing database curated from real-world catalogues (adjustable by region or retailer if needed). The engine provides an itemized breakdown and a total estimated furnishing cost. Customization Options: Developers can specify parameters like price range (budget, mid-range, luxury), regional pricing, or preferred brands to tailor estimates to specific markets or user profiles. Response Format: The API returns a JSON object containing: Detected items with labels and cost. Estimated cost per item/category Total furnishing cost Optional suggestions for replacements or upgrades Use Cases: Real estate virtual staging cost projection Interior design budgeting Home improvement planning apps AR-based room planners This API offers a powerful solution for automating and scaling interior cost assessments from simple images.
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/6836aec935e13bebe620e38e-v1"
7
8data = {
9 "image_8gwakj": "https://segmind-inference-inputs.s3.amazonaws.com/2b7bc471-6765-45e3-ab2d-2611ffa42ec1-24ccbdd2-01d6-41e0-bbd0-c48dbc112160.png"
10}
11
12def poll_for_result(poll_url):
13 """Poll the API until the generation is complete"""
14 while True:
15 response = requests.get(
16 poll_url,
17 headers={'Authorization': f'Bearer {api_key}'}
18 )
19 result = response.json()
20
21 if result['status'] == 'COMPLETED':
22 # Parse the output (it's a JSON string)
23 outputs = json.loads(result['output'])
24 return outputs
25 elif result['status'] == 'FAILED':
26 raise Exception(result.get('error', 'Generation failed'))
27
28 # Wait 7 seconds before polling again
29 time.sleep(7)
30
31# Make the initial request
32response = requests.post(
33 url,
34 json=data,
35 headers={
36 'Authorization': f'Bearer {api_key}',
37 'Content-Type': 'application/json'
38 }
39)
40
41if response.status_code == 200:
42 result = response.json()
43 print('Request queued:', result)
44
45 # Start polling for results
46 outputs = poll_for_result(result['poll_url'])
47 print('Generation complete:', outputs)
48else:
49 print(f"Error: {response.status_code}")
50 print(response.text) 1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/6836aec935e13bebe620e38e-v1"
7
8data = {
9 "image_8gwakj": "https://segmind-inference-inputs.s3.amazonaws.com/2b7bc471-6765-45e3-ab2d-2611ffa42ec1-24ccbdd2-01d6-41e0-bbd0-c48dbc112160.png"
10}
11
12def poll_for_result(poll_url):
13 """Poll the API until the generation is complete"""
14 while True:
15 response = requests.get(
16 poll_url,
17 headers={'Authorization': f'Bearer {api_key}'}
18 )
19 result = response.json()
20
21 if result['status'] == 'COMPLETED':
22 # Parse the output (it's a JSON string)
23 outputs = json.loads(result['output'])
24 return outputs
25 elif result['status'] == 'FAILED':
26 raise Exception(result.get('error', 'Generation failed'))
27
28 # Wait 7 seconds before polling again
29 time.sleep(7)
30
31# Make the initial request
32response = requests.post(
33 url,
34 json=data,
35 headers={
36 'Authorization': f'Bearer {api_key}',
37 'Content-Type': 'application/json'
38 }
39)
40
41if response.status_code == 200:
42 result = response.json()
43 print('Request queued:', result)
44
45 # Start polling for results
46 outputs = poll_for_result(result['poll_url'])
47 print('Generation complete:', outputs)
48else:
49 print(f"Error: {response.status_code}")
50 print(response.text)API Endpoint
https://api.segmind.com/workflows/6836aec935e13bebe620e38e-v1Parameters
image_8gwakjoptionalstring (uri)Image 8gwakj
"https://segmind-inference-inputs.s3.amazonaws.com/2b7bc471-6765-45e3-ab2d-2611ffa42ec1-24ccbdd2-01d6-41e0-bbd0-c48dbc112160.png"Response Format
Returns: Polling-based asynchronous response
Initial request returns a poll_url. Poll every 7 seconds until status is COMPLETED.
Common Error Codes
The API returns standard HTTP status codes. Detailed error messages are provided in the response body.
Bad Request
Invalid parameters or request format
Unauthorized
Missing or invalid API key
Forbidden
Insufficient permissions
Not Found
Workflow not found
Insufficient Credits
Not enough credits to process request
Rate Limited
Too many requests
Server Error
Internal server error
Bad Gateway
Service temporarily unavailable
Timeout
Request timed out