VisionAltResult vision.alt-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/alt-result.v1.json

vision.alt-result@1: POST /api/v1/alt answers one short, editable alt-text sentence about the scene, objects and action, never about a person. The text has passed noLooks; the receipt says which engine answered and at what cost.

Fields

FieldTypeRequiredDescriptionConstraints
answerobjectyes
  • no other fields
answer.alt_textstringyes
  • maxLength 240
answer.editableconstyes
  • = true
answer.receiptobjectyes
  • no other fields
answer.receipt.engineenumyes
  • one of "local", "routed", "local+routed", "local+routed description"
answer.receipt.modelstring | nullyes
answer.receipt.cost_usdnumberyes
  • minimum 0
answer.receipt.msintegeryes
  • minimum 0
answer.receipt.confidencenumber | nullyes
answer.receipt.retentionstringyes

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: one
{
  "answer": {
    "alt_text": "A kitchen counter with a bowl and a spoon.",
    "editable": true,
    "receipt": {
      "engine": "routed",
      "model": "gpt-4o-mini",
      "cost_usd": 0.0002,
      "ms": 900,
      "confidence": null,
      "retention": "not stored"
    }
  }
}
Rejected: one
{
  "answer": {
    "alt_text": "x",
    "editable": false,
    "receipt": {
      "engine": "routed",
      "model": null,
      "cost_usd": 0,
      "ms": 1,
      "confidence": null,
      "retention": "x"
    }
  }
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('vision.alt-result@1', value);   // { valid, errors: [{ path, message }] }