Design settings
With Designs
the visual customization can be configured within the Streamdiver API.
There are two essential types of Designs
that can be customized: ChannelDesign
and PlayerDesign
.
Both ChannelDesign
and PlayerDesign
can be applied per Channel
to customize the video player appearance.
As a more specialized application also the transcript export as a DOCX
file
can be adapted with a DocxExportDesign
.
Each type has a Tenant
-level main Design
, that is by default applied to
e.g. new Channels
when they created or to each video player instance.
The main Design
settings can be modified using the Tenant
API for properties updates or resources updates.
In the event of style change, e.g. an adjustment of the headerColor
, the change will be applied in all Channels
that don't have a custom Design
assigned.
The main design can be recognized by boolean property isMain = true
.
Using the Design
API new design templates can be created. They are meant to be reused across multiple Channels
.
To apply customizations to individual Channels
it is recommended to create new Designs
from templates using Create design settings from template. This effectively creates custom Design
settings.
The reuse of custom Designs
across multiple Channels
is possible, yet not recommended. Keeping them assigned to only one Channel
ensures any changes applied will affect only that Channel
. If the Design
is to be shared it is better to use a template, whose updates should be done with more caution, keeping in mind that it may be used in multiple places.
The template design can be recognized by boolean property isTemplate = true
.
Resources
Design properties with file-based nature are called resources. There are designated endpoints to add or remove them from a particular Design
. Follow the API Reference endpoint description for valid resource MIME types.
Filtering
The type
property always indicates the Design
type and can be used for filtering.
curl --request GET {{baseUrl}}/designs?filter=type=Channel \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJh...20yA'
Assign a design to channel
As mentioned above, when created, Channels
inherit the main Design
settings from the Tenant
. In order to customize a Channel
's style:
- Create design template for channel or player
- Optionally create custom design from template and further customize it, for the specific
Channel
- Assign
Design
toChannel
The type
of passed Design
will automatically be resolved and further used in the Channel
accordingly.
Note on the design response model
Since Design
settings have different types, the API reference presents all of them, but in the actual response body only the requested one will not be null
. For instance Retrived design settings for type ChannelDesign
would look as follows:
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Template 1",
"type": "Channel",
"isTemplate": true,
"channelDesign": {
"mainColor": "#1f57a6",
"pageBackgroundColor": "#1f57a6",
"headerColor": "#1f57a6",
"footerColor": "#1f57a6",
"boxColor": "#1f57a6",
"headerFontColor": "#1f57a6",
"footerFontColor": "#1f57a6",
"boxFontColor": "#1f57a6",
"headerfontUrl": "string",
"bodyfontUrl": "string",
"mainImageUrl": "string",
"logoUrl": "string",
"faviconUrl": "string",
"facebookShareImageUrl": "string",
"twitterShareImageUrl": "string",
"customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}