Skip to main content
Glama

IvedaAI: Scene

ivedaai_scene

Manage and query IvedaAI scenes: search, create, update, retrieve details, images, objects, and playback. Supports reverse image search and object counts.

Instructions

IvedaAI API — Scene operations. Response JSON: "status" is the HTTP status code; "truncated"/"timedOut" flag a cut-off response.

GET /api/scenes — Search scenes query: offset?:integer, page?:any, pageNumber?:integer, pageSize?:integer, paged?:boolean, size?:any, sort?:any, sort.sorted?:boolean, sort.unsorted?:boolean, start*:string(yyyy-MM-dd HH:mm:ss), unpaged?:boolean, end*:string(yyyy-MM-dd HH:mm:ss), cameraIds?:integer, footageIds?:integer, query?:string, hashtags?:string, roiPoints?:number, allCameras?:boolean, allFootages?:boolean

POST /api/scenes — Create scene file: provide as {path, filename?, contentType?} — local file to upload as "file" form fields (pass via body): cameraId*:integer, datetime?:string(yyyy-MM-dd'T'HH:mm:ss), forceSave?:boolean, frameIndex?:integer, hashtags?:string[], latitude?:number, longitude?:number, profileId?:integer, requiredEngines?:string, sceneObjects[0].confidence?:number, sceneObjects[0].h*:integer, sceneObjects[0].metadata.colors?:string[], sceneObjects[0].metadata.face.age?:integer, sceneObjects[0].metadata.face.ageGroup?:string enum:-|1-19|20-29|30-39|40-49|50-59|60-69|70-100, sceneObjects[0].metadata.face.categoryName?:string, sceneObjects[0].metadata.face.categoryUuid?:string, sceneObjects[0].metadata.face.confidence?:number, sceneObjects[0].metadata.face.emotion?:string enum:Angry|Happy|Neutral|Sad|Surprised|Unknown, sceneObjects[0].metadata.face.features*:number[], sceneObjects[0].metadata.face.gender?:string enum:Female|Male|Unknown, sceneObjects[0].metadata.face.matchConfidence?:number, sceneObjects[0].metadata.face.qualified?:boolean, sceneObjects[0].metadata.face.rect.height?:integer, sceneObjects[0].metadata.face.rect.width?:integer, sceneObjects[0].metadata.face.rect.x?:integer, sceneObjects[0].metadata.face.rect.y?:integer, sceneObjects[0].metadata.face.targetName?:string, sceneObjects[0].metadata.face.targetUuid?:string, sceneObjects[0].metadata.licensePlate.categoryId?:integer, sceneObjects[0].metadata.licensePlate.categoryName?:string, sceneObjects[0].metadata.licensePlate.categoryUuid?:string, sceneObjects[0].metadata.licensePlate.confidence?:number, sceneObjects[0].metadata.licensePlate.country?:string, sceneObjects[0].metadata.licensePlate.disabled?:boolean, sceneObjects[0].metadata.licensePlate.number?:string, sceneObjects[0].metadata.licensePlate.rect.height?:integer, sceneObjects[0].metadata.licensePlate.rect.width?:integer, sceneObjects[0].metadata.licensePlate.rect.x?:integer, sceneObjects[0].metadata.licensePlate.rect.y?:integer, sceneObjects[0].metadata.licensePlate.state?:string, sceneObjects[0].metadata.licensePlate.vehicleOwner?:string, sceneObjects[0].metadata.licensePlate.vehicleType?:string, sceneObjects[0].metadata.makeModel.make?:string, sceneObjects[0].metadata.makeModel.model?:string, sceneObjects[0].metadata.makeModel.possibility?:number, sceneObjects[0].metadata.mask.confidence?:number, sceneObjects[0].metadata.mask.hasMask?:boolean, sceneObjects[0].metadata.person.hasHelmet?:boolean, sceneObjects[0].metadata.person.hasVest?:boolean, sceneObjects[0].metadata.person.helmetConfidence?:number, sceneObjects[0].metadata.person.vestConfidence?:number, sceneObjects[0].metadata.speed?:string enum:AboveAverage|Average|BelowAverage, sceneObjects[0].objectType*:string, sceneObjects[0].w*:integer, sceneObjects[0].x*:integer, sceneObjects[0].y*:integer

GET /api/scenes/{sceneId} — Get scene details path: sceneId*:integer

PATCH /api/scenes/{sceneId} — update scene path: sceneId*:integer body: SceneUpdateRequest — ivedaai_get_schema for all fields

GET /api/scenes/{sceneId}/{type} — Get original image path: sceneId*:integer, type*:string enum:Alert|CommonEvent|VideoSearch query: eventType?:string enum:CAMERA_ABNORMAL|CROWD_DETECTION|DWELL|FACE_RECOGNITION|FALL|HUMAN_ATTRIBUTE|INTRUSION|LPR

GET /api/scenes/{sceneId}/objects — Get detail objects path: sceneId*:integer query: commonEventId?:integer, query?:string

GET /api/scenes/{sceneId}/playback — Get scene's playback path: sceneId*:integer query: duration?:integer, start?:string(yyyy-MM-dd HH:mm:ss)

POST /api/scenes/image — Search scenes by image file: provide as {path, filename?, contentType?} — local file to upload as "file"

GET /api/scenes/metadata — Get example of create scene metadata

GET /api/scenes/objects/count — Get total number of objects

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON request body, or form field values when uploading a file.
fileNoLocal file to upload, for operations that accept a file.
pathNoPath parameters, e.g. { "cameraId": 12 }
queryNoQuery string parameters for this operation.
operationYesWhich API operation to call, from the list in this tool's description.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral details beyond the annotations: it specifies the response wrapper ('status' is the HTTP status code; 'truncated'/'timedOut' flag cut-off responses) and clarifies how to supply local files for upload. However, it does not disclose per-operation side effects (e.g., whether POST creates persistent data, whether PATCH updates are partial), nor authentication or rate-limit context, so it only partially fills the transparency gap left by the generic annotations (readOnlyHint=false, destructiveHint=false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but logically organized by endpoint, with each operation labeled and parameters indented. The opening line front-loads the tool scope and response conventions. There is some redundancy (e.g., repeating 'file: provide as...' twice, and the extreme verbosity of nested sceneObjects fields) that prevents a perfect score, but the structure is effective for a multi-operation API tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is comprehensive for parameters and operation discovery, but it lacks per-endpoint response body descriptions and any guidance on authentication or pagination behavior beyond the generic status/truncated flags. With no output schema provided, agents are left to infer what data each endpoint returns, so completeness is adequate but not thorough for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides generic containers (body, file, path, query, operation) with no operation-specific parameters. The description compensates by listing every endpoint's query, path, and body parameters, including types, required markers, enums, and deeply nested sceneObjects metadata (face, licensePlate, makeModel, etc.). This is far beyond what the schema encodes, giving agents complete parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'IvedaAI API — Scene operations' and enumerates ten specific operations with unambiguous verb-resource pairs (e.g., 'Search scenes', 'Create scene', 'Get scene details'). This distinguishes it from sibling tools by resource domain (Scene vs Camera, Alert, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes it clear this tool handles all scene-related operations, and each endpoint has an explicit purpose. However, it does not provide any when-not-to-use guidance or mention alternatives (e.g., ivedaai_scene_object for object-level details), so usage context is implied rather than explicitly contrasted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WillORepO/ivedaAI-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server