Update Player Skin
curl -X POST "https://api.5centscdn.com/v2/players/5centscdn/skins/example_string" \
-H "X-API-Key: YOUR_API_KEY" \
--form name=My Updated Skin \
--form meta[showskinoninit]=1 \
--form meta[showpip]=1 \
--form meta[autoplay]=1 \
--form meta[muted]=0 \
--form meta[showcv]=0 \
--form base=2 \
--form meta[primaryColor]=#1a73e8 \
--form meta[secondaryColor]=#ffffff \
--form meta[logo][file]=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg== \
--form meta[logo][url]=https://example.com \
--form meta[logo][position]=top-right \
--form meta[logo][width]=32 \
--form meta[logo][height]=32 \
--form meta[logo][offsetH]=10 \
--form meta[logo][offsetV]=10 \
--form meta[logo][padding]=5 \
--form meta[logo][opacity]=0.9 \
--form meta[logo][fadeDelay]=5000 \
--form meta[logo][hideOnReady]=0 \
--form meta[poster]=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg== \
--form meta[endAction]= \
--form meta[videoInfo]=0 \
--form meta[zoomMenu]=0 \
--form meta[rewindforwardButton]=0 \
--form meta[contextMenu]=0 \
--form meta[offline][offlineImage]= \
--form meta[offline][offlineTimeout]=00:00:00 \
--form meta[offline][offlineCountdown]=0 \
--form meta[offline][label]= \
--form meta[vastAd]=0 \
--form meta[imaAd]=0 \
--form meta[imaAdOption][adTagUrl]= \
--form meta[vastAdOption][tagURL][]= \
--form meta[relatedVideos][:id][url]=https://cdn.example.com/videos/sample-video.mp4 \
--form meta[relatedVideos][:id][title]=Sample Related Video \
--form meta[relatedVideos][:id][duration]=120 \
--form meta[relatedVideos][:id][thumb]=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
import requests
import json
url = "https://api.5centscdn.com/v2/players/5centscdn/skins/example_string"
headers = {
"X-API-Key": "YOUR_API_KEY"
}
data = {
"name": "My Updated Skin",
"meta[showskinoninit]": "1",
"meta[showpip]": "1",
"meta[autoplay]": "1",
"meta[muted]": "0",
"meta[showcv]": "0",
"base": "2",
"meta[primaryColor]": "#1a73e8",
"meta[secondaryColor]": "#ffffff",
"meta[logo][file]": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"meta[logo][url]": "https://example.com",
"meta[logo][position]": "top-right",
"meta[logo][width]": "32",
"meta[logo][height]": "32",
"meta[logo][offsetH]": "10",
"meta[logo][offsetV]": "10",
"meta[logo][padding]": "5",
"meta[logo][opacity]": "0.9",
"meta[logo][fadeDelay]": "5000",
"meta[logo][hideOnReady]": "0",
"meta[poster]": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"meta[endAction]": "",
"meta[videoInfo]": "0",
"meta[zoomMenu]": "0",
"meta[rewindforwardButton]": "0",
"meta[contextMenu]": "0",
"meta[offline][offlineImage]": "",
"meta[offline][offlineTimeout]": "00:00:00",
"meta[offline][offlineCountdown]": "0",
"meta[offline][label]": "",
"meta[vastAd]": "0",
"meta[imaAd]": "0",
"meta[imaAdOption][adTagUrl]": "",
"meta[vastAdOption][tagURL][]": "",
"meta[relatedVideos][:id][url]": "https://cdn.example.com/videos/sample-video.mp4",
"meta[relatedVideos][:id][title]": "Sample Related Video",
"meta[relatedVideos][:id][duration]": "120",
"meta[relatedVideos][:id][thumb]": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
}
response = requests.post(url, headers=headers, data=data)
print(response.json())
const formData = new FormData();
formData.append("name", "My Updated Skin");
formData.append("meta[showskinoninit]", "1");
formData.append("meta[showpip]", "1");
formData.append("meta[autoplay]", "1");
formData.append("meta[muted]", "0");
formData.append("meta[showcv]", "0");
formData.append("base", "2");
formData.append("meta[primaryColor]", "#1a73e8");
formData.append("meta[secondaryColor]", "#ffffff");
formData.append("meta[logo][file]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
formData.append("meta[logo][url]", "https://example.com");
formData.append("meta[logo][position]", "top-right");
formData.append("meta[logo][width]", "32");
formData.append("meta[logo][height]", "32");
formData.append("meta[logo][offsetH]", "10");
formData.append("meta[logo][offsetV]", "10");
formData.append("meta[logo][padding]", "5");
formData.append("meta[logo][opacity]", "0.9");
formData.append("meta[logo][fadeDelay]", "5000");
formData.append("meta[logo][hideOnReady]", "0");
formData.append("meta[poster]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
formData.append("meta[endAction]", "");
formData.append("meta[videoInfo]", "0");
formData.append("meta[zoomMenu]", "0");
formData.append("meta[rewindforwardButton]", "0");
formData.append("meta[contextMenu]", "0");
formData.append("meta[offline][offlineImage]", "");
formData.append("meta[offline][offlineTimeout]", "00:00:00");
formData.append("meta[offline][offlineCountdown]", "0");
formData.append("meta[offline][label]", "");
formData.append("meta[vastAd]", "0");
formData.append("meta[imaAd]", "0");
formData.append("meta[imaAdOption][adTagUrl]", "");
formData.append("meta[vastAdOption][tagURL][]", "");
formData.append("meta[relatedVideos][:id][url]", "https://cdn.example.com/videos/sample-video.mp4");
formData.append("meta[relatedVideos][:id][title]", "Sample Related Video");
formData.append("meta[relatedVideos][:id][duration]", "120");
formData.append("meta[relatedVideos][:id][thumb]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
const response = await fetch("https://api.5centscdn.com/v2/players/5centscdn/skins/example_string", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY"
},
body: formData
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"mime/multipart"
)
func main() {
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
writer.WriteField("name", "My Updated Skin")
writer.WriteField("meta[showskinoninit]", "1")
writer.WriteField("meta[showpip]", "1")
writer.WriteField("meta[autoplay]", "1")
writer.WriteField("meta[muted]", "0")
writer.WriteField("meta[showcv]", "0")
writer.WriteField("base", "2")
writer.WriteField("meta[primaryColor]", "#1a73e8")
writer.WriteField("meta[secondaryColor]", "#ffffff")
writer.WriteField("meta[logo][file]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==")
writer.WriteField("meta[logo][url]", "https://example.com")
writer.WriteField("meta[logo][position]", "top-right")
writer.WriteField("meta[logo][width]", "32")
writer.WriteField("meta[logo][height]", "32")
writer.WriteField("meta[logo][offsetH]", "10")
writer.WriteField("meta[logo][offsetV]", "10")
writer.WriteField("meta[logo][padding]", "5")
writer.WriteField("meta[logo][opacity]", "0.9")
writer.WriteField("meta[logo][fadeDelay]", "5000")
writer.WriteField("meta[logo][hideOnReady]", "0")
writer.WriteField("meta[poster]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==")
writer.WriteField("meta[endAction]", "")
writer.WriteField("meta[videoInfo]", "0")
writer.WriteField("meta[zoomMenu]", "0")
writer.WriteField("meta[rewindforwardButton]", "0")
writer.WriteField("meta[contextMenu]", "0")
writer.WriteField("meta[offline][offlineImage]", "")
writer.WriteField("meta[offline][offlineTimeout]", "00:00:00")
writer.WriteField("meta[offline][offlineCountdown]", "0")
writer.WriteField("meta[offline][label]", "")
writer.WriteField("meta[vastAd]", "0")
writer.WriteField("meta[imaAd]", "0")
writer.WriteField("meta[imaAdOption][adTagUrl]", "")
writer.WriteField("meta[vastAdOption][tagURL][]", "")
writer.WriteField("meta[relatedVideos][:id][url]", "https://cdn.example.com/videos/sample-video.mp4")
writer.WriteField("meta[relatedVideos][:id][title]", "Sample Related Video")
writer.WriteField("meta[relatedVideos][:id][duration]", "120")
writer.WriteField("meta[relatedVideos][:id][thumb]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==")
writer.Close()
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/players/5centscdn/skins/example_string", body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", writer.FormDataContentType())
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.5centscdn.com/v2/players/5centscdn/skins/example_string')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
request.set_form([
["name", "My Updated Skin"],
["meta[showskinoninit]", "1"],
["meta[showpip]", "1"],
["meta[autoplay]", "1"],
["meta[muted]", "0"],
["meta[showcv]", "0"],
["base", "2"],
["meta[primaryColor]", "#1a73e8"],
["meta[secondaryColor]", "#ffffff"],
["meta[logo][file]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="],
["meta[logo][url]", "https://example.com"],
["meta[logo][position]", "top-right"],
["meta[logo][width]", "32"],
["meta[logo][height]", "32"],
["meta[logo][offsetH]", "10"],
["meta[logo][offsetV]", "10"],
["meta[logo][padding]", "5"],
["meta[logo][opacity]", "0.9"],
["meta[logo][fadeDelay]", "5000"],
["meta[logo][hideOnReady]", "0"],
["meta[poster]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="],
["meta[endAction]", ""],
["meta[videoInfo]", "0"],
["meta[zoomMenu]", "0"],
["meta[rewindforwardButton]", "0"],
["meta[contextMenu]", "0"],
["meta[offline][offlineImage]", ""],
["meta[offline][offlineTimeout]", "00:00:00"],
["meta[offline][offlineCountdown]", "0"],
["meta[offline][label]", ""],
["meta[vastAd]", "0"],
["meta[imaAd]", "0"],
["meta[imaAdOption][adTagUrl]", ""],
["meta[vastAdOption][tagURL][]", ""],
["meta[relatedVideos][:id][url]", "https://cdn.example.com/videos/sample-video.mp4"],
["meta[relatedVideos][:id][title]", "Sample Related Video"],
["meta[relatedVideos][:id][duration]", "120"],
["meta[relatedVideos][:id][thumb]", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="]
], 'multipart/form-data')
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Settings Updated."
}
/players/5centscdn/skins/{skinid}Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
Updated display name for the player skin.
Show skin controls when the player initialises. '1'=yes, '0'=no
Show Picture-in-Picture button. 1=yes, 0=no
Automatically start playback on load. 1=enabled, 0=disabled
Start playback muted. 1=muted, 0=unmuted
Show concurrent viewers count overlay. 1=yes, 0=no
Base skin template to use. Valid values: '1', '2', '3', '4', or '5'
Primary brand colour in hex format.
Secondary accent colour in hex format.
Base64-encoded logo image in data URI format (data:image/png;base64,...).
URL to navigate to when the logo overlay is clicked.
Position of the logo overlay. One of: top-left, top-right, bottom-left, bottom-right
Logo width in pixels, sent as string.
Logo height in pixels, sent as string.
Horizontal offset from the anchor position in pixels, sent as string.
Vertical offset from the anchor position in pixels, sent as string.
Inner padding around the logo in pixels, sent as string.
Logo opacity as string. Value between '0' (fully transparent) and '1' (fully opaque).
Time in milliseconds before the logo fades out, sent as string. Use '0' to keep it always visible.
Hide logo once player is fully ready. 1=yes, 0=no
Poster image shown before playback starts, encoded as a data URI (data:image/png;base64,...).
Action to perform when playback ends. Empty string = default behaviour. 'related' = show related videos panel.
Show video info overlay. '1' = show, '0' = hide.
Show zoom menu controls. '1' = show, '0' = hide.
Show rewind and forward skip buttons. '1' = show, '0' = hide.
Show the player context (right-click) menu. '1' = show, '0' = hide.
Base64-encoded image shown when the stream is offline, as a data URI (data:image/...;base64,...).
Duration to wait before showing the offline image. Format: HH:MM:SS
Show countdown timer on the offline screen. '1' = show, '0' = hide.
Text label shown in the overlay when the stream is offline.
Enable VAST ad insertion. '1' = enabled, '0' = disabled. Mutually exclusive with meta[imaAd].
Enable Google IMA ad insertion. '1' = enabled, '0' = disabled. Mutually exclusive with meta[vastAd].
VAST/VMAP ad tag URL for IMA ad insertion. Empty string disables IMA ads.
VAST ad tag URL. Send up to three instances via repeated FormData.append() calls to fill each slot.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Path Parameters
Body
Base64-encoded logo image in data URI format (data:image/png;base64,...).
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==URL to navigate to when the logo overlay is clicked.
https://example.comPosition of the logo overlay. One of: top-left, top-right, bottom-left, bottom-right
top-rightHorizontal offset from the anchor position in pixels, sent as string.
10Vertical offset from the anchor position in pixels, sent as string.
10Logo opacity as string. Value between '0' (fully transparent) and '1' (fully opaque).
0.9Time in milliseconds before the logo fades out, sent as string. Use '0' to keep it always visible.
5000Poster image shown before playback starts, encoded as a data URI (data:image/png;base64,...).
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==Action to perform when playback ends. Empty string = default behaviour. 'related' = show related videos panel.
Show rewind and forward skip buttons. '1' = show, '0' = hide.
0Base64-encoded image shown when the stream is offline, as a data URI (data:image/...;base64,...).
Duration to wait before showing the offline image. Format: HH:MM:SS
00:00:00Show countdown timer on the offline screen. '1' = show, '0' = hide.
0Enable VAST ad insertion. '1' = enabled, '0' = disabled. Mutually exclusive with meta[imaAd].
0Enable Google IMA ad insertion. '1' = enabled, '0' = disabled. Mutually exclusive with meta[vastAd].
0VAST/VMAP ad tag URL for IMA ad insertion. Empty string disables IMA ads.
VAST ad tag URL. Send up to three instances via repeated FormData.append() calls to fill each slot.
Responses
Operation outcome.
Human-readable description of the operation outcome.