Download OpenAPI specification:Download
The GoPro API allows developers to create apps and utilities that interact with and control a GoPro camera.
The GoPro API allows you to control and query the camera to:
See the supported cameras from the BLE Specification
The documentation assumes that the GoPro is always updated to the most recent version. This is relevant in cases where functionality changes between versions.
Connection to the camera via WiFi requires that the camera's WiFi Access Point be enabled. This can be done by connecting to the camera via Bluetooth Low Energy and sending a command to enable AP Mode.
Open GoPro systems that utilize USB must support the Network Control Model (NCM) protocol. Connecting via USB requires the following steps:
Once the WiFi Access Point has been turned on, authentication with the camera simply requires connecting with the correct SSID and password. This information can be obtained in two ways:
No authentication is necessary.
The socket address for WiFi connections is 10.5.5.9:8080.
The socket address for USB connections is 172.2X.1YZ.51:8080 where XYZ are the last three digits of the camera's serial number.
The camera's serial number can be obtained in any of the following ways:
For example, if the camera's serial number is C0000123456789, the IP address for USB connections would be 172.27.189.51.
Alternatively, the IP address can be discovered via mDNS as the camera registers the _gopro-web service.
Using the Open GoPro API, a client can perform various command, control, and query operations.
Depending on the camera's state, it may not be ready to accept specific commands. This ready state is dependent on the System Busy and the Encoding Active status flags. For example:
If the system is not ready, it should reject an incoming command; however, best practice is to always wait for the System Busy and Encode Active flags to be unset before sending messages other than camera status queries. For details regarding camera state, see the Get State Operation
It is necessary to periodically send a keep-alive signal to maintain the connection.
In order to prevent undefined behavior between the camera and a connected app, simultaneous use of the camera and a connected app is discouraged. A third party client should use the Set Camera Control Status command to tell the camera that the client wishes to claim control of the camera.
General
Supported Protocols:
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/analytics/set_client_info
{ }
The Camera On the Home Network (COHN) capability allows the client to perform command and control with the camera indirectly through an access point such as a router at home.
For security purposes, all communications are performed over HTTPS.
In order to use the COHN capability, the camera must first be provisioned for COHN. For instructions on how to do this, see the Open GoPro BLE spec.
Once the camera is provisioned, the client can issue commands and set settings via HTTPS using the COHN certificate and Basic authorization (username/password) credentials obtained during provisioning or subsequently by querying for COHN status.
All HTTPS messages must contain Basic access authentication headers, using the username and password from the COHN status obtained during or after provisioning.
Supported Protocols:
cohn_active |
integer
Enum: 0 1 1 to enable, 0 to disable When |
{-
"cohn_active": 0
}
{ }
Supported Protocols:
This creates the Camera On the Home Network SSL/TLS certs certs. The created certificate(s) can be obtained via Get COHN Certificate and used for SSL/TLS communications
override |
integer
Enum: 0 1 If 1, replace existing Root CA cert with a newly-generated one. |
{-
"override": 0
}
{ }
Supported Protocols:
curl --request POST \ --url http://10.5.5.9:8080/gopro/cohn/cert/clear
{ }
curl --request POST \ --url http://10.5.5.9:8080/GoProRootCA.crt
-----BEGIN CERTIFICATE----- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END CERTIFICATE----
Supported Protocols:
enabled |
integer
Enum: 0 1 Is COHN currently enabled? |
|||||||||||||||||||||||||||
ipaddress |
string
Example: "123.45.67.890"
Camera's IP address on the local network |
|||||||||||||||||||||||||||
macaddress |
string
MAC address of the wifi adapter |
|||||||||||||||||||||||||||
password |
string
Password used for http basic auth header |
|||||||||||||||||||||||||||
ssid |
string
Currently connected SSID |
|||||||||||||||||||||||||||
state |
integer (EnumCOHNNetworkState)
Enum: 0 1 2 5 27 28 29 30
|
|||||||||||||||||||||||||||
status |
integer (EnumCOHNStatus)
Enum: 0 1
|
|||||||||||||||||||||||||||
username |
string
Username used for http basic auth header |
curl --request POST \ --url http://10.5.5.9:8080/gopro/cohn/status
{
-
"enabled": 0,
-
"ipaddress": "123.45.67.890",
-
"macaddress": "string",
-
"password": "string",
-
"ssid": "string",
-
"state": 0,
-
"status": 0,
-
"username": "string"
}
Supported Protocols:
Some cameras support Turbo Transfer mode, which allows media to be downloaded over WiFi more rapidly.
This special mode should only be used during media offload.
It is recommended that the user check for and, if necessary, disable Turbo Transfer on connection.
Note that Disabling / enabling turbo mode will also enable / disable the transferring media camera UI.
p<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 0 to disable, 1 to enable |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/turbo_transfer?p=0'
{ }
Supported Protocols:
p<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 If 1, enable wired usb control; If 0, disable usb control |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/control/wired_usb?p=0'
{ }
Supported Protocols:
In order to maximize battery life, GoPro cameras automatically go to sleep after some time. This logic is handled by a combination of the Auto Power Down setting which most (but not all) cameras support and a Keep Alive message that the user can regularly send to the camera.
The camera will automatically go to sleep if both timers reach zero.
The Auto Power Down timer is reset when the user taps the LCD screen, presses a button on the camera, programmatically (un)sets the shutter, sets a setting, or loads a Preset.
The Keep Alive timer is reset when the user sends a keep alive message.
The best practice to prevent the camera from inadvertently going to sleep is to start sending Keep Alive messages every 3.0 seconds after a connection is established.
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/keep_alive
{ }
Supported Protocols:
This command is used to tell the camera that a client (i.e. External Control) wishes to claim control of the camera. This causes the camera to immediately exit most contextual menus and return to the idle screen. Any interaction with the camera's physical buttons will cause the camera to reclaim control and update control status accordingly. If the user returns the camera UI to the idle screen, the camera updates control status to Idle.
Note:
See the below diagram for a state diagram of Camera Control:
p<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 2 3 camera control status
|
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/control/set_ui_controller?p=0'
{ }
Supported Protocols:
date<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: date=2023_12_31
current date in format YYYY_MM_DD |
time<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: time=21_12_13
current time in format HH_MM_SS in 24 hour format |
tzone<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> | integer Example: tzone=-480Timezone offset in minutes. See here for a listing of all UTC offsets. Not supported on Hero 10 Black Hero 9 Black |
dst<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> | integer Enum: 0 1 Is daylight savings time active? Not supported on Hero 10 Black Hero 9 Black |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/set_date_time?date=2023_12_31&time=21_12_13&tzone=-480&dst=0'
{ }
Supported Protocols:
percent<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 100 ]
Example: percent=50
Zoom Level (0-100) |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/digital_zoom?percent=50'
{ }
Supported Protocols:
mode<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Enum: "start" "stop"
Example: start
Start / stop encoding. |
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/shutter/start
{ }
The HiLight Tags feature allows the user to tag moments of interest either during video capture or on existing media.
Once HiLight tags have been added, they can be queried via Media Info
Supported Protocols:
Add a hilight / tag to an existing photo or media file.
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.MP4
The path to a file on the camera to HiLight |
ms |
integer
Example: ms=1
The offset from the beginning of a video file, in milliseconds |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/hilight/file?path=100GOPRO/GOPR0002.MP4&ms=1'
{ }
Supported Protocols:
Add hilight at current time while recording video
This can only be used during recording.
curl --request GET \ --url http://10.5.5.9:8080/gopro/media/hilight/moment
{ }
Supported Protocols:
Remove an existing hilight from a photo or video file.
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.MP4
The path to a file on the camera to remove a HiLight from |
ms |
integer
Example: ms=1
The offset from the beginning of a video file, in milliseconds |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/hilight/remove?path=100GOPRO/GOPR0002.MP4&ms=1'
{ }
This section describes the operations to query basic details about media captured on the sdcard.
All GoPro cameras break longer videos into chapters. GoPro cameras currently limit file sizes on sdcards to 4GB for both FAT32 and exFAT file systems. This limitation is most commonly seen when recording longer (10+ minute) videos. In practice, the camera will split video media into chapters named Gqccmmmm.MP4 (and ones for THM/LRV) such that:
When media becomes chaptered, the camera increments subsequent Chapter Numbers while leaving the Media ID unchanged. For example, if the user records a long High-quality video that results in 4 chapters, the files on the sdcard may look like the following:
-rwxrwxrwx@ 1 gopro 123456789 4006413091 Jan 1 00:00 GH010078.MP4
-rwxrwxrwx@ 1 gopro 123456789 17663 Jan 1 00:00 GH010078.THM
-rwxrwxrwx@ 1 gopro 123456789 4006001541 Jan 1 00:00 GH020078.MP4
-rwxrwxrwx@ 1 gopro 123456789 17357 Jan 1 00:00 GH020078.THM
-rwxrwxrwx@ 1 gopro 123456789 4006041985 Jan 1 00:00 GH030078.MP4
-rwxrwxrwx@ 1 gopro 123456789 17204 Jan 1 00:00 GH030078.THM
-rwxrwxrwx@ 1 gopro 123456789 756706872 Jan 1 00:00 GH040078.MP4
-rwxrwxrwx@ 1 gopro 123456789 17420 Jan 1 00:00 GH040078.THM
-rwxrwxrwx@ 1 gopro 123456789 184526939 Jan 1 00:00 GL010078.LRV
-rwxrwxrwx@ 1 gopro 123456789 184519787 Jan 1 00:00 GL020078.LRV
-rwxrwxrwx@ 1 gopro 123456789 184517614 Jan 1 00:00 GL030078.LRV
-rwxrwxrwx@ 1 gopro 123456789 34877660 Jan 1 00:00 GL040078.LRV
Supported Protocols:
Delete an entire group of media files such as in a burst, timelapse, or chaptered video. This API should not be used to delete single files. Instead use Delete Single File
p<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: p=105GOPRO/G0016880.JPG
The path to the group on the camera to delete. This path must be the first file in the group. |
curl --request GET \ --url 'http://10.5.5.9:8080/gp/gpControl/command/storage/delete/group?p=105GOPRO/G0016880.JPG'
{ }
Supported Protocols:
When operating on a file that is part of a group, only the individual file will be deleted. To delete the entire group, use Delete Grouped Media Item
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=105GOPRO/GOPR6879.JPG
path to media file to delete |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/delete/file?path=105GOPRO/GOPR6879.JPG'
{ }
Supported Protocols:
Note that this is the same endpoint for all media (photos, video, etc.).
directory<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: 100GOPRO
Case sensitive directory that media resides in |
filename<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Examples:
Case sensitive media filename |
curl --request GET \ --url http://10.5.5.9:8080/videos/DCIM/100GOPRO/%7Bfilename%7D
Supported Protocols:
This will return the complete path of the last captured media. Depending on the type of media captured, it will return:
file |
string
Example: "GOPR0002.JPG"
Filename of media |
folder |
string
Example: "100GOPRO"
Directory in which the media is contained in |
curl --request GET \ --url http://10.5.5.9:8080/gopro/media/last_captured
{
-
"file": "GOPR0002.JPG",
-
"folder": "100GOPRO"
}
Supported Protocols:
None
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.JPG
media file name |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/gpmf?path=100GOPRO/GOPR0002.JPG'
Supported Protocols:
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.JPG
media file name |
ct<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 2 3 4 5 6 8 9 10 11 12 Media content type
|
||||||||||||||||||||||||||
cre<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1692992748"
Creation time in seconds since epoch |
||||||||||||||||||||||||||
s<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1234567890"
File size in bytes |
||||||||||||||||||||||||||
gumi<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "12345678998765443211234567899875"
Globally Unique Media ID |
||||||||||||||||||||||||||
h<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1080"
Height of media in pixels |
||||||||||||||||||||||||||
w<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1920"
Width of media in pixels |
||||||||||||||||||||||||||
hc<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 99 ]
Number of hilights in media |
||||||||||||||||||||||||||
eis<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if stabilized, 0 otherwise |
||||||||||||||||||||||||||
mp<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if metadata is present, 0 otherwise |
||||||||||||||||||||||||||
rot<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Deprecated |
||||||||||||||||||||||||||
tr<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if file is transcoded, 0 otherwise |
||||||||||||||||||||||||||
us<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 Has the file been uploaded? 0 if no, 1 if yes |
||||||||||||||||||||||||||
ao<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Enum: "auto" "wind" "stereo" "off"
Example: "auto"
Audio option |
||||||||||||||||||||||||||
profile<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 255 ]
Advanced Video Codec Level |
||||||||||||||||||||||||||
avc_profile<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 255 ]
Example: "0"
Advanced Video Code Profile |
||||||||||||||||||||||||||
cl<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if clipped, 0 otherwise |
||||||||||||||||||||||||||
dur<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "42"
Video duration in seconds |
||||||||||||||||||||||||||
fps<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1001"
Video frame rate numerator |
||||||||||||||||||||||||||
fps_denom<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "30000"
Video frame rate denominator |
||||||||||||||||||||||||||
ls<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ -1 .. 1234567890 ]
Low Resolution Video file size in bytes. -1 if there is no LRV file |
||||||||||||||||||||||||||
pta<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if protune audio is present, 0 otherwise |
||||||||||||||||||||||||||
subsample<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if subsampled from other video, 0 otherwise |
||||||||||||||||||||||||||
fov |
string
Field of View |
||||||||||||||||||||||||||
hi |
Array of integers
Example: "1500,4700"
List of hilights in ms offset from start of video |
||||||||||||||||||||||||||
lc |
integer
Enum: 0 1 Lens configuration ==> 0 for front, 1 for rear |
||||||||||||||||||||||||||
mos |
Array of strings
Items Enum: "app" "pc" "other"
Example: "app,pc"
List of offload states |
||||||||||||||||||||||||||
prjn |
integer
Enum: 0 1 2 3 4 5 6 7 8 Lens projection
|
||||||||||||||||||||||||||
progr |
integer
Enum: 0 1 Is video progressive? 1 if progressive, 0 if interlaced |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/info?path=100GOPRO/GOPR0002.JPG'
{
-
"ao": "auto",
-
"avc_profile": 0,
-
"cl": 0,
-
"cre": 1692992748,
-
"ct": 0,
-
"dur": 42,
-
"eis": 0,
-
"fov": "string",
-
"fps": 1001,
-
"fps_denom": 30000,
-
"gumi": "12345678998765443211234567899875",
-
"h": 1080,
-
"hc": 99,
-
"hi": [
-
1500,
- 4700
],
-
"lc": 0,
-
"ls": -1,
-
"mos": [
-
"app",
- "pc"
],
-
"mp": 0,
-
"prjn": 0,
-
"profile": 255,
-
"progr": 0,
-
"pta": 0,
-
"rot": "string",
-
"s": 1234567890,
-
"subsample": 0,
-
"tr": 0,
-
"us": 0,
-
"w": 1920
}
Supported Protocols:
A screennail is a low-res preview image that is higher resolution than a thumbnail.
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.JPG
media file name |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/screennail?path=100GOPRO/GOPR0002.JPG'
Supported Protocols:
Get Media File Telemetry track data
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.JPG
media file name |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/telemetry?path=100GOPRO/GOPR0002.JPG'
Supported Protocols:
path<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: path=100GOPRO/GOPR0002.JPG
media file name |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/media/thumbnail?path=100GOPRO/GOPR0002.JPG'
Supported Protocols:
To minimize the size of the JSON transmitted by the camera, grouped media items such as Burst Photos, Time Lapse Photos, Night Lapse Photos, etc are represented with a single item in the media list with additional keys that allow the user to extrapolate individual filenames for each member of the group.
Filenames for group media items have the form "GXXXYYYY.ZZZ" where XXX is the group ID, YYY is the group member ID and ZZZ is the file extension.
For example, take the media list below, which contains a Time Lapse Photo group media item:
{
"id": "2530266050123724003",
"media": [
{
"d": "100GOPRO",
"fs": [
{
"b": "8",
"cre": "1613669353",
"g": "1",
"l": "396",
"m": ["75", "139"],
"mod": "1613669353",
"n": "G0010008.JPG",
"s": "773977407",
"t": "t"
}
]
}
]
}
The first filename in the group is G0010008.JP
(key: n
).
The ID of the first group member in this case is 008
(key: b
).
The ID of the last group member in this case is 396
(key: l
).
The IDs of deleted members in this case are 75
and 139
(key: m
)
Given this information, the user can extrapolate that the group currently contains
G0010008.JPG, G0010009.JPG, G0010010.JPG,
...,
G0010074.JPG, G0010076.JPG,
...,
G0010138.JPG, G0010140.JPG,
...,
G0010394.JPG, G0010395.JPG. G0010396.JPG
id<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "1554375628411872255"
media list identifier |
||||||||||||||||||||
<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
Array of objects
|
||||||||||||||||||||
Array
|
curl --request GET \ --url http://10.5.5.9:8080/gopro/media/list
{
-
"id": "1554375628411872255",
-
"media": [
-
{
-
"d": "100GOPRO",
-
"fs": [
-
{
-
"cre": 1696600109,
-
"glrv": 817767,
-
"ls": -1,
-
"mod": 1696600109,
-
"n": "GOPR0001.JPG",
-
"raw": 1,
-
"s": 2806303
}
]
}
]
}
n<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "G0010011.MP4"
Media filename |
cre<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1696600109"
Creation time in seconds since epoch |
mod<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1696600109"
Time file was last modified in seconds since epoch |
g<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1"
Group Identifier |
s<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "5"
Number of files in the group |
b<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1"
ID of first member in the group |
l<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "6"
ID of last member in the group |
m<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
Array of integers
Example: "1,2"
File ID's that are missing or deleted |
t<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Enum: "b" "c" "n" "t" Group Type (b -> burst, c -> continuous shot, n -> night lapse, t -> time lapse) |
glrv |
integer
Example: "817767"
Low resolution video size |
id |
string
Media list session identifier |
ls |
integer
Example: "-1"
Low resolution file size. -1 if there is no LRV file |
{
-
"b": 1,
-
"cre": 1696600109,
-
"g": 1,
-
"glrv": 817767,
-
"id": "string",
-
"l": 6,
-
"ls": -1,
-
"m": [
-
1,
- 2
],
-
"mod": 1696600109,
-
"n": "G0010011.MP4",
-
"s": 5,
-
"t": "b"
}
id<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "1554375628411872255"
media list identifier |
||||||||||||||||||||
<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
Array of objects
|
||||||||||||||||||||
Array
|
{
-
"id": "1554375628411872255",
-
"media": [
-
{
-
"d": "100GOPRO",
-
"fs": [
-
{
-
"cre": 1696600109,
-
"glrv": 817767,
-
"ls": -1,
-
"mod": 1696600109,
-
"n": "GOPR0001.JPG",
-
"raw": 1,
-
"s": 2806303
}
]
}
]
}
ct<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 2 3 4 5 6 8 9 10 11 12 Media content type
|
||||||||||||||||||||||||||
cre<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1692992748"
Creation time in seconds since epoch |
||||||||||||||||||||||||||
s<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1234567890"
File size in bytes |
||||||||||||||||||||||||||
gumi<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "12345678998765443211234567899875"
Globally Unique Media ID |
||||||||||||||||||||||||||
h<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1080"
Height of media in pixels |
||||||||||||||||||||||||||
w<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1920"
Width of media in pixels |
||||||||||||||||||||||||||
hc<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 99 ]
Number of hilights in media |
||||||||||||||||||||||||||
eis<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if stabilized, 0 otherwise |
||||||||||||||||||||||||||
mp<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if metadata is present, 0 otherwise |
||||||||||||||||||||||||||
rot<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Deprecated |
||||||||||||||||||||||||||
tr<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if file is transcoded, 0 otherwise |
||||||||||||||||||||||||||
us<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 Has the file been uploaded? 0 if no, 1 if yes |
||||||||||||||||||||||||||
fov |
string
Field of View |
||||||||||||||||||||||||||
hdr |
integer
Enum: 0 1 1 if photo taken with high dynamic range, 0 otherwise |
||||||||||||||||||||||||||
lc |
integer
Enum: 0 1 Lens configuration ==> 0 for front, 1 for rear |
||||||||||||||||||||||||||
mos |
Array of strings
Items Enum: "app" "pc" "other"
Example: "app,pc"
List of offload states |
||||||||||||||||||||||||||
prjn |
integer
Enum: 0 1 2 3 4 5 6 7 8 Lens projection
|
||||||||||||||||||||||||||
raw |
integer
Enum: 0 1 1 if photo has raw version, 0 otherwise |
||||||||||||||||||||||||||
wdr |
integer
Enum: 0 1 1 if photo taken with wide dynamic range, 0 otherwise |
{
-
"cre": 1692992748,
-
"ct": 0,
-
"eis": 0,
-
"fov": "string",
-
"gumi": "12345678998765443211234567899875",
-
"h": 1080,
-
"hc": 99,
-
"hdr": 0,
-
"lc": 0,
-
"mos": [
-
"app",
- "pc"
],
-
"mp": 0,
-
"prjn": 0,
-
"raw": 0,
-
"rot": "string",
-
"s": 1234567890,
-
"tr": 0,
-
"us": 0,
-
"w": 1920,
-
"wdr": 0
}
icon |
integer (EnumPresetIcon)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 89 90 91 100 101 102 1000 1001
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
integer <int32>
Unique preset identifier |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isFixed |
boolean
Is this preset mutable? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isModified |
boolean
Has the preset been modified from the factory defaults? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mode |
integer (EnumFlatMode)
Enum: -1 4 5 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (PresetSetting)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
titleId |
integer (EnumPresetTitle)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 82 83 93 94 99 100 106
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
titleNumber |
integer <int32>
Preset title number |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
userDefined |
boolean
Is this preset user defined? |
{
-
"icon": 0,
-
"id": 0,
-
"isFixed": true,
-
"isModified": true,
-
"mode": -1,
-
"settingArray": [
-
{
-
"id": 0,
-
"isCaption": true,
-
"value": 0
}
],
-
"titleId": 0,
-
"titleNumber": 0,
-
"userDefined": true
}
canAddPreset |
boolean
Is there room in the group to add additional Presets? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icon |
integer (EnumPresetGroupIcon)
Enum: 0 1 2 3 4 5 6 7 8 9 10
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
integer (EnumPresetGroup)
Enum: 1000 1001 1002
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
modeArray |
Array of integers (EnumFlatMode)
Items Enum: -1 4 5 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Array of Flatmodes available for this preset group
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Preset)
Array of Presets contained in this Preset Group |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
{
-
"canAddPreset": true,
-
"icon": 0,
-
"id": 1000,
-
"modeArray": [
- -1
],
-
"presetArray": [
-
{
-
"icon": 0,
-
"id": 0,
-
"isFixed": true,
-
"isModified": true,
-
"mode": -1,
-
"settingArray": [
-
{
-
"id": 0,
-
"isCaption": true,
-
"value": 0
}
],
-
"titleId": 0,
-
"titleNumber": 0,
-
"userDefined": true
}
]
}
id |
integer <int32>
Setting identifier |
isCaption |
boolean
Does this setting appear on the Preset "pill" in the camera UI? |
value |
integer <int32>
Setting value |
{
-
"id": 0,
-
"isCaption": true,
-
"value": 0
}
display_name |
string
Human readable option name. |
id |
integer
Option identifier. |
[-
{
-
"display_name": "string",
-
"id": 0
}
]
n<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "GOPR0001.JPG"
Media filename |
cre<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1696600109"
Creation time in seconds since epoch |
mod<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1696600109"
Time file was last modified in seconds since epoch |
s<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "2806303"
Size of media in bytes |
glrv |
integer
Example: "817767"
Low resolution video size |
ls |
integer
Example: "-1"
Low resolution file size. -1 if there is no LRV file |
raw |
integer
Example: "1"
Is set to 1 if this is a raw file |
{
-
"cre": 1696600109,
-
"glrv": 817767,
-
"ls": -1,
-
"mod": 1696600109,
-
"n": "GOPR0001.JPG",
-
"raw": 1,
-
"s": 2806303
}
object
All currently known setting values indexed by setting ID |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object
All currently known status values indexed by status ID |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{
-
"settings": {
-
"2": 1,
-
"3": 0,
-
"5": 0,
-
"30": 11,
-
"32": 4,
-
"43": 0,
-
"59": 0,
-
"83": 0,
-
"108": 0,
-
"121": 0,
-
"122": 0,
-
"123": 19,
-
"125": 0,
-
"128": 13,
-
"134": 0,
-
"135": 0,
-
"150": 0,
-
"151": 0,
-
"162": 0,
-
"167": 2,
-
"171": 0,
-
"172": 0,
-
"173": 0,
-
"175": 0,
-
"176": 0,
-
"177": 0,
-
"178": 0,
-
"179": 1,
-
"180": 0,
-
"182": 0,
-
"183": 0,
-
"184": 0,
-
"186": 0,
-
"187": 0,
-
"189": 0,
-
"190": 0,
-
"191": 0,
-
"192": 0,
-
"193": 0,
-
"216": 70,
-
"219": 1,
-
"223": 0,
-
"227": 0,
-
"232": 0,
-
"233": 0,
-
"234": 0
},
-
"status": {
-
"1": 0,
-
"2": 0,
-
"6": 0,
-
"8": 0,
-
"9": 0,
-
"10": 0,
-
"11": 0,
-
"13": 0,
-
"17": 0,
-
"19": 0,
-
"20": 0,
-
"21": 0,
-
"22": 0,
-
"23": 0,
-
"24": 0,
-
"26": 0,
-
"27": 0,
-
"28": 0,
-
"29": "string",
-
"30": "string",
-
"31": 0,
-
"32": 0,
-
"33": -1,
-
"34": 0,
-
"35": 0,
-
"38": 0,
-
"39": 0,
-
"41": 0,
-
"42": 0,
-
"45": 0,
-
"49": 0,
-
"54": 0,
-
"55": 0,
-
"56": 0,
-
"58": 0,
-
"59": 0,
-
"60": 0,
-
"65": 0,
-
"66": 0,
-
"67": 0,
-
"68": 0,
-
"69": 0,
-
"70": 0,
-
"74": 0,
-
"75": 0,
-
"76": 0,
-
"77": 0,
-
"78": 0,
-
"79": 0,
-
"81": 0,
-
"82": 0,
-
"83": 0,
-
"85": 0,
-
"86": 0,
-
"88": 0,
-
"89": 0,
-
"93": 0,
-
"94": 0,
-
"95": 0,
-
"96": 0,
-
"97": 0,
-
"98": 0,
-
"99": 0,
-
"100": 0,
-
"101": 0,
-
"102": 0,
-
"103": 0,
-
"104": 0,
-
"105": 0,
-
"106": 0,
-
"107": 0,
-
"108": 0,
-
"110": 0,
-
"111": 0,
-
"112": 0,
-
"113": 0,
-
"114": 0,
-
"115": 0,
-
"116": 0,
-
"117": 0,
-
"118": 0
}
}
ct<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 2 3 4 5 6 8 9 10 11 12 Media content type
|
||||||||||||||||||||||||||
cre<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1692992748"
Creation time in seconds since epoch |
||||||||||||||||||||||||||
s<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1234567890"
File size in bytes |
||||||||||||||||||||||||||
gumi<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "12345678998765443211234567899875"
Globally Unique Media ID |
||||||||||||||||||||||||||
h<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1080"
Height of media in pixels |
||||||||||||||||||||||||||
w<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1920"
Width of media in pixels |
||||||||||||||||||||||||||
hc<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 99 ]
Number of hilights in media |
||||||||||||||||||||||||||
eis<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if stabilized, 0 otherwise |
||||||||||||||||||||||||||
mp<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if metadata is present, 0 otherwise |
||||||||||||||||||||||||||
rot<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Deprecated |
||||||||||||||||||||||||||
tr<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if file is transcoded, 0 otherwise |
||||||||||||||||||||||||||
us<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 Has the file been uploaded? 0 if no, 1 if yes |
||||||||||||||||||||||||||
ao<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Enum: "auto" "wind" "stereo" "off"
Example: "auto"
Audio option |
||||||||||||||||||||||||||
profile<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 255 ]
Advanced Video Codec Level |
||||||||||||||||||||||||||
avc_profile<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ 0 .. 255 ]
Example: "0"
Advanced Video Code Profile |
||||||||||||||||||||||||||
cl<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if clipped, 0 otherwise |
||||||||||||||||||||||||||
dur<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "42"
Video duration in seconds |
||||||||||||||||||||||||||
fps<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "1001"
Video frame rate numerator |
||||||||||||||||||||||||||
fps_denom<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Example: "30000"
Video frame rate denominator |
||||||||||||||||||||||||||
ls<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer [ -1 .. 1234567890 ]
Low Resolution Video file size in bytes. -1 if there is no LRV file |
||||||||||||||||||||||||||
pta<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if protune audio is present, 0 otherwise |
||||||||||||||||||||||||||
subsample<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 0 1 1 if subsampled from other video, 0 otherwise |
||||||||||||||||||||||||||
fov |
string
Field of View |
||||||||||||||||||||||||||
hi |
Array of integers
Example: "1500,4700"
List of hilights in ms offset from start of video |
||||||||||||||||||||||||||
lc |
integer
Enum: 0 1 Lens configuration ==> 0 for front, 1 for rear |
||||||||||||||||||||||||||
mos |
Array of strings
Items Enum: "app" "pc" "other"
Example: "app,pc"
List of offload states |
||||||||||||||||||||||||||
prjn |
integer
Enum: 0 1 2 3 4 5 6 7 8 Lens projection
|
||||||||||||||||||||||||||
progr |
integer
Enum: 0 1 Is video progressive? 1 if progressive, 0 if interlaced |
{
-
"ao": "auto",
-
"avc_profile": 0,
-
"cl": 0,
-
"cre": 1692992748,
-
"ct": 0,
-
"dur": 42,
-
"eis": 0,
-
"fov": "string",
-
"fps": 1001,
-
"fps_denom": 30000,
-
"gumi": "12345678998765443211234567899875",
-
"h": 1080,
-
"hc": 99,
-
"hi": [
-
1500,
- 4700
],
-
"lc": 0,
-
"ls": -1,
-
"mos": [
-
"app",
- "pc"
],
-
"mp": 0,
-
"prjn": 0,
-
"profile": 255,
-
"progr": 0,
-
"pta": 0,
-
"rot": "string",
-
"s": 1234567890,
-
"subsample": 0,
-
"tr": 0,
-
"us": 0,
-
"w": 1920
}
The Over The Air (OTA) update feature allows the user to update the camera's firmware via HTTP connection. There are two ways to perform OTA updates: Simple OTA Update and Resumable OTA Update.
Firmware update files can be obtained from GoPro's update page or programmatically using the firmware catalog.
In order to complete the firmware update process, the camera will reboot one or more times. This will cause any existing HTTP connections to be lost.
The simple OTA update process is done by sending an entire update file to the camera in a single HTTP/POST. Details can be found in the diagram below.
The resumable OTA update process involves uploading chunks (or all) of a file, marking the file complete and then telling the camera to begin the update process. Chunks are stored until they are explicitly deleted, allowing the client to stop and resume as needed. Details can be found in the diagram below.
Supported Protocols:
Perform Resumable OTA Update
To send a portion of the OTA image as per the requestBody specification, do not use the request
parameter.
request |
string
Enum: "delete" "showui" "start" "progress" "cancelled"
Example: request=progress
Optional request parameter to control / query OTA functionality.
|
OTA image chunk used when executed with no request
parameter
file |
string <binary>
Binary file |
offset |
integer
Offset (in bytes) into the file data to start reading from |
sha1 |
string
SHA of the complete firmware upload zip file |
bytes_complete |
integer
|
||||||||||||||||||||||||||||||||||||||||||
complete |
boolean
|
||||||||||||||||||||||||||||||||||||||||||
message |
string
|
||||||||||||||||||||||||||||||||||||||||||
sha1 |
string
|
||||||||||||||||||||||||||||||||||||||||||
status |
integer (OtaStatus)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 OTA Status
|
curl --request POST \ --url 'http://10.5.5.9:8080/gp/gpSoftUpdate?request=progress' \ --header 'content-type: multipart/form-data'
{
-
"bytes_complete": 0,
-
"complete": true,
-
"message": "string",
-
"sha1": "string",
-
"status": 0
}
Supported Protocols:
DirectToSD |
integer
Always set to 1 |
file |
string <binary>
Binary file |
sha1 |
string
SHA of the complete firmware upload zip file |
update |
integer
Always set to 1 |
status |
integer (OtaStatus)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 OTA Status
|
curl --request POST \ --url http://10.5.5.9:8080/gp/gpUpdate \ --header 'content-type: multipart/form-data'
{-
"status": 0
}
The camera organizes modes of operation into Presets.
Depending on the camera's state, different collections of presets will be available for immediate loading and use.
To find the currently available Presets, use Get Preset Status.
Presets are organized into Preset Groups.
To find the currently available Preset Groups, use Get Preset Status.
Supported Protocols:
Get the currently available Preset Groups and Presets, the set of which depends on the current camera settings.
Array of objects
A list of ranges of icon ID's available for custom presets. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects
A list of ranges of title ID's available for custom presets. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (PresetGroup)
Array of Preset Groups |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/presets/get
{
-
"customIconIds": [
-
{
-
"length": 10,
-
"start": 0
}
],
-
"customTitleIds": [
-
{
-
"length": 25,
-
"start": 18
}
],
-
"presetGroupArray": [
-
{
-
"canAddPreset": true,
-
"icon": 0,
-
"id": 1000,
-
"modeArray": [
- -1
],
-
"presetArray": [
-
{
-
"icon": 0,
-
"id": 0,
-
"isFixed": true,
-
"isModified": true,
-
"mode": -1,
-
"settingArray": [
-
{
-
"id": 0,
-
"isCaption": true,
-
"value": 0
}
],
-
"titleId": 0,
-
"titleNumber": 0,
-
"userDefined": true
}
]
}
]
}
Supported Protocols:
A preset can only be loaded if it is currently available where available preset IDs can be found from Get Preset Status
id<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Preset to load |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/presets/load?id=0'
{ }
Supported Protocols:
id<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
integer
Enum: 1000 1001 1002
Example: id=1000
Preset group to load
|
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/presets/set_group?id=1000'
{ }
Supported Protocols:
This only operates on the currently active Preset and will fail if the current Preset is not custom.
The use cases are:
Update the Custom Preset Icon
icon_id
is always optional and can always be passedand / or
Update the Custom Preset Title to a...
title_id
to a non-PRESET_TITLE_USER_DEFINED_CUSTOM_NAME
(94) valuetitle_id
to PRESET_TITLE_USER_DEFINED_CUSTOM_NAME
(94) and
specify a custom_name
custom_name | string UTF-8 encoded target custom preset name which obeys the following must be between 1 and 16 characters (inclusive) No special characters outside of the following languages: English, French, Italian, German, Spanish, Portuguese, Swedish, Russian | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
icon_id |
integer (EnumPresetIcon)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 89 90 91 100 101 102 1000 1001 Desired Icon ID The range of acceptable custom Icon ID's can be found in the Get Preset Status response
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
title_id |
integer (EnumPresetTitle)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 82 83 93 94 99 100 106 Desired Title ID The range of acceptable custom Title ID's can be found in the Get Preset Status response
|
{
-
"custom_name": "string",
-
"icon_id": 0,
-
"title_id": 0
}
{ }
When the preview stream is started, the camera starts up a UDP client and begins writing MPEG Transport Stream data to the client on port 8554. In order to stream this data, the client must implement a UDP connection that binds to the same port and decode the data.
Supported Protocols:
port | integer Example: port=8556Port to use for Preview Stream. Not supported on Hero 11 Black Mini Hero 11 Black Hero 10 Black Hero 9 Black |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/stream/start?port=8556'
{ }
Supported Protocols:
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/stream/stop
{ }
Supported Protocols:
Get all camera settings and statuses.
object
All currently known setting values indexed by setting ID |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object
All currently known status values indexed by status ID |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/state
{
-
"settings": {
-
"2": 1,
-
"3": 0,
-
"5": 0,
-
"30": 11,
-
"32": 4,
-
"43": 0,
-
"59": 0,
-
"83": 0,
-
"108": 0,
-
"121": 0,
-
"122": 0,
-
"123": 19,
-
"125": 0,
-
"128": 13,
-
"134": 0,
-
"135": 0,
-
"150": 0,
-
"151": 0,
-
"162": 0,
-
"167": 2,
-
"171": 0,
-
"172": 0,
-
"173": 0,
-
"175": 0,
-
"176": 0,
-
"177": 0,
-
"178": 0,
-
"179": 1,
-
"180": 0,
-
"182": 0,
-
"183": 0,
-
"184": 0,
-
"186": 0,
-
"187": 0,
-
"189": 0,
-
"190": 0,
-
"191": 0,
-
"192": 0,
-
"193": 0,
-
"216": 70,
-
"219": 1,
-
"223": 0,
-
"227": 0,
-
"232": 0,
-
"233": 0,
-
"234": 0
},
-
"status": {
-
"1": 0,
-
"2": 0,
-
"6": 0,
-
"8": 0,
-
"9": 0,
-
"10": 0,
-
"11": 0,
-
"13": 0,
-
"17": 0,
-
"19": 0,
-
"20": 0,
-
"21": 0,
-
"22": 0,
-
"23": 0,
-
"24": 0,
-
"26": 0,
-
"27": 0,
-
"28": 0,
-
"29": "string",
-
"30": "string",
-
"31": 0,
-
"32": 0,
-
"33": -1,
-
"34": 0,
-
"35": 0,
-
"38": 0,
-
"39": 0,
-
"41": 0,
-
"42": 0,
-
"45": 0,
-
"49": 0,
-
"54": 0,
-
"55": 0,
-
"56": 0,
-
"58": 0,
-
"59": 0,
-
"60": 0,
-
"65": 0,
-
"66": 0,
-
"67": 0,
-
"68": 0,
-
"69": 0,
-
"70": 0,
-
"74": 0,
-
"75": 0,
-
"76": 0,
-
"77": 0,
-
"78": 0,
-
"79": 0,
-
"81": 0,
-
"82": 0,
-
"83": 0,
-
"85": 0,
-
"86": 0,
-
"88": 0,
-
"89": 0,
-
"93": 0,
-
"94": 0,
-
"95": 0,
-
"96": 0,
-
"97": 0,
-
"98": 0,
-
"99": 0,
-
"100": 0,
-
"101": 0,
-
"102": 0,
-
"103": 0,
-
"104": 0,
-
"105": 0,
-
"106": 0,
-
"107": 0,
-
"108": 0,
-
"110": 0,
-
"111": 0,
-
"112": 0,
-
"113": 0,
-
"114": 0,
-
"115": 0,
-
"116": 0,
-
"117": 0,
-
"118": 0
}
}
Supported Protocols:
date<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "2023_12_31"
current date in format YYYY_MM_DD |
time<div class="sc-CNKsk sc-hGZxvd hPAOR feFoaC">required</div> |
string
Example: "11_05_45"
current time in format HH_MM_SS |
dst |
integer
Enum: 0 1 Is daylight savings time active? |
tzone |
integer
Example: "-480"
Timezone offset in minutes |
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/get_date_time
{
-
"date": "2023_12_31",
-
"dst": 0,
-
"time": "11_05_45",
-
"tzone": -480
}
Supported Protocols:
ap_mac_addr |
string
Example: "065747046ceb"
Camera's Access Point MAC address |
ap_ssid |
string
Example: "GP24645504"
Camera's ACcess Point SSID name |
firmware_version |
string <version>
Example: "H23.01.01.10.00"
Camera Firmware version |
model_name |
string
Example: "Hero12 Black"
Camera Model Name |
model_number |
string
Example: "62"
Camera Model integer (as string) |
serial_number |
string
Example: "C3501324645504"
Camera serial number |
curl --request GET \ --url http://10.5.5.9:8080/gopro/camera/info
{
-
"ap_mac_addr": "065747046ceb",
-
"ap_ssid": "GP24645504",
-
"firmware_version": "H23.01.01.10.00",
-
"model_name": "Hero12 Black",
-
"model_number": "62",
-
"serial_number": "C3501324645504"
}
Supported Protocols:
This will return the complete path of the last captured media. Depending on the type of media captured, it will return:
file |
string
Example: "GOPR0002.JPG"
Filename of media |
folder |
string
Example: "100GOPRO"
Directory in which the media is contained in |
curl --request GET \ --url http://10.5.5.9:8080/gopro/media/last_captured
{
-
"file": "GOPR0002.JPG",
-
"folder": "100GOPRO"
}
Supported Protocols:
version |
string <version>
Example: "2.0"
Open GoPro version |
curl --request GET \ --url http://10.5.5.9:8080/gopro/version
{-
"version": "2.0"
}
GoPro cameras have hundreds of setting options to choose from. Since these options have a complex tree of dependencies on camera state, current Preset, etc, there is no mechanism to set a desired setting option from any camera state.
To find the currently available options for a given setting, attempt to set it to an invalid option using its relevant operation below and view the currently available options returned in the 403 error response.
option |
integer
Enum: 0 1 2 3
Example: option=2
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=2&setting=134'
{-
"option": 0
}
option |
integer
Enum: 0 1 4 6 7 11 12
Example: option=1
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=1&setting=59'
{-
"option": 0
}
option |
integer
Enum: 0 2 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=183'
{-
"option": 0
}
option |
integer
Enum: 70 85 100
Example: option=100
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=100&setting=216'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=175'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 152 153 154 155 156 157 158 159
Example: option=103
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=103&setting=176'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=191'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=177'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 5 6 8 9 10 13 15 16 17
Example: option=15
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=15&setting=234'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 5 6 8 9 10 13 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=3'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 100 101 103 104 106 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=193'
{-
"option": 0
}
option |
integer
Enum: 0 1
Example: option=1
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=1&setting=83'
{-
"option": 0
}
option |
integer
Enum: 2 3 4
Example: option=2
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=2&setting=167'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 100
Example: option=4
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=4&setting=135'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 5 6 7 8 9 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=187'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=162'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 6 7 8 9 10 100 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=189'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=190'
{-
"option": 0
}
option |
integer
Enum: 13 20 21 26
Example: option=13
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=13&setting=128'
{-
"option": 0
}
option |
integer
Enum: 0 1 3 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=192'
{-
"option": 0
}
option |
integer
Enum: 0 1 3 4 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=233'
{-
"option": 0
}
How frequently to take a video or photo when performing a Nightlapse.
This controls the Video or Photo Nightlapse rate if Setting 128 is set to 21 or 26 respectively.
option |
integer
Enum: 4 5 10 15 20 30 100 120 300 1800 3600 3601
Example: option=3600
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=3600&setting=32'
{-
"option": 0
}
option |
integer
Enum: 0 2 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=151'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 5 6 7 8 9 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=172'
{-
"option": 0
}
option |
integer
Enum: 0 10 19 27 28 31 32 41 100 101 102
Example: option=100
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=100&setting=122'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=227'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3
Example: option=3
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=3&setting=125'
{-
"option": 0
}
option |
integer
Enum: 0 2 3 4 5 6 7 8 9 10 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=171'
{-
"option": 0
}
How frequently to take a photo when performing a Photo Timelapse.
option |
integer
Enum: 11 100 101 102 103 104 105 106 107 108 109 110
Example: option=100
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=100&setting=30'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 101 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=184'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Example: option=8
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=8&setting=223'
{-
"option": 0
}
option |
integer
Enum: 1 2 3 4
Example: option=1
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=1&setting=219'
{-
"option": 0
}
option |
integer
Enum: 1 2 3
Example: option=3
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=3&setting=179'
{-
"option": 0
}
option |
integer
Enum: 0 101 102 111 112
Example: option=112
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=112&setting=180'
{-
"option": 0
}
option |
integer
Enum: 19 31 32 100 101 102
Example: option=101
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=101&setting=123'
{-
"option": 0
}
option |
integer
Enum: 0 1 3 4 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=108'
{-
"option": 0
}
option |
integer
Enum: 0 1
Example: option=1
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=1&setting=182'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 3 4 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=186'
{-
"option": 0
}
option |
integer
Enum: 0 1 3 4 6 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=232'
{-
"option": 0
}
option |
integer
Enum: 0 2 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=150'
{-
"option": 0
}
option |
integer
Enum: 0 2 3 4 7 8 9 10 11 12 13 104
Example: option=10
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=10&setting=121'
{-
"option": 0
}
option |
integer
Enum: 0 1 2 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=173'
{-
"option": 0
}
option |
integer
Enum: 1 4 6 7 9 12 18 24 25 26 27 28 37 38 100 107 108 109 110 111
Example: option=100
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=100&setting=2'
{-
"option": 0
}
How frequently to take a video when performing a Video Timelapse
option |
integer
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
Example: option=10
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=10&setting=5'
{-
"option": 0
}
option |
integer
Enum: 0 2 3 4
Example: option=3
Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=3&setting=43'
{-
"option": 0
}
option |
integer
Enum: 0 1 Set the setting to a desired option. If this parameter is not used, instead the current setting's option will be queried.
|
option |
integer
The current setting's option. |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/camera/setting?option=0&setting=178'
{-
"option": 0
}
The webcam feature enables developers who are interested in writing custom drivers to broadcast the camera's video preview with a limited set of resolution, field of view, port, and protocol options.
While active, the webcam feature sends raw data to the connected client using a supported protocol. To enable multi-cam support, some cameras support running on a user-specified port. Protocol and port details are provided in a table below.
To test basic functionality, start the webcam, and use an application such as VLC to open a network stream:
Protocol | Port |
---|---|
TS | udp://@:{PORT} |
RTSP | rtsp://{CAMERA_IP}:554/live |
For readers interested in using a GoPro camera as a webcam with preexisting tools, please see How to use GoPro as a Webcam.
For USB connections, prior to issuing webcam commands, Wired USB Control should be disabled.
Should the client require stabilization, the
Hypersmooth setting
can be used while in the state: READY (Status: OFF)
. This setting can only be set while webcam is disabled, which
requires either sending the Webcam Exit command or reseating the USB-C connection to the camera.
Note! The Low Hypersmooth option provides lower/lighter stabilization when used in Webcam mode vs other camera modes.
Supported Protocols:
Not supported on WiFi for:
curl --request GET \ --url http://10.5.5.9:8080/gopro/webcam/preview
{ }
Supported Protocols:
Not supported on WiFi for:
curl --request GET \ --url http://10.5.5.9:8080/gopro/webcam/exit
{ }
Supported Protocols:
error |
integer
Enum: 0 1 2 3 4 5 6 7 8 Current webcam error (if status was not successful)
|
||||||||||||||||||||
status |
integer
Enum: 0 1 2 3 Current webcam status
|
curl --request GET \ --url http://10.5.5.9:8080/gopro/webcam/status
{
-
"error": 0,
-
"status": 0
}
Supported Protocols:
max_lens_support |
boolean
Does the webcam support Max Lens Mod? |
usb_3_1_compatible |
boolean
Is the webcam USB 3.1 compatible? |
version |
integer
Current webcam version |
curl --request GET \ --url http://10.5.5.9:8080/gopro/webcam/version
{
-
"max_lens_support": true,
-
"usb_3_1_compatible": true,
-
"version": 0
}
Supported Protocols:
Not supported on WiFi for:
res |
integer
Example: res=12
Webcam Resolution
|
|||||||||||||||
fov |
integer
Webcam Field-of-View
|
|||||||||||||||
port | integer Default: 8554 Example: port=8556Port to use for Webcam Stream. Defaults to 8554 if not set Not supported on Hero 11 Black Mini Hero 10 Black Hero 9 Black | |||||||||||||||
protocol | string Enum: “RTSP” “TS” Example: protocol=RTSPStreaming protocol to use. Not supported on Hero 11 Black Mini Hero 11 Black Hero 10 Black Hero 9 Black |
curl --request GET \ --url 'http://10.5.5.9:8080/gopro/webcam/start?res=12&fov=0&port=8556&protocol=RTSP'
{ }
Supported Protocols:
Not supported on WiFi for:
curl --request GET \ --url http://10.5.5.9:8080/gopro/webcam/stop
{ }