Set timeShift mode for Ricoh Theta X using API

Hello! I our mobile app we use Ricoh API and I want to set timeShift mode for Ricoh Theta X camera.
I do the same steps as for Z1 and V, but request camera.startCapture returns 400 error “Any input parameter or option is recognized, but its value is invalid.”
Request example:

curl -X "POST" "http://192.168.1.1/osc/commands/execute" \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "camera.startCapture",
  "parameters": {
    "_mode": "timeShift"
  }
}'

Could you please clarify what I am doing wrong and what should be done to set timeShift for Ricoh Theta X?

1 Like

I’m going to report this RICOH. I have the same problem right now. I’ll also try to test it more thoroughly with different tools.

in the failed test above, I have the header set as follows:

image


Update April 14, 2022

I tested timeShift on the official mobile app and it works. I’m still trying to get it to work with the API.


Update April 14, 2022

I have it working with the API now.

I am setting the _timeShift options explicitly.

I am setting cameraControlSource to app.

This is an internal merge using timeShift to show that I am in the picture twice.


curl -X "POST" "http://192.168.1.1/osc/commands/execute" \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "camera.setOptions",
  "parameters" : {
    "options": {
        "_cameraSourceControl": "app"
    }
    }
}'

sleep 1s

# this is NOT WORKING consistently
#
curl -X "POST" "http://192.168.1.1/osc/commands/execute" \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "camera.startCapture",
  "parameters": {
    "_mode": "timeShift"
  }
}'

Update 4/15/2022

Going to submit request to RICOH for more help.

I can’t consistently take the timeShift with my API tests. I think I need to use the official mobile app first and the official mobile app is setting an additional property. At the moment, I cannot solve this.

Update 4/18/2022

In addition to startCapture, specify “timeShift” in “_shootingMethod”

_shootingMethod

{
    "name": "camera.setOptions",
    "parameters": {
        "options": {
          "_shootingMethod":"timeShift"
        }
    }
2 Likes

Hello! Should the _timeShift property work when shooting HDR when calling camera.takePicture? Now, as I see it, it does not work, although the function is very useful. We use a Ricoh Theta Z1 camera

Please list the sequence of API commands that you are using with the X.

I have not tried it yet.

Example

  1. set filter to hdr - API
  2. set _timeShift option - API
  3. set _shootingMethod to “timeShift” - API

Please post firmware version.

Please advise how you are checking to see if the picture is HDR?

Camera: Ricoh Theta Z1
Firmware: 3.10.2
HDR mode is set using:

{"name":"camera.setOptions","parameters":{"options":{"_filter":"hdr"}}}

_timeShift with:

{"
  name":"camera.setOptions","
  parameters":{
    "options":{
       "_timeShift":{
            "firstShooting":"front",
            "firstInterval":1,
            "secondInterval":3
        }
       }
     }
}

We do not use the _shootingMethod property, in it the _timeShit option is available only starting from the X model

Everything works if you shoot with:

{"name":"camera.startCapture","parameters":{"_mode":"timeShift"}}

1 Like

This may be a limitation of the camera API. We’ll report this to RICOH.

1 Like

@ravil I checked with a contact at RICOH. The HDR filter should work with timeshift on the Z1. How do you verify whether the HDR is working or not? Do you get an error message?

Hello @craig
No, we are not receiving any errors. We are getting a regular HDR shot. It seems that the _timeShift parameter does not affect HDR. We have purchased the Ricoh Theta X camera, but it yields the same results.

Hi @ravil

To capture HDR shot with timeShift mode, please use following WebAPI sequence.


THETA X

STEP1. Execute camera.SetOptions to set filter as "hdr".

{
    "name": "camera.setOptions", 
    "parameters": {
        "options": {
            "_filter":"hdr"
        }
    }
}

STEP2. Execute camera.SetOptions to set _shootingMethod as "timeShift".

{
    "name": "camera.setOptions", 
    "parameters": {
        "options": {
            "_shootingMethod":"timeShift"
        }
    }
}

STEP3. Execute camera.startCapture with setting _mode as "timeShift".

{
    "name": "camera.startCapture", 
    "parameters": {
        "_mode": "timeShift"
    }
}

THETA Z1

You can do it with THETA Z1 as well, by following STEP1 and STEP3. THETA Z1 needs not STEP2.


Best regards,
Daisuke Hohjoh

1 Like