VisionAnswerResult vision.answer-result@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- vision
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/vision/answer-result.v1.json
vision.answer-result@1: what POST /api/v1/ask, /describe and /ocr answer (`{ answer }`), and POST /api/v1/compare answers with `compare` rows and the local reader's summary added. Every AI-written text has passed noLooks: a look-naming answer is replaced, never repaired word by word.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
answer | vision.answer | yes | ||
compare | array of object |
| ||
compare[].engine | enum | yes |
| |
compare[].requested_model | string | null | |||
compare[].model | string | null | |||
compare[].provider | string | null | |||
compare[].route | string | null | |||
compare[].ok | boolean | yes | ||
compare[].text | string | null | |||
compare[].cost_usd | number | yes |
| |
compare[].latency_ms | integer | yes |
| |
compare[].error_code | string | null | |||
local | object |
| ||
local.ok | boolean | yes | ||
local.model | string | null | yes | ||
local.confidence | number | null | yes | ||
local.error_code | string | null | yes |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: one
{
"answer": {
"id": "vis_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
"task": "ask",
"mode": "auto",
"source": "upload",
"image_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"image_mime": "image/png",
"image_bytes": 1024,
"text": "A desk with a keyboard and a mug.",
"answer": {},
"cost_usd": 0,
"latency_ms": 42,
"created_at": "2026-10-29T10:00:00.000Z"
}
}Rejected: one
{
"answer": {
"id": "vis_short"
}
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('vision.answer-result@1', value); // { valid, errors: [{ path, message }] }