AI-generated Key Takeaways
-
The
/osc/commands/executeAPI allows you to execute commands on the camera, such as adjusting settings or taking pictures. -
Input requires the command
nameand any necessaryparametersdefined in the OSC API Specification. -
Output provides the command
name,state, and may include anid,results,error, orprogressdepending on the command and its execution status. -
Possible command states include
done,inProgress, anderror, with further details provided in the output fields. -
Refer to the OSC API Specification for specific command definitions, parameters, and result formats.
The /osc/commands/execute API executes specified commands on the camera. The output is a command object.
Input
| Name | Type | Description |
|---|---|---|
name |
String | The command to be executed. |
parameters |
Object | Command input parameters according to the command definitions specification. Please refer to OSC API Specification for examples. |
Output
| Name | Type | Description |
|---|---|---|
name |
String | The command to be executed. |
state |
String | State of the command. Should be one of the following:
|
id |
String (optional) | Command ID. This value is required for commands returning the status inProgress. For example, the camera.takePicture command takes a few seconds due to the need for stitching. See the “Status” section for more details. |
results |
Object (optional) | Command results. This value is required for commands returning state done if the command is expected to return results; for example,
“results” : {
“AAA”: “BBB”,
...
}
Please refer to OSC API Specification for examples. |
error |
Object (optional) | Command error description. This value is required for commands returning state error; for example,
“error”: {
“code”: “missingParameter”
} |
progress |
Object (optional) | Command progress description. This value is required for commands returning state inProgress; for example,
“progress”: {
“completion”: 0.8
} |
Error
| Error code | Description |
|---|---|
unknownCommand |
Requested command is unknown, e.g. if a v2 client (clientVersion is set to 2, see Options) requests a deprecated command from API level 1, the request should fail with this error code. |
disabledCommand |
Command executed is currently disabled, e.g. `takePicture` command is disabled when camera is video mode, processPicture command is disabled when the camera doesn’t support delayProcessing. This error code was added in API level 2. |
cameraInExclusiveUse |
Camera is already in exclusive use, new session can’t be started. This error code was deprecated in API level 2. |
missingParameter |
One or more required parameters were not specified. |
invalidParameterName |
One or more input parameter or option name was unrecognized or unsupported. |
invalidParameterValue |
The parameter or option names were recognized, but one or more values is invalid; for example, the value is out of range. |
Example | |
|---|---|
| Request (API 1) | POST /osc/commands/execute HTTP/1.1 Host: [camera ip address]:[httpPort] Content-Type: application/json;charset=utf-8 Accept: application/json Content-Length: {CONTENT_LENGTH} X-XSRF-Protected: 1 { "name": "camera.setOptions", "parameters": { "sessionId": "12ABC3", "options": { "iso": 200, "exposureCompensation": -2 } } } |
| Request (API 2) | POST /osc/commands/execute HTTP/1.1 Host: [camera ip address]:[httpPort] Content-Type: application/json;charset=utf-8 Accept: application/json Content-Length: {CONTENT_LENGTH} X-XSRF-Protected: 1 { "name": "camera.setOptions", "parameters": { "options": { "iso": 200, "exposureCompensation": -2 } } } |
| Response | HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8 Content-Length: {CONTENT_LENGTH} X-Content-Type-Options: nosniff { "name": "camera.setOptions", "state": "done" } |
| Request (API 1) | POST /osc/commands/execute HTTP/1.1 Host: [camera ip address]:[httpPort] Content-Type: application/json;charset=utf-8 Accept: application/json Content-Length: {CONTENT_LENGTH} X-XSRF-Protected: 1 { "name": "camera.takePicture", "parameters": { "sessionId": "12ABC3" } } |
| Request (API 2) | POST /osc/commands/execute HTTP/1.1 Host: [camera ip address]:[httpPort] Content-Type: application/json;charset=utf-8 Accept: application/json Content-Length: {CONTENT_LENGTH} X-XSRF-Protected: 1 { "name": "camera.takePicture" } |
| Response | HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8 Content-Length: {CONTENT_LENGTH} X-Content-Type-Options: nosniff { "name": "camera.takePicture", "state": "inProgress", "id": "90ABCD", "progress": { "completion": 0 } } |