Overview
The Vision API exposes atomic, low-level computer vision tasks for construction drawing analysis. Each task does one thing: detect symbols on a sheet, generate a visual overlay between two revisions, analyze changes on an overlay. Every task populates a specific entity or relationship in the Drawing Index. The Vision API gives you granular control to trigger any task on demand. All vision operations are asynchronous. Submit a job, then poll, stream, or receive results via webhooks. Search and Ask are synchronous and return results immediately.Endpoints
| Endpoint | Question | Description |
|---|---|---|
POST /parse | What’s here? | Detect symbols on a sheet using legend-driven matching |
POST /projects/:id/search | Where does this appear? | Hybrid semantic + visual search across a project |
POST /projects/:id/ask | What does this project say? | Natural language Q&A with source citations |
Overlay & Change Analysis
These operations handle drawing comparison as composable building blocks rather than a single monolithic endpoint:| Job Type | Description |
|---|---|
| Drawing overlay | Match and compare blocks across two drawing revisions |
| Sheet overlay | Generate a visual overlay between two sheets |
| Block overlay | Generate a visual overlay between two blocks |
| Analyze changes | Verify and classify change regions on an overlay |
| Summarize changes | Generate a structured report from analyzed changes |
Vision API vs Agent Layer
The Vision API provides building blocks. It returns structured data: bounding boxes, coordinates, confidence scores. High-level workflows that require reasoning, interpretation, or domain judgment live in the agent layer (your code, the MCP server, or a Bedrock plugin).| Vision API (atomic) | Agent/Plugin Layer (workflow) |
|---|---|
| Detect symbols on a block | Count all receptacles on a floor and group by room |
| Generate overlay between two blocks | Compare revisions and describe what changed |
| Analyze change regions | Classify severity, draft RFIs, generate change narratives |
| Parse a schedule table | Cross-reference door tags against schedule for compliance |
| Detect grid lines | Coordinate across disciplines at a grid intersection |