openapi: 3.1.0 info: title: Viam ML Model Service API description: | REST/JSON transcoding of the Viam MLModelService gRPC API. Run device-side inference against deployed ML models (TFLite, ONNX, Triton) and inspect model input/output schemas via Metadata. Canonical contract: https://github.com/viamrobotics/api/blob/main/proto/viam/service/mlmodel/v1/mlmodel.proto version: '2026.05' contact: name: Viam Support url: https://www.viam.com/contact servers: - url: https://{machine_address} description: Per-machine viam-server endpoint. variables: machine_address: default: machine.local.viam.cloud:443 security: - ApiKeyAuth: [] tags: - name: ML Model description: Device-side ML inference. paths: /viam.service.mlmodel.v1.MLModelService/Infer: post: summary: Viam Infer description: Run inference against a deployed model with one or more input tensors. operationId: infer tags: [ML Model] requestBody: required: true content: application/json: schema: type: object required: [name, input_tensors] properties: name: { type: string } input_tensors: { type: object } responses: '200': description: Successful response. /viam.service.mlmodel.v1.MLModelService/Metadata: post: summary: Viam Metadata description: Retrieve the model's input/output tensor schema. operationId: metadata tags: [ML Model] requestBody: required: true content: application/json: schema: type: object required: [name] properties: name: { type: string } responses: '200': description: Successful response. components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Viam API key or location secret.