Ricoh USA · Capability

RICOH THETA Camera Control

End-to-end workflow capability for controlling a RICOH THETA 360 camera over its OSC Web API: discover camera state, configure options, trigger a capture, and retrieve the resulting file URL.

RICOH THETA Camera Control is a Naftiko capability published by Ricoh USA, one of 2 capabilities the APIs.io network indexes for this provider. It bundles 6 operations across the GET, POST, DELETE, and PUT methods.

Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include ricoh-usa, THETA, 360 Cameras, and Camera Control.

Run with Naftiko ricoh-usaTHETA360 CamerasCamera Control

What You Can Do

GET
Getinfo — Get Camera Info
/v1/info
GET
Getstate — Get Camera State
/v1/state
POST
Takepicture — Take Picture
/v1/captures/picture
POST
Startcapture — Start Capture
/v1/captures/video
DELETE
Stopcapture — Stop Capture
/v1/captures/video
PUT
Setoptions — Set Options
/v1/options

Capability Spec

theta-camera-control.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: RICOH THETA Camera Control
  description: |
    End-to-end workflow capability for controlling a RICOH THETA 360 camera over its OSC Web API:
    discover camera state, configure options, trigger a capture, and retrieve the resulting file URL.
  tags:
    - ricoh-usa
    - THETA
    - 360 Cameras
    - Camera Control
  created: '2026-05-23'
  modified: '2026-05-23'
binds:
  - namespace: env
    keys:
      THETA_BASE_URL: THETA_BASE_URL
capability:
  consumes:
    - type: http
      namespace: theta
      baseUri: '{{env.THETA_BASE_URL}}'
      description: RICOH THETA camera OSC Web API. No authentication on the device itself when in access-point mode.
      resources:
        - name: info
          path: /osc/info
          operations:
            - name: getInfo
              method: GET
              description: Get Camera Info
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: state
          path: /osc/state
          operations:
            - name: getState
              method: POST
              description: Get Camera State
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: commands
          path: /osc/commands/execute
          operations:
            - name: takePicture
              method: POST
              description: Take a still picture (camera.takePicture)
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: '{ "name": "camera.takePicture" }'
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: startCapture
              method: POST
              description: Start a video / interval / composite capture (camera.startCapture)
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: stopCapture
              method: POST
              description: Stop the running capture (camera.stopCapture)
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: setOptions
              method: POST
              description: Update camera options (camera.setOptions)
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
      authentication:
        type: none
  exposes:
    - type: rest
      namespace: theta-camera-control-rest
      port: 8080
      description: REST adapter exposing simplified verbs for THETA camera control under /v1.
      resources:
        - path: /v1/info
          name: info
          description: Camera information.
          operations:
            - method: GET
              name: getInfo
              description: Get Camera Info
              call: theta.getInfo
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/state
          name: state
          description: Camera state.
          operations:
            - method: GET
              name: getState
              description: Get Camera State
              call: theta.getState
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/captures/picture
          name: take-picture
          description: Take a still picture.
          operations:
            - method: POST
              name: takePicture
              description: Take Picture
              call: theta.takePicture
              with:
                body: '{ "name": "camera.takePicture" }'
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/captures/video
          name: video-capture
          description: Start or stop a video capture.
          operations:
            - method: POST
              name: startCapture
              description: Start Capture
              call: theta.startCapture
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
            - method: DELETE
              name: stopCapture
              description: Stop Capture
              call: theta.stopCapture
              with:
                body: '{ "name": "camera.stopCapture" }'
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/options
          name: options
          description: Update camera options.
          operations:
            - method: PUT
              name: setOptions
              description: Set Options
              call: theta.setOptions
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.