We provide running your own Baton Test Plan on your output media with our QC service.
Test Plans and Report Templates
For now, we support only manual validation and integration of the Test Plans and Report Templates.
Please reach out to us to add your Test Plan or Report Template to our system and then we will send you the needed parameters: <test_plan /> and <template />.
Media Format
Baton Validation available only for mp4 output format. For qc_check format, you can use any single-bitrate source file. We don't support multi-bitrate format manifests as qc_check source files.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action>
<source>[SourceFile|SourcePlaylist]</source><!-- required -->
<format>
<output>[qc_check|mp4]</output><!-- required -->
<qc>
<qc_baton_validation>
<test_plan>[TestPlanHash]</test_plan> <!-- required -->
<template>[TemplateHash]</template>
<logo_image>[URL]</logo_image>
</qc_baton_validation>
</qc>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "AddMedia", // required
"source": "[SourceFile|SourcePlaylist]", // required
"format": {
"output": "[qc_check|mp4]", // required
"qc": {
"qc_baton_validation": {
"test_plan": "[TestPlanHash]", // required
"template": "[TemplateHash]",
"logo_image": "[URL]"
}
}
// format params
}
}
}
Parameter | Decription | Allowed Values | Default Value |
---|---|---|---|
test_plan | Baton Test Plan hash ID. | String | none |
template | PDF Report Template hash ID or one of predefined Presets. | String Available Presets: | none |
logo_image | Custom Logo Image for PDF report | Valid URL | none |
Baton Report
Link to Baton Report can be found in GetStatus response
<?xml version="1.0"?>
<report>
<mediaID>[MediaID]</mediaID>
<status>[QCStatus]</status>
<externalReports>
<externalReport>
<testName>qc_baton_validation</testName>
<fileName>[FileName]</fileName>
<ReportLinkXML>[BatonReportURL]</ReportLinkXML>
<ReportLinkPDF>[BatonPDFReportURL]</ReportLinkPDF>
<Summary>[BatonSummary]</Summary>
<Result>[Success|Failure]</Result>
</externalReport>
</externalReports>
<!-- report fields -->
</report>
{
"report": {
"mediaID": "[MediaID]",
"status": "[QCStatus]",
"externalReports": {
"externalReport": [
{
"testName": "qc_baton_validation",
"fileName": "[FileName]",
"ReportLinkXML": "[BatonReportURL]",
"ReportLinkPDF": "[BatonPDFReportURL]",
"Summary": "[BatonSummary]",
"Result": "[Success|Failure]"
}
]
}
// report fields
}
}
For ReportLinkPDF, Summary, and Result
<ReportLinkPDF >, <Summary >, and <Result > fields may not be presented in <externalReport > block.
Prohibited Words Check
We provide the ability to check for a specified list of prohibited words in closed captions via Baton QC.
You can create several prohibited words lists and we will check all of them in Baton Validation test.
To manage lists we provide these API requests:
Create New List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid><<id>></userid> <!-- required -->
<userkey><<key>></userkey> <!-- required-->
<action>SetBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
<words>
<word>[Word_1]</word>
<word>[Word_2]</word>
<!-- ... -->
<word>[Word_N]</word>
</words>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "SetBatonProfaneWords", // required
"name": "[ListName]", // required
"words": {
"word": [
"[Word_1]",
"[Word_1]",
// ...
"[Word_N]"
]
}
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
word | Prohibited Word | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>setbatonprofanewords</action>
<status>Success</status>
</response>
{
"response": {
"action": "setbatonprofanewords",
"status": "Success"
}
}
Show Added Lists
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid><<id>></userid> <!-- required -->
<userkey><<key>></userkey> <!-- required-->
<action>ListBatonProfaneWordLists</action> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "ListBatonProfaneWords" // required
}
}
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>listbatonprofanewordlists</action>
<status>Success</status>
<result>
<user_id><<id>></user_id>
<wordlists>
<wordlist>[ListName_1]</wordlist>
<wordlist>[ListName_1]</wordlist>
<!-- ... -->
<wordlist>[ListName_N]</wordlist>
</wordlists>
</result>
</response>
{
"response": {
"action": "listbatonprofanewords",
"status": "Success",
"result": {
"user_id": "<<id>>",
"wordlists": {
"wordlist": [
"ListName_1",
"ListName_2",
// ...
"ListName_N"
]
}
}
}
}
Delete Words List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid><<id>></userid> <!-- required -->
<userkey><<key>></userkey> <!-- required-->
<action>DropBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "DropBatonProfaneWords", // required
"name": "[ListName]" // required
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>dropbatonprofanewords</action>
<status>Success</status>
</response>
{
"response": {
"action": "dropbatonprofanewords",
"status": "Success"
}
}
Show Words In List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid><<id>></userid> <!-- required -->
<userkey><<key>></userkey> <!-- required-->
<action>GetBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "GetBatonProfaneWords", // required
"name": "[ListName]" // required
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>getbatonprofanewords</action>
<status>Success</status>
<result>
<user_id><<id>></user_id>
<words>
<word>[Word_1]</word>
<word>[Word_1]</word>
<!-- ... -->
<word>[Word_N]</word>
</words>
</result>
</response>
{
"response": {
"action": "getbatonprofanewords",
"status": "Success",
"result": {
"user_id": "<<id>>",
"words": {
"word": [
"Word_1",
"Word_2",
// ...
"Word_N"
]
}
}
}
}