What APIs do new Sony cameras support i.e. A9 (ILCE-9), A7r2 (ILCE-7rm2), A7m3 (ILCE-7m3)?
Asked Answered
P

3

9

I looked into Sony's developer website (3 March 2018) and while the design is changed, the contents seem to lag behind.

https://developer.sony.com/develop/cameras

I do not see any details of the APIs of A9 and 3rd gen A7 cameras.

I know these cameras have WiFi and indeed Bluetooth. They are inter-operable with the PlayMemories phone/tablet application. I also understand they removed the PlayMemories app support (the Android app support) from the cameras themselves.

I wonder if they expose the documented API? Are there improvements or new functions? Are there any limitations given that the platform has been changed?

Can the low power bluetooth be used to get some events from the camera?

Also, is there USB SDK for tether control?

Polydipsia answered 3/3, 2018 at 13:9 Comment(0)
P
7

Given that the A7iii / A7M3 / ILCE-7M3 is not part of the SDK and I got it recently I set to do my own exploration of the API. Good news is the API is similar to older cameras and developer knowledge can be put to immediate use.

It seems the API has different capability relative to older cameras that had API based in the Apps subsystem e.g. A6300, A7R2 etc.

Here is the full list of A7iii APIs I found using getAvailableApiList()

getAvailableApiList
getShootMode
getSupportedShootMode
getAvailableShootMode
setFlashMode
getFlashMode
getSupportedFlashMode
getAvailableFlashMode
setSelfTimer
getSelfTimer
getSupportedSelfTimer
getAvailableSelfTimer
getSupportedMovieQuality
startLiveview
stopLiveview
actTakePicture
startMovieRec
stopMovieRec
awaitTakePicture
getExposureMode
getSupportedExposureMode
getAvailableExposureMode
getSupportedFocusMode
setExposureCompensation
getExposureCompensation
getSupportedExposureCompensation
getAvailableExposureCompensation
setFNumber
getFNumber
getSupportedFNumber
getAvailableFNumber
setWhiteBalance
getWhiteBalance
getSupportedWhiteBalance
getAvailableWhiteBalance
getShutterSpeed
getSupportedShutterSpeed
getAvailableShutterSpeed
setIsoSpeedRate
getIsoSpeedRate
getSupportedIsoSpeedRate
getAvailableIsoSpeedRate
actHalfPressShutter
cancelHalfPressShutter
getSupportedProgramShift
getSupportedMovieFileFormat
setContShootingMode
getContShootingMode
getSupportedContShootingMode
getAvailableContShootingMode
getSupportedViewAngleMode
getSupportedNearModeInPF
setWirelessFlashSetting
getWirelessFlashSetting
getSupportedWirelessFlashSetting
getAvailableWirelessFlashSetting
getApplicationInfo
getEvent
getTemporarilyUnavailableApiList

There are couple of new APIs not available on A6300 previously

awaitTakePicture
getAvailableExposureMode
getAvailableFlashMode
getAvailableWirelessFlashSetting
getFlashMode
getSupportedMovieFileFormat
getSupportedMovieQuality
getSupportedNearModeInPF
getSupportedViewAngleMode
getSupportedWirelessFlashSetting
getTemporarilyUnavailableApiList
getWirelessFlashSetting
setFlashMode
setWirelessFlashSetting
startMovieRec
stopMovieRec

There are also few missing APIs that were present on A6300 and no longer in A7iii

getAvailableCameraFunction
getAvailableFocusMode
getAvailableLiveviewSize
getAvailablePostviewImageSize
getAvailableSilentShootingSetting
getCameraFunction
getFocusMode
getLiveviewFrameInfo
getLiveviewSize
getMethodTypes
getPostviewImageSize
getSilentShootingSetting
getStorageInformation
getSupportedCameraFunction
getSupportedContShootingSpeed
getSupportedLiveviewSize
getSupportedPostviewImageSize
getSupportedSilentShootingSetting
getSupportedZoomSetting
getTouchAFPosition
getVersions
setCameraFunction
setFocusMode
setLiveviewFrameInfo
setPostviewImageSize
setShootMode
setSilentShootingSetting
setTouchAFPosition
startLiveviewWithSize
stopRecMode

I saw startRecMode is not avaialbe or required to invoke on A7iii before sending other commands.

I do not seem able to enable frame info in LiveView so my live view looks a bit substandard i.e. not showing focus points. Also setTouchAFPosition() is gone and I cannot set focus point from my app. I am building a small Desktop/Laptop app that mimics Sony's PlayMemories phone app i.e. sort of wireless tethering tool.

A strange observation I made is that getVersions() returns list from 1.0 through 1.8. getMethodTypes() seems to only cover 1.0 through 1.3.

I hope this helps anyone that is trying to figure out if an app or script will run on the latest cameras.

PS After further examination I noticed getMEthodTypes returns coupe more API operations

actZoom
cancelTouchAFPosition
getAvailableFNumber
getAvailableFocusMode
getAvailableMovieQuality
getAvailableViewAngleMode
getFNumber
getFocusMode
getMethodTypes
getMovieQuality
getSupportedFNumber
getVersions
getViewAngleMode
setExposureMode
setFNumber
setFocusMode
setMovieQuality
setShootMode
setShutterSpeed
setViewAngleMode
startBulbShooting
startContShooting
stopBulbShooting
stopContShooting

I assume those will appear in the getAvaialbleApiList set when camera settings are appropriate e.g. continuous shooting or bulb mode exposure.

Polydipsia answered 24/3, 2018 at 23:7 Comment(4)
Kiril, thanks for this info. Did you use the "Smart Remote Control" app within the camera to expose the API? Or was it possible to connect from another menu option?Capsaicin
There is no app support in A7iii, A7Riii and A9. Instead there is menu to enable WiFi control. helpguide.sony.net/ilc/1710/v1/en/contents/TP0001661942.htmlPolydipsia
Hi @Kiril! Have you attempted at all to implement contents transfer on the a7iii or similar models? I recently launched an app and a lot of users are having issues. I'm guessing due to the lack of a setCameraFunction method there must be another way to achieve this?Sitnik
Does anyone here have a clue what is going on with setting the shutter speed with the a7iii, etc? I have tried every format I can think of, but setting anything from 0.5" and longer just returns an error. What I had originally with all the older camera was working fine and that was sending ["0.5"].Governess
E
0

Thanks for your interest in the Sony Camera API! Sony does make many cameras with various features, but even if a camera does have wifi capability it does not necessarily mean that it will support the camera remote API. The list on the website is the most updated list so if a camera is not on that list then it is more than likely not supported.

https://developer.sony.com/develop/cameras/api-information/supported-devices

Also the website lists many of the supported features, https://developer.sony.com/develop/cameras/api-information/supported-features-and-compatible-cameras

but you will have to download the SDK to see the full API list. https://developer.sony.com/file/download/sony-camera-remote-api-beta-sdk/

Lastly the camera API unfortunately only supports control over Wifi, so you would not be able to use any other means to tap in to the API.

I hope that this helps. Please let me know if you have any more questions!!

Extrude answered 16/3, 2018 at 15:26 Comment(3)
Hi Robert! Can you provide any information about how Contents Transfer can be used on the latest models, given the setCameraFunction API is no longer available?Sitnik
Hi @simonthumper. You should be able to call the endpoint "getContentList" to see all of the content available on your camera. You should then be able to use http file transfer to download your files.Extrude
Hi @Robert, does that method no longer take uri as a parameter? Or require changing to the “Transfer Contents” function? I.e. I can now skip the call to getSchemeList and getSourceList? Any chance you could provide an example flow for this? It’d be great to get it working again! Just to clarify, I’m talking about the a7iii/a7riii/a9 here!Sitnik
S
0

Since feb 2020 Sony has provided a new wirelessly remote SDK. The Camera Remote SDK is a flexible API that builds on commonly-used protocols such as HTTP and JSON. And you can develop apps for any operating system, such as Android, iOS or Microsoft Windows.

See Api Information for supported devices (notification 2020-09-15). Only ILCE-7C, ILCE-7SM3, ILCE-7RM4, ILCE-9M2 are supported now.

Sanderson answered 29/9, 2020 at 14:41 Comment(2)
The new SDK is not wireless. It is USB SDK. On the page you link it clearly says Supported interface: USB. I suppose they may support WiFi mode as the Sony PC app can do the same over USB and WiFi. This said the functonality supported over USB and WiFi since ILCE-7RM4 (A7R4) seems richer than the former WiFi SDK on any camera.Polydipsia
Supported device ILX-LR1 ILCE-1, ILCE-9M2, ILCE-7RM5, ILCE-7RM4A, ILCE-7RM4, ILCE-7CR, ILCE-7SM3, ILCE-7M4, ILCE-7CM2, ILCE-7C, ILCE-6700 BURANO(MPC-2610), ILME-FX6V/ILME-FX6T(Ver. 3.00 or later), ILME-FX3(Ver. 2.00 or later), ILME-FX30 ZV-E1 DSC-RX0M2 (Ver. 3.00 or later)Cymogene

© 2022 - 2024 — McMap. All rights reserved.