API Reference
VisoWork provides two interfaces for programmatic access: a REST API and an MCP endpoint. Both are authenticated via API keys.
Base URLs
| Interface | URL |
|---|---|
| REST API | https://api.visowork.com/v1 |
| MCP Endpoint | https://api.visowork.com/mcp |
Authentication
All requests require an API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYAPI keys are scoped to projects. Generate them from your profile API keys page.
Rate Limits
| Endpoint Category | Rate Limit |
|---|---|
| Vision APIs | 60 requests/min |
| Video APIs | 60 requests/min |
| Vectors APIs | 120 requests/min |
| Storage APIs | 300 requests/min |
Rate limiting uses a sliding window per projectId + endpoint category.
Vision
Image analysis endpoints. Try each one live in the playground.
| Endpoint | Method | Description | Try it |
|---|---|---|---|
/v1/vision/describe | POST | Generate scene descriptions | Playground |
/v1/vision/ocr | POST | Extract text from images | Playground |
/v1/vision/detect | POST | Detect objects with bounding boxes | Playground |
See Vision API for full request/response schemas.
Video
Asynchronous video pipeline. Submit a clip + multi-step pipeline; results stream back frame-by-frame via SSE with stable per-object track_ids.
| Endpoint | Method | Description |
|---|---|---|
/v1/video/process | POST | Enqueue a task; returns { id, stream_url } |
/v1/video/tasks | GET | List the project's tasks |
/v1/video/tasks/:id | GET | Fetch a task's status |
/v1/video/tasks/:id/stream | GET | SSE re-broadcast (replay + live tail) |
/v1/video/tasks/:id/results | GET | Final aggregated per-track summary |
/v1/video/tasks/:id/cancel | POST | Request cancellation |
Try it from any project's Video Tasks tab. See Video API for the full request/response schema, sampling/range options, and SSE chunk format.
Vectors
Multimodal vector search over images, text, and audio.
| Endpoint | Method | Description |
|---|---|---|
/v1/vectors/models | GET | List available embedding models |
/v1/vectors/collections | POST | Create a collection |
/v1/vectors/collections | GET | List collections |
/v1/vectors/collections/:id | GET / DELETE | Get or delete a collection |
/v1/vectors/collections/:id/index | POST | Embed and index items |
/v1/vectors/collections/:id/items | GET / DELETE | List or delete items |
/v1/vectors/collections/:id/search | POST | Similarity search within a collection |
See Vectors API for full schemas.
Storage
Each project has dedicated S3-backed object storage. All uploads and downloads use short-lived presigned URLs.
| Endpoint | Method | Description |
|---|---|---|
/v1/storage/upload | POST | Request a presigned PUT URL for direct upload |
/v1/storage/files | GET | List files under a path |
/v1/storage/files/* | GET | Redirect to a presigned GET URL |
/v1/storage/files/* | DELETE | Delete a file |
/v1/storage/presign | POST | Generate a presigned GET or PUT URL |
Max upload size per object: 50 MB.
Next Steps
- Vision API — Detailed vision endpoint reference
- Video API — Async video pipeline reference
- Vectors API — Vector search endpoint reference
- Authentication — API key management details