Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/brightcove-live-jobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Live API Reference Live Jobs API
description: 'Reference for the Brightcove Live API, used to create and manage live streaming events.
For additional in-depth guides to features of the API, see the **[Support Site](/live-api/index.html)**.
**Base URL**: https://api.bcovlive.io/v1'
version: 1.0.0
servers:
- url: https://api.bcovlive.io/v1
variables: {}
tags:
- name: Live Jobs
description: 'Operations for creating live jobs, listing live jobs, getting job details, and canceling live jobs. There are also operations for activating and deactivating SEP jobs, scheduling activation and deactivation of SEP jobs, and for inserting cuepoints or ID3 timed metadata.
Notes:
-Live outputs are VBR.
-The average video bitrate should be around the target value, but there can be brief periods when the measured video bitrate exceeds that target.'
paths:
/jobs:
post:
tags:
- Live Jobs
summary: Create a Live Job
description: Create a live streaming job
operationId: CreateALiveJob
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Create a live stream
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLiveJobRequestBody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/LiveJob'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
get:
tags:
- Live Jobs
summary: List Live Jobs
description: '''List live jobs - for additional useful information on the search filters, see [Getting a List of Live or VOD
Jobs](/live-api/guides/getting-list-live-or-vod-jobs.html).''
**Note: The Live API does not return the updated CMS information, even if the video object is updated. For example, if you update the Live Event title, the change will not be reflected in the <code translate="no">videocloud</code> section in the API response, and the Live API will return the original Live Event title.**
**Note: The <code translate="no">_worker_bytes_rate</code> fields provide an instantaneous measurement of input/output bytes sampled over 1s, and the <code translate="no">_worker_bytes</code> fields provide a cumulative sum.**'
operationId: ListLiveJobs
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/start_token'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/sort_dir'
- $ref: '#/components/parameters/user_id'
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/created_at'
- $ref: '#/components/parameters/modified_at'
- $ref: '#/components/parameters/ad_insertion'
- $ref: '#/components/parameters/static'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/ssai_state'
- $ref: '#/components/parameters/region'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ListLiveJobsResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}:
get:
tags:
- Live Jobs
summary: Get Live Job Details
description: 'Get Live Job Details.
**Note: The Live API does not return the updated CMS information, even if the video object is updated. For example, if you update the Live Event title, the change will not be reflected in the <code translate="no">videocloud</code> section in the API response, and the Live API will return the original Live Event title.**'
operationId: GetLiveJobDetails
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/playback-token:
post:
tags:
- Live Jobs
summary: Create Playback Token
description: 'Live jobs created via the Live module in Studio (or by specifying `videocloud.video` when creating a job directly through the API) automatically create a special Video Cloud video that, when used in a Brightcove player, makes use of the `ad_config_id` property to select the specific source desired (i.e. SSAI source, DVR/no DVR, BYOCDN). Jobs which have SSAI enabled must always provide an `ad_config_id` in the player, even if the source desired is non-SSAI (this prevents an end user from omitting the `ad_config_id` and receiving a clear stream). **This applies only to live Video Cloud videos created via the Live module or Live API - manually created Video Cloud remote assets have no such restriction.**
The request returns a generated `ad_config_id`.
This behavior is handled automatically when you publish a live video from the Live module publishing screen, but may be useful if you have a custom workflow.'
operationId: CreatePlaybackToken
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Create a Playback Token
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePlaybackTokenRequestBody'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/PlaybackToken'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/activate:
put:
tags:
- Live Jobs
summary: Activate SEP Stream
description: Activate SEP (static entry point) Stream
operationId: ActivateSepStream
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateSepStreamResponse'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/deactivate:
put:
tags:
- Live Jobs
summary: Deactivate SEP Stream
description: 'Deactivate SEP (static entry point) Stream '
operationId: DeactivateSepStream
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/DeactivateSepStreamResponse'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/cuepoint:
post:
tags:
- Live Jobs
summary: Manual Cue Point Insertion
description: Inserts a manual Cue-Out with a duration to the Live ingest point.
operationId: ManualAdCuePointInsertion
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Inserts a manual Cue-Out with a duration to the Live ingest point.
content:
application/json:
schema:
$ref: '#/components/schemas/ManualAdCuePointInsertionbody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ManualAdCuePointInsertionResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: DB getItem, no results found - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/cuepointdata:
post:
tags:
- Live Jobs
summary: Add or update Ad Metadata
description: Allows content metadata to be pushed and constantly updated out-of-band from a customer live stream..
operationId: AddAdMetadata
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Contains a set of key/value pairs for ad requests.
content:
application/json:
schema:
$ref: '#/components/schemas/AddAdMetadatabody'
required: true
responses:
'200':
description: '200'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: DB getItem, no results found - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
delete:
tags:
- Live Jobs
summary: Delete Ad Metadata
description: Deletes ad metadata from a customer live stream..
operationId: DeleteAdMetadata
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'204':
description: 204 NO CONTENT
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: DB getItem, no results found - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/id3tag:
post:
tags:
- Live Jobs
summary: Insert ID3 Timed Metadata
description: 'Inserts an ID3 timed metadata tag for an ongoing job. Note that: 1) If using timecode property, the job only stores the most recent request for insertion; 2) If using timecode property, the encoder must be sending SMPTE-formatted (HH:MM:SS:FF) timecode stored in the tc property via OnFI'
operationId: InsertId3TimedMetadata
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: "'Inserts an ID3 timed metadata tag for an ongoing job. Note that:\n 1. If using timecode property, the job only stores the most recent request for insertion\n 2. If using timecode property, the encoder must be sending SMPTE-formatted (HH:MM:SS:FF) timecode stored in the tc property via OnFI'"
content:
application/json:
schema:
$ref: '#/components/schemas/InsertId3TimedMetadatabody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/InsertId3TimedMetadataResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/cancel:
put:
tags:
- Live Jobs
summary: Cancel Live Job
description: Cancel a live stream. When a live job is cancelled, it is ended, and any unprocessed VOD jobs associated with the live job will **not** be processed.
operationId: CancelLiveJob
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CancelLiveJob'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/stop:
put:
tags:
- Live Jobs
summary: Stop Live Job
description: 'Stop a live job. When a live job is stopped (as opposed to cancelled), the live stream will stop, but any VOD jobs associated with the live job **will** continue to process. **Warning: do *NOT* use this request to stop an SEP job - that is not supported and will put the SEP job into a state where it cannot be deactivated and must be cancelled. Use [Deactivate SEP Job](##operation/DeactivateSepStream) instead.**'
operationId: StopLiveJob
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/StopLiveJob'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
components:
schemas:
Job.outputMediaFiles:
properties:
audio_bitrate_in_kbps:
description: Audio bitrate of the output media file
type: number
audio_codec:
description: Audio codec of the output media file
type: string
audio_sample_rate:
description: Audio sample rate of the output media file
type: number
audio_tracks:
description: The number of audio tracks
type: number
channels:
description: The number of audio channels
type: number
created_at:
description: ISO 8601 date-time string representing when the output file was created
type: string
duration_in_ms:
description: ISO 8601 date-time string representing when the output file was created
type: number
dvr_filename:
description: File name for the DVR playlist manifest
type: string
error_class:
description: Type of error thrown
type: string
error_message:
description: Error message thrown
type: string
file_size_bytes:
description: File size
type: number
filename:
description: File name for the playlist manifest
type: string
finished_at:
description: ISO 8601 date-time string representing when the output file was finished
type: string
format:
description: Format of the output file
type: string
frame_rate:
description: Frame rate of the output file
type: number
height:
description: Frame height of the output file
type: number
id:
description: System id of the output file
type: string
keyframe_interval:
description: Keyframe interval for the output media file
format: int32
type: integer
keyframe_interval_follow_source:
description: Whether keyframe rate for the output matches the source
type: boolean
live_stream:
description: Whether the output is a live stream
type: boolean
md5_checksum:
description: Checksum for the output file
type: string
playback_url:
description: URL for the output file
type: string
playback_url_dvr:
description: Live DVR url for live stream output
type: string
playback_url_vod:
description: URL for VOD output
type: string
playlist_type:
description: Playlist type for playlist output
type: string
state:
description: Current state of output file processing
type: string
total_bitrate_in_kbps:
description: Total bitrate of the output media file
type: number
type:
description: Will be playlist for playlist output
type: string
updated_at:
description: ISO 8601 date-time string representing when the output file was last modified
type: string
video_bitrate_in_kbps:
description: Video bitrate of the output media file
type: number
video_codec:
description: Video codec of the output media file
type: string
width:
description: Frame width of the output media file
type: number
required:
- audio_bitrate_in_kbps
- audio_codec
- audio_sample_rate
- audio_tracks
- channels
- duration_in_ms
- file_size_bytes
- format
- frame_rate
- height
- video_bitrate_in_kbps
- video_codec
- width
- total_bitrate_in_kbps
- keyframe_interval_follow_source
- live_stream
- type
- filename
- dvr_filename
title: job.output_media_files
type: object
CreateVodClipbody.outputs.videocloud.video.schedule:
properties:
ends_at:
description: end date-time of availability in [ISO-8601](https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format
type: string
starts_at:
description: '''start date-time of availability in [ISO-8601](https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format'''
type: string
required:
- ends_at
- starts_at
title: Create_VOD_ClipBody.outputs.videocloud.video.schedule
type: object
description: map of scheduling properties
CreateLiveJobRequestBody.addCdns:
properties:
label:
description: A label to identify the CDN.
type: string
prepend:
description: CDN hostname to be prepended to addresses
type: string
protocol:
description: Protocol to use for the stream delivery
enum:
- http
- https
type: string
token_auth:
$ref: '#/components/schemas/CreateLiveJobRequestBody.addCdns.tokenAuth'
vendor:
description: CDN vendor such as akamai
type: string
required:
- label
- prepend
- protocol
title: Create_Live_Job_Request_Body.add_cdns
type: object
CreateLiveJobRequestBody.addCdns.tokenAuth.media:
description: Object containing tokenization properties
properties:
end_time:
description: The time to end token auth, epoch time in seconds
format: int32
type: integer
start_time:
default: now
description: The time to apply token auth - "now" or epoch time in seconds
format: int32
oneOf:
- type: integer
- enum:
- now
type: string
ttl:
description: The time to live in seconds - either `end_time` or `ttl` is required
format: int32
type: integer
title: Create_Live_Job_Request_Body.add_cdns.token_auth.media
type: object
CancelLiveJob:
properties:
id:
description: The job id for the stream that was cancelled. No unprocessed VOD jobs associated with the live job will be processed.
type: string
readOnly: true
title: Cancel_Live_Job_Response
type: object
Id3Tag:
properties:
tag_name:
description: The ID3 tag name
type: string
tag_value:
description: The ID3 tag value
type: string
required:
- tag_name
- tag_value
title: id3_tag
type: object
ManualAdCuePointInsertionbody:
properties:
ad_server_data:
description: a set of any variables (key/value pairs) that should be passed to the adServer
type: object
cancel:
description: When `true`, cuepoint specified by `cuepoint_id` will be canceled. If an ad break is already in progress, a crash-out will occur, returning to the main content.
type: boolean
default: false
cuepoint_id:
description: ID to use when creating cuepoint. If `cancel` is `true`, then this field is required and is the ID of cuepoint to cancel.
type: string
duration:
description: An integer value to indicate the length of the ad break in seconds
type: number
timecode:
description: "'When to insert the cuepoint in SMPTE HH:MM:SS:FF format from the stream start (FF = frames); if omitted, the cuepoint will be inserted immediately. Note:\n 1. If you use the timecode property, the job only only stores the most recent request for insertion\n 2. If you use the timecode property, the encoder must be sending SMPTE-formatted (HH:MM:SS:FF) timecode stored in the `tc` property via `OnFI`\n 3. Software encoders such as Wirecast and OBS do not support the sending timecode via `OnFI` packets in the RTMP stream\n 4. Elemental hardware encoders do support the sending timecode via `OnFI` packets in the RTMP stream'"
type: string
example:
ad_server_data:
subject: wildlife
duration: 30
timecode: 09:23:18:05
required:
- duration
title: Manual_Ad_Cue_Point_InsertionBody
type: object
CreateLiveJobRequestBody.videocloud:
properties:
account_id:
description: The Video Cloud Account ID the video for the remote asset live stream should be created in. Only required if the account ID is not the default configured in your Live account. If set, you must also set the `videocloud.credentials` property.
type: number
credentials:
description: Credentials to use for Video Cloud authentication. Only required if you set `videocloud.account_id`.
type: string
live_to_vod:
type: boolean
default: false
description: If set to `true`, a full VOD version of the live event will be created after the event is complete. Requires that there is a Video Cloud account associated with the Live account, *and* the `videocloud.video` property is set.
mode:
type: string
description: Expedite clip publishing by leveraging existing live renditions and segment boundaries
enum:
- instant
video:
$ref: '#/components/schemas/CreateLiveJobRequestBody.videocloud.video'
required:
- video
title: Create_Live_Job_Request_Body.videocloud
type: object
description: Video Cloud customers have the option to create a video to use for the live stream. The `videocloud` object in the `job` settings is used for this purpose. If you want to define VOD clips to send to Video Cloud, use the `videocloud` object in `outputs`.
CreateLiveJobRequestBody.addCdns.tokenAuth:
description: 'Token authentication details
**Note: If you don''t have your secret key for Akamai, or need to have a new one, contact your Customer Success Manager or Brightcove Support.**'
properties:
auth_type:
description: Token authentication type - currently, the only supported value is `Akamai2.0`
type: string
key:
description: Your Akamai token auth password
type: string
media:
$ref: '#/components/schemas/CreateLiveJobRequestBody.addCdns.tokenAuth.media'
token_name:
# --- truncated at 32 KB (117 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brightcove/refs/heads/main/openapi/brightcove-live-jobs-api-openapi.yml