GRPC
Services
LayerService
Layers
LayoutService
Layouts
Messages
BatchDeleteLayerRequest
Field | Type | Label | Description |
---|
id | string | | ID of the layer deleted. |
request_metadata | google.protobuf.Value | optional | Metadata associated with the deletion of a layer |
BatchLayerRequest
Batch request to modify a layout.
BatchLayerRequest.BatchItem
A batch action.
BatchLayerResponse
A batch update for layers within a layout, indicating creation, removal and updates to layers.
BatchLayerResponse.BatchLayerItem
Thee result of interacting with that layer.
CreateLayerRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
layer | PartialLayer | | layer to create - all fields have defaults except type. |
CreateLayoutRequest
DeleteLayerPayload
Field | Type | Label | Description |
---|
request_metadata | google.protobuf.Value | optional | Metadata associated with the deletion of a layer |
DeleteLayerRequest
Request to delete a specific layer.
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
layer_id | string | | the id of the Layer |
payload | DeleteLayerPayload | optional | Metadata associated with the deletion of a layer |
DeleteLayerResponse
Field | Type | Label | Description |
---|
id | string | | The layer id that was deleted |
layout_id | string | | The layout this layer belongs to. |
request_metadata | google.protobuf.Value | optional | Optional request metadata sent with the delete request |
DeleteLayoutPayload
Field | Type | Label | Description |
---|
request_metadata | google.protobuf.Value | optional | Metadata associated with the deletion of the layout |
DeleteLayoutRequest
Request to delete a specific layout.
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
payload | DeleteLayoutPayload | optional | Metadata associated with the deletion of a layout |
DeleteLayoutResponse
Field | Type | Label | Description |
---|
id | string | | The ID of the layout deleted |
request_metadata | google.protobuf.Value | optional | Metadata associated with the deletion of a layout |
Event
Event structure for an event sent from the layout
api via the event api
GetLayerRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
layer_id | string | | the id of the Layer |
GetLayoutRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
Layer
The Layer represents a single item within a layout.
Field | Type | Label | Description |
---|
type | string | | the type of layer we're interacting with: e.g alert, banner |
data | google.protobuf.Struct | | Custom value for the layer. This is freeform. |
x | google.protobuf.Value | | x position in pixels. This can be null if the layer has no absolute position. |
y | google.protobuf.Value | | y position in pixels. Can be null if the layer has no absolute position. |
width | google.protobuf.Value | | width in pixels of the layer. can be null if the layer is dynamically sizable. |
height | google.protobuf.Value | | height in pixels of the layer. can be null if the layer is dynamically sizable. |
rotation | double | | rotation of layer in degrees of the layer. |
opacity | double | | opacity of the layer. This is the same as the CSS value, 0 being transparent and 1 being opaque. |
scale | double | | Scale of the layer. This is expontential, with 1 equaling the normal size of the layer. note: width/height will be affected. |
hidden | bool | | whether the layer should be rendered. |
children | google.protobuf.ListValue | | children of the layer. |
metadata | google.protobuf.Value | | Custom metadata for the layer. This is freeform. |
id | string | | id of the layer |
layout_id | string | | the layout this layer is associated with. |
request_metadata | google.protobuf.Value | optional | Metadata sent with the request |
request_animation | LayerAnimation | repeated | Animation information for the layer which should be applied on update. |
LayerAnimation
Represents how we should apply the action, transitioning from the current state to the new state.
If multiple LayerAnimation's are defined, the final LayerAnimation will be used that has a matching property!
note: this is currently only supported where layout type is "scene".
Field | Type | Label | Description |
---|
properties | string | repeated | The properties to animate on. Currently x, y, width, height, opacity and scale are supported. "*" can be used to target all properties. |
duration_ms | int32 | | The duration to transition over in milliseconds |
delay_ms | int32 | optional | A delay to offset the animation by. |
easing_mode | string | optional | The easing mode for the transition. This value can be anything supported as an easing function: https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function |
LayerEvent
Layout
A Layout represents a container for multiple layers.
Field | Type | Label | Description |
---|
id | string | | internal ID for the layout |
width | int32 | | width of the layout in pixels |
height | int32 | | height of the layout in pixels |
metadata | google.protobuf.Value | optional | Custom metadata for the layout. This is freeform. |
project_id | string | optional | |
collection_id | string | optional | |
type | LayoutType | optional | |
transitions | Transition | repeated | Transitions to apply when switching to this scene from another note: this is only available for layouts of type LAYOUT_TYPE_SCENE . |
request_metadata | google.protobuf.Value | optional | Metadata sent with the request |
LayoutEvent
ListLayersRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
ListLayersResponse
Field | Type | Label | Description |
---|
layers | Layer | repeated | list of all layers |
ListLayoutsRequest
Filter options for listing layouts. Each request
parameter will filter the response down (AND)
ListLayoutsResponse
Field | Type | Label | Description |
---|
layouts | Layout | repeated | All layouts returned. |
PartialLayer
Partial Layer for creating and updating.
Field | Type | Label | Description |
---|
type | string | optional | the type of layer we're interacting with: e.g alert, banner |
data | google.protobuf.Struct | optional | Custom value for the layer. This is freeform. |
x | google.protobuf.Value | | x position in pixels. This can be null if the layer has no absolute position. |
y | google.protobuf.Value | | y position in pixels. Can be null if the layer has no absolute position. |
width | google.protobuf.Value | | width in pixels of the layer. can be null if the layer is dynamically sizable. |
height | google.protobuf.Value | | height in pixels of the layer. can be null if the layer is dynamically sizable. |
rotation | double | optional | rotation of layer in degrees of the layer. |
opacity | double | optional | opacity of the layer. This is the same as the CSS value, 0 being transparent and 1 being opaque. |
scale | double | optional | Scale of the layer. This is expontential, with 1 equaling the normal size of the layer. note: width/height will be affected. |
hidden | bool | optional | whether the layer should be rendered. |
children | google.protobuf.ListValue | optional | children of the layer. |
parent_id | string | optional | parent layer to asssign to. |
metadata | google.protobuf.Value | | |
request_metadata | google.protobuf.Value | optional | Metadata sent with the request |
request_animation | LayerAnimation | repeated | Animation information for the layer. |
PartialLayerWithID
Partial Layer for updating.
Field | Type | Label | Description |
---|
id | string | | ID of the layer. |
type | string | optional | the type of layer we're interacting with: e.g alert, banner |
data | google.protobuf.Struct | optional | Custom value for the layer. This is freeform. |
x | google.protobuf.Value | | x position in pixels. This can be null if the layer has no absolute position. |
y | google.protobuf.Value | | y position in pixels. Can be null if the layer has no absolute position. |
width | google.protobuf.Value | | width in pixels of the layer. can be null if the layer is dynamically sizable. |
height | google.protobuf.Value | | height in pixels of the layer. can be null if the layer is dynamically sizable. |
rotation | double | optional | rotation of layer in degrees of the layer. |
opacity | double | optional | opacity of the layer. This is the same as the CSS value, 0 being transparent and 1 being opaque. |
scale | double | optional | Scale of the layer. This is expontential, with 1 equaling the normal size of the layer. note: width/height will be affected. |
hidden | bool | optional | whether the layer should be rendered. |
children | google.protobuf.ListValue | optional | children of the layer. |
parent_id | string | optional | parent layer to asssign to. |
metadata | google.protobuf.Value | | |
request_metadata | google.protobuf.Value | optional | Metadata sent with the request |
request_animation | LayerAnimation | repeated | Animation information for the layer. |
PartialLayout
Partial layout
Field | Type | Label | Description |
---|
width | int32 | optional | width of the layer in pixels |
height | int32 | optional | height of the layer in pixels |
metadata | google.protobuf.Value | optional | Metadata associated with a layout. This is freeform JSON. |
project_id | string | optional | Project ID from the Live API for the layout note: this cannot be changed for existing layouts. |
collection_id | string | optional | Collection ID from the Live API for the layout note: this cannot be changed once set. |
type | LayoutType | optional | The type of layout to use. Typically you should use LAYOUT_TYPE_SCENE to manage layouts via the API. This automatically creates a "root" layer for all layers to be under. LAYOUT_TYPE_SCENELESS is used for layouts managed by the Studio SDK. |
transitions | Transition | repeated | Transitions to apply when switching to this scene from another note: this is only available for layouts of type LAYOUT_TYPE_SCENE . |
request_metadata | google.protobuf.Value | optional | Metadata associated with the publishing of the event |
Transition
Transition defines a transition into this layout.
Transition.TransitionCrossfade
Transition: crossfade between two layouts.
Field | Type | Label | Description |
---|
duration_ms | int32 | | The duration to animate over. |
Transition.TransitionCut
Transition: a simple scene switch. this is the default transition.
Transition.TransitionFadeToColor
Transition: Fade to a color before transitioning to another layout.
Field | Type | Label | Description |
---|
duration_ms | int32 | | The duration to animate over. The fade to color will take half this duration. |
background_color | string | | A CSS-compatible background color. |
Media definition
Field | Type | Label | Description |
---|
url | string | | External URL to the media content. |
volume | double | | Volume to play the media at between 0 and 1. |
Transition.TransitionStinger
Transition: stinger animation.
Transition.TransitionStingerCut
Stinger where the layout is cut over at a specific point.
Field | Type | Label | Description |
---|
cut_point_ms | int32 | | The duration from the start of the media playing at which the layout should change. this should be a point where the entire screen is filled. |
media | Transition.TransitionMediaType | | The remote media to play as the stinger. |
Transition.TransitionSwipe
Transition: Animation where layouts are slide over another.
UpdateLayerRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
layer_id | string | | the id of the Layer |
layer | PartialLayer | | layer data to update with. |
UpdateLayoutRequest
Field | Type | Label | Description |
---|
layout_id | string | | the id of the Layout |
layout | PartialLayout | | layout data to update with. |
Enums
EventSubType
Name | Number | Description |
---|
EVENT_SUB_TYPE_UNSPECIFIED | 0 | |
EVENT_SUB_TYPE_CREATE | 1 | |
EVENT_SUB_TYPE_UPDATE | 2 | |
EVENT_SUB_TYPE_DELETE | 3 | |
EVENT_SUB_TYPE_BATCH | 4 | |
EventType
Name | Number | Description |
---|
EVENT_TYPE_UNSPECIFIED | 0 | |
EVENT_TYPE_LAYOUT | 1 | |
EVENT_TYPE_LAYER | 2 | |
LayoutType
The type of layout, specifying how it functions.
Name | Number | Description |
---|
LAYOUT_TYPE_UNSPECIFIED | 0 | |
LAYOUT_TYPE_SCENELESS | 1 | A layout managed by Studio Kit |
LAYOUT_TYPE_SCENE | 2 | A layout managed via the layout API for use with our scene-based renderer. |
RequestAnimationMode
Define how to apply animations in a batch request.
Name | Number | Description |
---|
REQUEST_ANIMATION_MODE_UNSPECIFIED | 0 | |
REQUEST_ANIMATION_MODE_PARALLEL | 1 | All animations in the batch will be applied at once. |
REQUEST_ANIMATION_MODE_SERIES | 2 | Each layer update will appy after all animations on the previous layer(s) have completed. |
Transition.TransitionDirection
Direction for the animation to display in.
Name | Number | Description |
---|
TRANSITION_DIRECTION_UNSPECIFIED | 0 | |
TRANSITION_DIRECTION_LEFT | 1 | |
TRANSITION_DIRECTION_RIGHT | 2 | |
TRANSITION_DIRECTION_UP | 3 | |
TRANSITION_DIRECTION_DOWN | 4 | |
Transition.TransitionSwipeType
Name | Number | Description |
---|
TRANSITION_SWIPE_TYPE_UNSPECIFIED | 0 | Both layouts are animated together |
TRANSITION_SWIPE_TYPE_COMBINED | 1 | Both layouts are animated together |
TRANSITION_SWIPE_TYPE_SOURCE | 2 | The source animation is moved out of the way |
TRANSITION_SWIPE_TYPE_DESTINATION | 3 | The destination layout is overlaid |
Scalar Value Types (Reference)
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
---|
double | | double | double | float | float64 | double | float | Float |
float | | float | float | float | float32 | float | float | Float |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |