Home › Vastu API › Plan import results
Vastu plan import on 20 real floor plans
We sent 20 real floor plans to the Vastu plan importer on 28 October 2026. All 20 are open-licence or public-domain drawings from Wikimedia Commons. We ran the set twice on the same API build. Run A passed 4 of 20. Run B passed 5 of 20. Every result is below, failures included.
Headline numbers
| Measure | Run A | Run B |
|---|---|---|
| Plans sent | 20 | 20 |
| Passed | 4 of 20 | 5 of 20 |
| Pass rate | 20% | 25% |
| Imported (HTTP 200) | 6 | 8 |
| Refused, not charged (HTTP 422) | 14 | 12 |
| Room recall, all 20 plans (a refusal counts as zero) | 20.4% | 22.7% |
| Room precision, imported plans | 94.9% | 93.2% |
| Requests | 20 | 20 |
| Spend | USD 0.12 | USD 0.13 |
| Charge per imported plan | USD 0.01 to 0.05 | USD 0.01 to 0.03 |
| Charged requests | 6 | 8 |
| Started (UTC, 28 Oct 2026) | 11:21 | 11:56 |
| Finished (UTC, 28 Oct 2026) | 11:23 | 11:58 |
Both runs call POST /v2/vastu/plan/import-image or /import-pdf on api.vedika.io, one request per plan, with no retries. Both ran on API build 2b72c4e1.
What the numbers say
- The pass rate on this set is 20% in run A and 25% in run B.
- When the importer returns rooms, the rooms are mostly real. Room precision on imported plans is 94.9% in run A and 93.2% in run B.
- The importer often returns nothing. It refused 14 of 20 plans in run A and 12 of 20 in run B.
- A refusal costs nothing. Every refusal was HTTP 422 with
billing.chargedof 0. - An import that returns rooms is charged, whether or not it passes our scoring. 6 requests were charged in run A and 8 in run B.
- No PDF passed in either run. The set holds 3 PDFs.
Two runs, one build, different answers
The two runs disagree on whether 3 plans pass. R01 passes in run A and is refused in run B. R02 and R13 are refused in run A and pass in run B. 3 plans pass in both runs: R14, R17 and R20. 6 different plans pass at least once. The other 14 plans fail in both runs, though not always for the same reason.
So a single run is a sample, not a fixed pass rate. We publish both runs.
What counts as a pass
The rule was fixed in code before any run. A plan passes when all of these hold:
- The import succeeds and returns rooms.
- At least 70% of the rooms we read from the drawing are found (recall).
- At least 50% of the rooms returned are real (precision).
- North is within 15 degrees when the drawing prints north, and is reported as absent when it does not.
- Scale is correct: found when the drawing prints it, absent or flagged for review when it does not.
The room list for each plan was read from the drawing itself and is kept apart from the importer's output. Closets and legend entries are not counted.
Result for every plan
Rooms is the number of rooms read from the drawing. Scroll the table sideways on a small screen.
| Plan | Kind | Rooms | Run A | Run B |
|---|---|---|---|---|
| R01 | Image | 10 | Pass | Refused: rooms overlap |
| R02 | Image | 7 | Refused: no plan found | Pass |
| R03 | PDF (vector) | 10 | Refused: room outside plot | Refused: room outside plot |
| R04 | PDF (vector) | 10 | Refused: no plan found | Refused: room outside plot |
| R05 | Image | 7 | Refused: rooms overlap | Refused: rooms overlap |
| R06 | Image | 9 | Refused: rooms overlap | Refused: rooms overlap |
| R07 | Image | 13 | Refused: room outside plot | Refused: room outside plot |
| R08 | Image | 8 | Imported, failed: scale | Imported, failed: scale |
| R09 | PDF (scan) | 4 | Refused: no plan found | Imported, failed: north |
| R10 | Image | 9 | Refused: room outside plot | Refused: room outside plot |
| R11 | Image | 11 | Refused: room outside plot | Refused: room outside plot |
| R12 | Image | 12 | Imported, failed: recall, precision, north, scale | Imported, failed: recall, precision, north, scale |
| R13 | Image | 4 | Refused: room outside plot | Pass |
| R14 | Image | 8 | Pass | Pass |
| R15 | Image | 5 | Refused: rooms overlap | Refused: rooms overlap |
| R16 | Image | 9 | Refused: rooms overlap | Refused: rooms overlap |
| R17 | Image | 6 | Pass | Pass |
| R18 | Image | 23 | Refused: room outside plot | Refused: room outside plot |
| R19 | Image | 9 | Refused: room outside plot | Refused: room outside plot |
| R20 | Image | 7 | Pass | Pass |
Failures grouped by message
Each cell shows how many plans failed that way, then which ones.
| Outcome | Run A | Run B |
|---|---|---|
| Refused: no floor plan could be read from the drawing | 3: R02, R04, R09 | 0 |
| Refused: a room lies outside the plot | 7: R03, R07, R10, R11, R13, R18, R19 | 7: R03, R04, R07, R10, R11, R18, R19 |
| Refused: two extracted rooms overlap | 4: R05, R06, R15, R16 | 5: R01, R05, R06, R15, R16 |
| Imported, failed on scale | 1: R08 | 1: R08 |
| Imported, failed on north | 0 | 1: R09 |
| Imported, failed on recall, precision, north, scale | 1: R12 | 1: R12 |
What happens on a refusal
The API answers HTTP 422 with the code PLAN_EXTRACTION_UNAVAILABLE and a message that says what to fix. billing.charged is 0. The message names the problem, for example that a room lies outside the plot or that two rooms overlap, and asks you to correct the drawing and retry.
Treat a 422 as a normal result. Ask the user for one upright floor plan, cropped to the plan, and send it again.
DWG files are not read. The DXF route answers HTTP 415 and asks for a DXF export. Its zero charge is checked in source tests, not in the live runs above.
Generated plans, for comparison
Primary: 125 of 136 labels (91.9%), mean IoU 0.990. Regional: 129 of 136 labels (94.9%), mean IoU 0.900. Each run meets its label and IoU cutoffs on 14 of 20 plans.
Labels is exact room labels found out of the rooms in the plan. IoU is the mean overlap between each found room and the true room. The source labels the two columns Primary and Regional.
| Generated plan | Primary labels | Primary IoU | Regional labels | Regional IoU | Misses |
|---|---|---|---|---|---|
| 01-2bhk-en-m-rot0 | 6/6 | 0.996647 | 6/6 | 0.996647 | none |
| 02-2bhk-hi-ft-rot90 | 6/6 | 0.996694 | 6/6 | 0.676676 | regional |
| 03-2bhk-en-m-rot30 | 6/6 | 0.995336 | 6/6 | 0.951751 | none |
| 04-2bhk-hi-ft-rot-90 | 6/6 | 0.996694 | 6/6 | 0.996647 | none |
| 05-3bhk-en-m-rot0 | 8/8 | 0.991889 | 8/8 | 0.991842 | none |
| 06-3bhk-hi-ft-rot90 | 8/8 | 0.991875 | 8/8 | 0.991857 | none |
| 07-3bhk-en-m-rot30 | 8/8 | 0.990303 | 8/8 | 0.990303 | none |
| 08-3bhk-hi-ft-rot-90 | 7/8 | 0.963319 | 8/8 | 0.991857 | primary |
| 09-villa-en-m-rot0 | 10/10 | 0.988344 | 10/10 | 0.988344 | none |
| 10-villa-hi-ft-rot90 | 6/10 | 0.988344 | 8/10 | 0.509273 | primary, regional |
| 11-villa-en-m-rot30 | 10/10 | 0.987348 | 10/10 | 0.987348 | none |
| 12-villa-hi-ft-rot-90 | 8/10 | 0.988429 | 8/10 | 0.988430 | primary, regional |
| 13-shop-en-m-rot0 | 4/4 | 0.998091 | 4/4 | 0.997994 | none |
| 14-shop-hi-ft-rot90 | 3/4 | 0.998123 | 3/4 | 0.282510 | primary, regional |
| 15-shop-en-m-rot30 | 4/4 | 0.996881 | 4/4 | 0.996881 | none |
| 16-shop-hi-ft-rot-90 | 2/4 | 0.998123 | 2/4 | 0.997962 | primary, regional |
| 17-office-en-m-rot0 | 6/6 | 0.996685 | 6/6 | 0.996685 | none |
| 18-office-hi-ft-rot90 | 6/6 | 0.996732 | 6/6 | 0.612277 | regional |
| 19-office-en-m-rot30 | 6/6 | 0.996411 | 6/6 | 0.942170 | none |
| 20-office-hi-ft-rot-90 | 5/6 | 0.968720 | 6/6 | 0.968720 | primary |
Where the plans come from
We do not republish the plans. Each one is on Wikimedia Commons under an open licence, retrieved on 20 October 2026 and checked against a stored sha256 when it was fetched. Follow the link to see the drawing, its author and its licence terms.
| Plan | Title | Author | Licence | Source |
|---|---|---|---|---|
| R01 | 2 bhk Bungalow floor plan.jpg | Jithurad4539 | CC BY-SA 4.0 | Commons file page |
| R02 | 30BY35 home plan by ER. AYUSH TOMAR.jpg | Erayushtomar | CC0 | Commons file page |
| R03 | 747 villa Floor plan.pdf | MichaelScott99 | CC BY-SA 3.0 | Commons file page |
| R04 | BALLARAT Waller Estate Floor plan.pdf | MichaelScott99 | CC BY-SA 3.0 | Commons file page |
| R05 | Beverley Hills-Apartment 21-63.jpg | Josh.Michael.Wilson | CC BY-SA 3.0 | Commons file page |
| R06 | Beverley Hills-Apartment 8-61.jpg | Josh.Michael.Wilson | CC BY-SA 3.0 | Commons file page |
| R07 | Boyd House II img plans.jpg | Rebecca D.G | CC BY-SA 3.0 | Commons file page |
| R08 | Hills-DeCaro House First Floor Plan Post-Fire.jpg | Fox69 Credit: Created by Fox69 using plans drawn by Jack Lesniak as a guide. Source plan originally appeared in the Wright Plus 1999 Research Report by Jack Lesniak. | CC BY-SA 3.0 | Commons file page |
| R09 | House plans.pdf | Unknown author Credit: Charleston County Deeds Office, McCrady plat 141 | Public domain (stated on the file page) | Commons file page |
| R10 | How to Build $700 Summer Cottage (1904).jpg | W. J. Keith Credit: http://chroniclingamerica.loc.gov/lccn/sn88085187/1904-04-07/ed-1/seq-3/ (The Tacoma Times) | Public domain (stated on the file page) | Commons file page |
| R11 | J W Keith house (summer cottage - floor plans).jpg | JW Keith Company, of Minneapolis, Minnesota Credit: https://chroniclingamerica.loc.gov/lccn/sn88085187/1904-04-14/ed-1/seq-4/ | Public domain (stated on the file page) | Commons file page |
| R12 | Plan 1 Villa Delin.jpg | Buster Delin | CC BY-SA 4.0 | Commons file page |
| R13 | Plan Layout (PSF)-es.png | Pearson Scott Foresman Credit: Commons File:Plan Layout (PSF).png | CC BY 4.0 | Commons file page |
| R14 | Plan maison maroc.png | nassit Credit: sweet home 3d | CC BY-SA 4.0 | Commons file page |
| R15 | Plan UK100.jpg | Parcdesoye | CC BY-SA 3.0 | Commons file page |
| R16 | The Grove Floorplan 3 Bedroom Garen Unit 182 Sqm lower.jpg | Rockwell Land | CC BY-SA 4.0 | Commons file page |
| R17 | Typical Dogtrot Floorplan.png | User:Altairisfar | CC BY-SA 3.0 | Commons file page |
| R18 | George Kinnear plan.png | Kirby and Randall Credit: The Architectural Era. Volume 2. No. 2. Dwelling for George Kinnear, Seattle, WT | Public domain (stated on the file page) | Commons file page |
| R19 | StateLibQld 2 228954 Drawing and floor plan of house design no.172 from the Queensland Housing Commission, 1950.jpg | Queensland. Housing Commission Credit: Copied and digitised from an image appearing in Home designs, Queensland. Housing Commission. Brisbane : Govt. Print., 1950. | Public domain (stated on the file page) | Commons file page |
| R20 | StateLibQld 2 228966 Home Building Publishing Company home, Design No. 3, 1939.jpg | Home Building Publishing Company, Brisbane, 1939 (digitised by the State Library of Queensland); no named artist on Commons Credit: Copied and digitised from an image appearing in 99 everyday homes for Queenslanders. Brisbane : Home Building Publishing Company, 1939, p. 13. | Public domain (stated on the file page) | Commons file page |
Date and build
Run A started at 11:21 UTC and run B at 11:56 UTC on 28 October 2026. Both used API build 2b72c4e1 on api.vedika.io. Each run sent 20 requests and spent USD 0.12 and USD 0.13.
To try the importer on your own plans, see the Vastu API, the Vastu API guide and the Vastu validation pack.