Viam ML Model Service API

Device-side inference. Infer runs a deployed model against tensors; Metadata returns model input and output schemas. Pairs with TFLite, ONNX, and Triton ML model implementations.

Viam ML Model Service API is one of 14 APIs that Viam publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Robotics, Machine Learning, Inference, Edge AI, and Services. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

viam-ml-model-service-api-openapi.yml Raw ↑
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.