Vidly XML API

Getting Started

API Interface

Vidly accepts XML requests sent on http://m.vid.ly/api/ URL via simple HTTP POST (please note, you should keep trailing slash in URL).

XML should be placed in xml POST parameter.

In response Vidly sends XML as well.

You can try it right away on the API test page: http://m.vid.ly/test/test_api.php.

XML Request Anatomy

All XML requests are expected to be like this:

<?xml version="1.0"?>
<Query>
	<Action>[Action]</Action>
	<UserID>[User ID]</UserID>
	<UserKey>[User key]</UserKey>
	<Notify>[Notify URL]</Notify>
	<!-- ...Action specific contents follows... -->
</Query>
Param Description
(required)
Action
Action to perform. See List of allowed actions below
(required)
UserID
Vidly User ID
(required)
UserKey
Vidly API Key used for user authentication
(optional)
Notify
Valid URL or Email to send notification when request is processed.
In case when URL is provided, Vidly will POST XML response data on this URL. In case of AddMedia, additional XML will be sent, notifying that video has been converted.

XML Response Anatomy

Vidly XML responses share following common structure:

<?xml version="1.0"?>
<Response>
	<Message>[Message]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<!-- ...Content specific to Action... -->
	</Success>
	<Errors>
		<!-- ...Content specific to Action... -->
	</Errors>
</Response> 
Param Description
Message
Summary of request processing result
MessageCode
See descriptions of codes in Action sections
Success
Container for Action-specific values, for example short URLs generated by AddMedia
Errors
Container for Action-specific Errors

Common response codes:

1.1 - Action failed: wrong query info.

1.2 - Action failed because of some internal reason.

1.3 - Action failed because request rate over limit.

API Actions

Each Action has own set of specific params, each is described in separate section with examples.

AddMedia

Description

Add a new media to user's queue. Creates new short URL and generates 24 various output formats. Also allows to specify user defined custom formats.
Along with video formats, several thumbnails generated:

URL Description Width × height Snap time
http://vid.ly/5u4h3e/poster Poster image used in video player * × 360 at 10% of video length
http://vid.ly/5u4h3e/poster2 Poster image #2 * × 360 at 66% of video length
http://vid.ly/5u4h3e/poster3 Poster image #3 * × 360 at 90% of video length
http://vid.ly/5u4h3e/qrposter Poster image, with "Play" button * × 360 at 10% of video length
http://vid.ly/5u4h3e/thumbnail1 Smaller thumbnail 210 × * at 10% of video length
http://vid.ly/5u4h3e/thumbnail2 Smaller thumbnail 210 × * at 66% of video length
http://vid.ly/5u4h3e/thumbnail3 Smaller thumbnail 210 × * at 90% of video length
“210 ×*” — means 210px width and proportionally reduced height

Request Example

<?xml version="1.0"?>
<Query>
    <Action>AddMedia</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <Notify>[Notify URL]</Notify>
    <Source>
        <SourceFile>[SourceFile1]</SourceFile>
        <CDN>[CDNType]</CDN>
        <HD>[HD]</HD>
        <Protect>
            <StartDate>2012-04-01 00:00:00</StartDate>
            <ExpirationDate>2012-05-01 00:00:00</ExpirationDate>
            <IpAddress>89.100.11.*,89.100.12.1-20,89.100.13.50</IpAddress>
            <Token/>
        </Protect>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Key>[Key]</Key>
            <Skin>[Skin]</Skin>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Schedule>
                    <Ad>
                        <Offset>pre</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                    <Ad>
                        <Offset>post</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                </Schedule>
                <Message>Will back to video in XX seconds</Message>
                <SkipText>Skip ads</SkipText>
                <SkipMessage>You can skip me in XX seconds</SkipMessage>
                <SkipOffset>5</SkipOffset>
            </Ads>
        </VideoPlayer>
        <ClosedCaptions>[ClosedCaption URL]</ClosedCaptions>
        <EmailEmbedFallBackLink>[Embed Fallback URL]</EmailEmbedFallBackLink>
        <EmailEmbedSize>[Embed size]</EmailEmbedSize>
        <EmbedDomainPrivacy>[EmbedDomainPrivacy]</EmbedDomainPrivacy>
        <Title>URL Title</Title>
        <Description>URL Title</Description>
        <Playlists>
            <Playlist>Playlist One</Playlist>
            <Playlist>Playlist Two</Playlist>
        </Playlists>
        <FormatsVersion>[FormatsVersion]</FormatsVersion>
    </Source>
    <!-- ... -->
    <Source>
        <SourceFile>[SourceFile2]</SourceFile>
        <CDN>[CDNType]</CDN>
        <ClosedCaptions>
            <Source>[ClosedCaption URL]</Source>
            <TimeOffset>[ClosedCaption Time Offset]</TimeOffset>
        </ClosedCaptions>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Tag>Ad tag</Tag>
            </Ads>
        </VideoPlayer>
    </Source>
    <!-- ... -->
    <Source>
        <SourceFile>[SourceFileN]</SourceFile>
        <CDN>[CDNType]</CDN>
        <Format>
            <!-- ...click for details... -->
        </Format>
        <Format>
            <FormatID>[ID]</FormatID>
        </Format>
    </Source>
</Query>

Request Params

Param Description Default Value
(required)
Source
Complex param containing SourceFile, CDN, HD, Format, Protection options. None
(required)
SourceFile
Media source file. Following sources are supported:
  • http://[user[:password]@]hostname[:port]/[path]/[filename]
  • ftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • sftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]
  • If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL. [Note: do not forget to encode your AWS_SECRET, specifically replace / with %2F. If you don't specify AWS key/secret, the object must have READ permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869 (or for all users). See Amazon S3 guide for details.
  • http://RS_USER:RS_KEY@storage.cloudfiles.com/your_folder/file.ext
  • https://storage4.clouddrive.com/v1/MossoCloudFS_cea19775-aa94-4d78-8da9-1a7b4bbbd548/your_folder/file.ext?auth-token=c2633419-7b79-3d58-8417-d63666dddfd5
Multiple files from different sources (HTTP, FTP, etc) may be specified. If multiple files provided, they will be concatenated before converting.
None
(optional)
CDN
CDN service that will be used for upload. Allowed values:
  • RS - Rackspace Cloudfiles
  • AWS - Amazon S3
AWS
(optional)
HD
Enables HD button in the player (desktop browsers only). High Definition (720p) videos will be generated. Allowed values:
  • YES - Additional High Definition formats will be generated
  • NO - Nothing happen in case of AddMedia call. HD formats will be erased in case of UpdateMedia call (if previously it had HD = YES)
NO
(optional)
Format
Any additional format to convert video to.
There may be more than one additional format. Note that most formats are provided automatically, so use it in some special cases.
Your formats will get names in the form: [Output]_[number of custom format: 0, 1 etc.].[Output].
See detailed description in Format Parameter Contents section.
None
(optional)
Protect
Optional parameters to specify Media URL access restrictions None
(optional)
StartDate
Short URL will be available only starting from this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
ExpirationDate
Short URL will be available only until this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
IpAddress
IP Address mask(s). Examples:
  • 192.168.1.50 - just a single IP
  • 192.168.1.1-50 - IP range from 192.168.1.1 to 192.168.1.50
  • 192.168.1.* - IP range from .0 to .255
  • 192.168.1-10.* - even bigger IP range
  • 192.168.2.*,192.168.3.1-50,192.168.4.100 - several masks combined, separated with comma
(optional)
Token
Make Short URL accessible only with security token
(optional)
VideoPlayer
Param for setting Video Player option and key. None
(optional)
Vendor
Video player option. Allowed values: default, flowplayer, jwplayer, vidly. default
(optional)
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
(optional)
Skin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
(optional)
Ads
Add multiple ads to video playback. Allowed with jwplayer only. Submitting empty <Ads> tag will remove currently configured ads.
See JW Player Supported Ad Formats for allowed ad formats information.
(required)
AdClient
Ad client type, VAST or Google IMA.
Allowed values: vast, googima.
(optional)
Schedule
May contain multiple ad tags with different playback settings.
(required)
Ad
Holds settings for single ad.
(required)
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
(required)
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
(required)
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
(optional)
Tag
Set this to URL of the VAST or IMA pre-roll ad tag to play. Use the schedule option to setup midrolls, postrolls and overlays.
Message
Text message to display while playing the ad that cannot be skipped. XX is automatically replaced with number of seconds.
Example: Video will continue in XX seconds.
SkipText
This sets the text of the Skip button after the countdown is over.
SkipMessage
This is used to provide a customized countdown message. Use the form Skip ad in XX seconds.
SkipOffset
Set this to an amount of time in seconds that you want an ad to be watched before it can be skipped.
(optional)
ClosedCaptions
Add subtitles to video
Source
Valid URL to Closed Captions file in one of the following formats: SCC, SubRip, DFXP (TTML), SAMI, WebvTT
(optional)
TimeOffset
Set time offset for time in CC file
(optional)
EmailEmbedFallBackLink
Specify link for email embed, which will be used in case user email client not support email video
(optional)
EmailEmbedSize
Specify the email embed size. In case only one dimension set(e.g. 800x) than missed dimension were calculated automatically using 16:9 aspect ratio 640x360
(optional)
EmbedDomainPrivacy
Controls if embed can play on all domains or only on allowed list of domains defined by UpdateUserSettings request. Allowed values: enabled, disabled, default default
(optional)
Title
Media title which used in playlist
(optional)
Description
Media description which used in playlist
(optional)
Playlists
List of associated playlists
(optional)
Playlist
Name of associated playlist
(optional)
FormatsVersion
Specifies vidly formats version to use. Allowed values: "0" (default formats) or "1" (new formats).
Note that with new formats, "HD", "HLS" and "Lite" options are deprecated and do not affect list of created formats.
New formats always include Live Streaming. HD is automatically enabled when source video has enough resolution for HD (720p or more). When source video resolution is small, HD formats are not created.
0

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<MediaShortLink>
			<SourceFile>[SourceFile1]</SourceFile>
			<ShortLink>[MediaShortLink1]</ShortLink>
			<MediaID>[MediaID1]</MediaID>
			<QRCode>[QR Code URL1]</QRCode>
			<HtmlEmbed>[Embed HTML Code1]</HtmlEmbed>
			<EmailEmbed>[Email HTML Code1]</EmailEmbed>
		</MediaShortLink>
		<MediaShortLink>
			<SourceFile>[SourceFile2]</SourceFile>
			<ShortLink>[MediaShortLink2]</ShortLink>
			<MediaID>[MediaID2]</MediaID>
			<QRCode>[QR Code URL2]</QRCode>
			<HtmlEmbed>[Embed HTML Code2]</HtmlEmbed>
			<EmailEmbed>[Email HTML Code2]</EmailEmbed>
		</MediaShortLink>
		<!-- ... -->
		<MediaShortLink>
			<SourceFile>[SourceFileN]</SourceFile><!-- Source file of added media -->
			<ShortLink>[MediaShortLinkN]</ShortLink><!-- Short link of added media -->
			<MediaID>[MediaIDN]</MediaID>
			<QRCode>[QR Code URLN]</QRCode>
			<HtmlEmbed>[Embed HTML CodeN]</HtmlEmbed>
			<EmailEmbed>[Email HTML CodeN]</EmailEmbed>
		</MediaShortLink>
	</Success>
	<Errors><!-- if file is not in Success section, it must be in this one -->
		<Error><!-- Relates to the appropriate SourceFile in the request list -->
			<SourceFile>[SourceFileK]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
		<!-- ... -->
		<Error>
			<SourceFile>[SourceFileL]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionL]</Description>
			<Suggestion>[ErrorSuggestionL]</Suggestion>
		</Error>
	</Errors>
</Response>

Response Fields

Param Description
MediaShortLink
SourceFile
Contents of SourceFile param in request
ShortLink
Generated short link for provided media
MediaID
Encoding.com Media ID
QRCode
URL to QR-code image for generated short URL
HtmlEmbed
IFrame-based HTML embed code for web pages
EmailEmbed
HTML5 code for sending in emails
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

2.1 - You have not provided any source links in your request or all source links are invalid.

2.2 - Provided source file link is wrong.

2.3 - An Output tag was not provided or more than one Output tag is given.

2.5 - Short URL can not be secured with selected CDN

2.6 - Invalid security params

2.7 - Vanity Link already exists

Response Codes

2.1 - All medias have been added.

2.2 - Action completed with errors: some files failed to upload.

2.3 - Action failed: none of files were uploaded.

2.4 - Action failed: none of media short link were found.

2.5 - All medias have been updated.

Notify XML Response #2

After Media is converted to all formats, Vidly sends another XML on Notify URL or Email:

<?xml version="1.0"?>
<Response>
	<Result>
		<Task>
			<UserID>[UserID]</UserID>
			<MediaShortLink>[MediaShortLink]</MediaShortLink>
			<SourceFile>[SourceFile]</SourceFile>
			<BatchID>[BatchID]</BatchID>
			<Status>[Status]</Status>
			<Created>[LinkCreatedDate]</Created>
			<Updated>[LinkUpdatedDate]</Updated>
			<UserEmail>[UserEmail]</UserEmail>
			<Formats>
				<Format>
					<FormatName>[FormatName1]</FormatName>
					<Location>[Location1]</Location>
					<FileSize>[FileSize1]</FileSize>
					<Status>[Status1]</Status>
				</Format>
				<Format>
					<FormatName>[FormatName2]</FormatName>
					<Location>[Location2]</Location>
					<FileSize>[FileSize2]</FileSize>
					<Status>[Status2]</Status>
				</Format>
				<!-- ... -->
				<Format>
					<FormatName>[FormatNameN]</FormatName>
					<Location>[LocationN]</Location>
					<FileSize>[FileSizeN]</FileSize>
					<Status>[StatusN]</Status>
				</Format>
			</Formats>
		</Task>
	</Result>
</Response>

AddMediaLite

Description

Add a new media to user's queue. Creates new short URL and generates only 5 output formats. This API call is designed for customers who do not want to incur the ongoing storage expense of all 24 of our standard web and mobile output formats and are less concerned with complete mobile device coverage. Also allows to specify user defined custom formats.

Request Example

<?xml version="1.0"?>
<Query>
    <Action>AddMediaLite</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <Notify>[Notify URL]</Notify>
    <Source>
        <SourceFile>[SourceFile1]</SourceFile>
        <CDN>[CDNType]</CDN>
        <HD>[HD]</HD>
        <HLS>[HLS]</HLS>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Key>[Key]</Key>
            <Skin>[Skin]</Skin>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Schedule>
                    <Ad>
                        <Offset>pre</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                    <Ad>
                        <Offset>post</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                </Schedule>
                <Message>Will back to video in XX seconds</Message>
                <SkipText>Skip ads</SkipText>
                <SkipMessage>You can skip me in XX seconds</SkipMessage>
                <SkipOffset>5</SkipOffset>
            </Ads>
        </VideoPlayer>
        <ClosedCaptions>[ClosedCaption URL]</ClosedCaptions>
        <EmailEmbedFallBackLink>[Embed Fallback URL]</EmailEmbedFallBackLink>
        <EmailEmbedSize>[Embed size]</EmailEmbedSize>
        <EmbedDomainPrivacy>[EmbedDomainPrivacy]</EmbedDomainPrivacy>
        <Title>URL Title</Title>
        <Description>URL Title</Description>
        <Playlists>
            <Playlist>Playlist One</Playlist>
            <Playlist>Playlist Two</Playlist>
        </Playlists>
        <FormatsVersion>[FormatsVersion]</FormatsVersion>
    </Source>
    <Source>
        <SourceFile>[SourceFile2]</SourceFile>
        <CDN>[CDNType]</CDN>
        <ClosedCaptions>
            <Source>[ClosedCaption URL]</Source>
            <TimeOffset>[ClosedCaption Time Offset]</TimeOffset>
        </ClosedCaptions>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Tag>Ad tag</Tag>
            </Ads>
        </VideoPlayer>
    </Source>
    <!-- ... -->
    <Source>
        <SourceFile>[SourceFileN]</SourceFile>
        <CDN>[CDNType]</CDN>
        <Format>
            <!-- ...click for details... -->
        </Format>
        <!-- ... -->
        <Format>
            <!-- ...click for details... -->
        </Format>
    </Source>
</Query>

Request Params

Param Description Default Value
(required)
Source
Complex param containing SourceFile, CDN, HD, HLS, Format, Protection options. None
(required)
SourceFile
Media source file. Following sources are supported:
  • http://[user[:password]@]hostname[:port]/[path]/[filename]
  • ftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • sftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]
  • If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL. [Note: do not forget to encode your AWS_SECRET, specifically replace / with %2F. If you don't specify AWS key/secret, the object must have READ permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869 (or for all users). See Amazon S3 guide for details.
  • http://RS_USER:RS_KEY@storage.cloudfiles.com/your_folder/file.ext
  • https://storage4.clouddrive.com/v1/MossoCloudFS_cea19775-aa94-4d78-8da9-1a7b4bbbd548/your_folder/file.ext?auth-token=c2633419-7b79-3d58-8417-d63666dddfd5
Multiple files from different sources (HTTP, FTP, etc) may be specified. If multiple files provided, they will be concatenated before converting.
None
(optional)
CDN
CDN service that will be used for upload. Allowed values:
  • RS - Rackspace Cloudfiles
  • AWS - Amazon S3
AWS
(optional)
HD
Enables HD button in the player (desktop browsers only). High Definition (720p) videos will be generated. Allowed values:
  • YES - Additional High Definition formats will be generated
  • NO - Nothing happen in case of AddMedia call. HD formats will be erased in case of UpdateMedia call (if previously it had HD = YES)
NO
(optional)
HLS
Enables HLS format for Lite URL. In case device supports HLS, such URL will return HLS mantifest file. Allowed values:
  • YES - HLS enabled
  • NO - standard Lite URL without HLS format (default)
Supported sizes and bitrates:
  • *×240 @ 200kbit/s
  • *×288 @ 300kbit/s
  • *×360 @ 400kbit/s
  • *×432 @ 600kbit/s
  • *×480 @ 800kbit/s
  • *×576 @ 1500kbit/s
  • *×720 @ 3000kbit/s
NO
(optional)
Format
Any additional format to convert video to.
There may be more than one additional format. Note that most formats are provided automatically, so use it in some special cases.
Your formats will get names in the form: [Output]_[number of custom format: 0, 1 etc.].[Output].
See detailed description in Format Parameter Contents section.
None
(optional)
Protect
Optional parameters to specify Media URL access restrictions None
(optional)
StartDate
Short URL will be available only starting from this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
ExpirationDate
Short URL will be available only until this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
IpAddress
IP Address mask(s). Examples:
  • 192.168.1.50 - just a single IP
  • 192.168.1.1-50 - IP range from 192.168.1.1 to 192.168.1.50
  • 192.168.1.* - IP range from .0 to .255
  • 192.168.1-10.* - even bigger IP range
  • 192.168.2.*,192.168.3.1-50,192.168.4.100 - several masks combined, separated with comma
(optional)
Token
Make Short URL accessible only with security token
(optional)
VideoPlayer
Param for setting Video Player option and key. None
(optional)
Vendor
Video player option. Allowed values: default, flowplayer, jwplayer, vidly. default
(optional)
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
(optional)
Skin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
(optional)
Ads
Add multiple ads to video playback. Allowed with jwplayer only. Submitting empty <Ads> tag will remove currently configured ads.
See JW Player Supported Ad Formats for allowed ad formats information.
(required)
AdClient
Ad client type, VAST or Google IMA.
Allowed values: vast, googima.
(optional)
Schedule
May contain multiple ad tags with different playback settings.
(required)
Ad
Holds settings for single ad.
(required)
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
(required)
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
(required)
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
(optional)
Tag
Set this to URL of the VAST or IMA pre-roll ad tag to play. Use the schedule option to setup midrolls, postrolls and overlays.
Message
Text message to display while playing the ad that cannot be skipped. XX is automatically replaced with number of seconds.
Example: Video will continue in XX seconds.
SkipText
This sets the text of the Skip button after the countdown is over.
SkipMessage
This is used to provide a customized countdown message. Use the form Skip ad in XX seconds.
SkipOffset
Set this to an amount of time in seconds that you want an ad to be watched before it can be skipped.
(optional)
ClosedCaptions
Add subtitles to video
Source
Valid URL to Closed Captions file in one of the following formats: SCC, SubRip, DFXP (TTML), SAMI, WebvTT
(optional)
TimeOffset
Set time offset for time in CC file
(optional)
EmailEmbedFallBackLink
Specify link for email embed, which will be used in case user email client not support email video
(optional)
EmailEmbedSize
Specify the email embed size. In case only one dimension set(e.g. 800x) than missed dimension were calculated automatically using 16:9 aspect ratio 640x360
(optional)
EmbedDomainPrivacy
Controls if embed can play on all domains or only on allowed list of domains defined by UpdateUserSettings request. Allowed values: enabled, disabled, default default
(optional)
Title
Media title which used in playlist
(optional)
Description
Media description which used in playlist
(optional)
Playlists
List of associated playlists
(optional)
Playlist
Name of associated playlist
(optional)
FormatsVersion
Specifies vidly formats version to use. Allowed values: "0" (default formats) or "1" (new formats).
Note that with new formats, "HD", "HLS" and "Lite" options are deprecated and do not affect list of created formats.
New formats always include Live Streaming. HD is automatically enabled when source video has enough resolution for HD (720p or more). When source video resolution is small, HD formats are not created.
0

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<MediaShortLink>
			<SourceFile>[SourceFile1]</SourceFile>
			<ShortLink>[MediaShortLink1]</ShortLink>
			<MediaID>[MediaID1]</MediaID>
			<QRCode>[QR Code URL1]</QRCode>
			<HtmlEmbed>[Embed HTML Code1]</HtmlEmbed>
			<EmailEmbed>[Email HTML Code1]</EmailEmbed>
		</MediaShortLink>
		<MediaShortLink>
			<SourceFile>[SourceFile2]</SourceFile>
			<ShortLink>[MediaShortLink2]</ShortLink>
			<MediaID>[MediaID2]</MediaID>
			<QRCode>[QR Code URL2]</QRCode>
			<HtmlEmbed>[Embed HTML Code2]</HtmlEmbed>
			<EmailEmbed>[Email HTML Code2]</EmailEmbed>
		</MediaShortLink>
		<!-- ... -->
		<MediaShortLink>
			<SourceFile>[SourceFileN]</SourceFile><!-- Source file of added media -->
			<ShortLink>[MediaShortLinkN]</ShortLink><!-- Short link of added media -->
			<MediaID>[MediaIDN]</MediaID>
			<QRCode>[QR Code URLN]</QRCode>
			<HtmlEmbed>[Embed HTML CodeN]</HtmlEmbed>
			<EmailEmbed>[Email HTML CodeN]</EmailEmbed>
		</MediaShortLink>
	</Success>
	<Errors><!-- if file is not in Success section, it must be in this one -->
		<Error><!-- Relates to the appropriate SourceFile in the request list -->
			<SourceFile>[SourceFileK]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
		<!-- ... -->
		<Error>
			<SourceFile>[SourceFileL]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionL]</Description>
			<Suggestion>[ErrorSuggestionL]</Suggestion>
		</Error>
	</Errors>
</Response>

Response Fields

Param Description
MediaShortLink
SourceFile
Contents of SourceFile param in request
ShortLink
Generated short link for provided media
MediaID
Encoding.com Media ID
QRCode
URL to QR-code image for generated short URL
HtmlEmbed
IFrame-based HTML embed code for web pages
EmailEmbed
HTML5 code for sending in emails
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

2.1 - You have not provided any source links in your request or all source links are invalid.

2.2 - Provided source file link is wrong.

2.3 - An Output tag was not provided or more than one Output tag is given.

Response Codes

2.1 - All medias have been added.

2.2 - Action completed with errors: some files failed to upload.

2.3 - Action failed: none of files were uploaded.

2.4 - Action failed: none of media short link were found.

2.5 - All medias have been updated.

UpdateMedia

Description

Allows to update an existing Vid.ly URL with new source content. Very simple! Via API you can use the UpdateMedia call along with the shortlink and you're ready to roll.

Request Example

<?xml version="1.0"?>
<Query>
    <Action>UpdateMedia</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <Notify>[Notify URL]</Notify>
    <Source>
        <MediaShortLink>[MediaShortLink]</MediaShortLink>
        <SourceFile>[SourceFile1]</SourceFile>
        <CDN>[CDNType]</CDN>
        <HD>[HD]</HD>
        <VanityLink>checkzisout</VanityLink>
        <Protect>
            <StartDate>2012-04-01 00:00:00</StartDate>
            <ExpirationDate>2012-05-01 00:00:00</ExpirationDate>
            <IpAddress>89.100.11.*,89.100.12.1-20,89.100.13.50</IpAddress>
            <Token/>
        </Protect>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Key>[Key]</Key>
            <Skin>[Skin]</Skin>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Schedule>
                    <Ad>
                        <Offset>pre</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                    <Ad>
                        <Offset>post</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                </Schedule>
                <Message>Will back to video in XX seconds</Message>
                <SkipText>Skip ads</SkipText>
                <SkipMessage>You can skip me in XX seconds</SkipMessage>
                <SkipOffset>5</SkipOffset>
            </Ads>
        </VideoPlayer>
        <Domains>
            <Domain>
                <Host>userdomain.com</Host>
                <URL>video-url</URL>
            </Domain>
        </Domains>
        <EmbedDomainPrivacy>[EmbedDomainPrivacy]</EmbedDomainPrivacy>
        <Title>Media Title</Title>
        <Description>Media Title</Description>
        <Playlists>
            <Playlist>Playlist One</Playlist>
            <Playlist>Playlist Two</Playlist>
        </Playlists>
    </Source>
    <!-- ... -->
    <Source>
        <MediaShortLink>[MediaShortLink]</MediaShortLink>
        <SourceFile>[SourceFileN]</SourceFile>
        <CDN>[CDNType]</CDN>
        <Format>
            <!-- ...click for details... -->
        </Format>
        <!-- ... -->
        <Format>
            <!-- ...click for details... -->
        </Format>
        <VideoPlayer>
            <Vendor>[VideoPlayer]</Vendor>
            <Ads> <!-- for "jwplayer" vendor only -->
                <AdClient>vast</AdClient>
                <Tag>Ad tag</Tag>
            </Ads>
        </VideoPlayer>
    </Source>
</Query>

Request Params

Param Description Default Value
(required)
Source
Complex param containing MediaShortLink, SourceFile, CDN and Format values. None
(required)
MediaShortLink
Short link of Media to update None
(required)
SourceFile
Media source file. Following sources are supported:
  • http://[user[:password]@]hostname[:port]/[path]/[filename]
  • ftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • sftp://[user[:password]@]hostname[:port]/[path]/[filename]
  • http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]
  • If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL. [Note: do not forget to encode your AWS_SECRET, specifically replace / with %2F. If you don't specify AWS key/secret, the object must have READ permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869 (or for all users). See Amazon S3 guide for details.
  • http://RS_USER:RS_KEY@storage.cloudfiles.com/your_folder/file.ext
  • https://storage4.clouddrive.com/v1/MossoCloudFS_cea19775-aa94-4d78-8da9-1a7b4bbbd548/your_folder/file.ext?auth-token=c2633419-7b79-3d58-8417-d63666dddfd5
Multiple files from different sources (HTTP, FTP, etc) may be specified. If multiple files provided, they will be concatenated before converting.
None
(optional)
CDN
CDN service that will be used for upload. Allowed values:
  • RS - Rackspace Cloudfiles
  • AWS - Amazon S3
AWS
(optional)
HD
Enables HD button in the player (desktop browsers only). High Definition (720p) videos will be generated. Allowed values:
  • YES - Additional High Definition formats will be generated
  • NO - Nothing happen in case of AddMedia call. HD formats will be erased in case of UpdateMedia call (if previously it had HD = YES)
NO
(optional)
Format
Any additional format to convert video to.
There may be more than one additional format. Note that most formats are provided automatically, so use it in some special cases.
Your formats will get names in the form: [Output]_[number of custom format: 0, 1 etc.].[Output].
See detailed description in Format Parameter Contents section.
None
(optional)
VanityLink
Set alternate nice-looking short URL for your media
(optional)
Protect
Optional parameters to specify Media URL access restrictions None
(optional)
StartDate
Short URL will be available only starting from this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
ExpirationDate
Short URL will be available only until this date. Date format is "YYYY-MM-DD HH:MM:SS" (time part is optional), date should be in EST time zone
(optional)
IpAddress
IP Address mask(s). Examples:
  • 192.168.1.50 - just a single IP
  • 192.168.1.1-50 - IP range from 192.168.1.1 to 192.168.1.50
  • 192.168.1.* - IP range from .0 to .255
  • 192.168.1-10.* - even bigger IP range
  • 192.168.2.*,192.168.3.1-50,192.168.4.100 - several masks combined, separated with comma
(optional)
Token
Make Short URL accessible only with security token
(optional)
VideoPlayer
Param for setting Video Player option and key. None
(optional)
Vendor
Video player option. Allowed values: default, flowplayer, jwplayer, vidly. default
(optional)
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
(optional)
Skin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
(optional)
Ads
Add multiple ads to video playback. Allowed with jwplayer only. Submitting empty <Ads> tag will remove currently configured ads.
See JW Player Supported Ad Formats for allowed ad formats information.
(required)
AdClient
Ad client type, VAST or Google IMA.
Allowed values: vast, googima.
(optional)
Schedule
May contain multiple ad tags with different playback settings.
(required)
Ad
Holds settings for single ad.
(required)
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
(required)
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
(required)
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
(optional)
Tag
Set this to URL of the VAST or IMA pre-roll ad tag to play. Use the schedule option to setup midrolls, postrolls and overlays.
Message
Text message to display while playing the ad that cannot be skipped. XX is automatically replaced with number of seconds.
Example: Video will continue in XX seconds.
SkipText
This sets the text of the Skip button after the countdown is over.
SkipMessage
This is used to provide a customized countdown message. Use the form Skip ad in XX seconds.
SkipOffset
Set this to an amount of time in seconds that you want an ad to be watched before it can be skipped.
(optional)
Domains
Setup media level domains. To restore default user domain distribution send empty element.
Domain
Custom media distribution settings
(required)
Host
Domain hostname
(optional)
URL
Custom media URL
(optional)
EmbedDomainPrivacy
Controls if embed can play on all domains or only on allowed list of domains defined by UpdateUserSettings request. Allowed values: enabled, disabled, default default
(optional)
Title
Media title which used in playlist
(optional)
Description
Media description which used in playlist
(optional)
Playlists
List of associated playlists
(optional)
Playlist
Name of associated playlist

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[All medias have been updated.]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<BatchID>[BatchID]</BatchID>
	<Success>
		<MediaShortLink>
			<SourceFile>[SourceFile]</SourceFile>
			<ShortLink>[ShortLink]</ShortLink>
		</MediaShortLink>
		<MediaShortLink>
			<SourceFile>[SourceFile2]</SourceFile>
			<ShortLink>[ShortLink2]</ShortLink>
		</MediaShortLink>
		<!-- ... -->
	</Success>
	<Errors> <!-- if file is not in Success section, it must be in this one -->
		<Error> <!-- Relates to the appropriate SourceFile in the request list -->
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<ErrorName>[ErrorName]</ErrorName>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
		<!-- ... -->
		<Error>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<ErrorName>[ErrorName]</ErrorName>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
	</Errors>
</Response> 

Response Fields

Param Description
MediaShortLink
SourceFile
Contents of SourceFile param in request
ShortLink
Short link for updated media
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

6.1 - You have not provided any media short link in your request or medias short link are invalid.

6.2 - The medias short url you provided is not belongs to provided user.

6.3 - Provided media short link is't in Finished or Error status.

2.5 - Short URL can not be secured with selected CDN

2.6 - Invalid security params

2.7 - Vanity Link already exists

Response Codes

2.1 - All medias have been added.

2.2 - Action completed with errors: some files failed to upload.

2.3 - Action failed: none of files were uploaded.

2.4 - Action failed: none of media short link were found.

2.5 - All medias have been updated.

UpdatePoster

Description

Updates poster image on specified URL

Request Example

<?xml version="1.0"?>
<Query>
    <Action>UpdatePoster</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <Notify>[Notify URL]</Notify>
    <Source>
        <MediaShortLink>[MediaShortLink]</MediaShortLink>
        <PosterUrl>[URL]</PosterUrl>
    </Source>
</Query>

Request Params

Param Description Default Value
(required)
Source
Param containing MediaShortLink and poster image URL None
(required)
MediaShortLink
Short link of Media to update None
(required)
PosterUrl
URL to a new poster image None

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[All medias have been updated.]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<BatchID>[BatchID]</BatchID>
	<Success>
		<MediaShortLink>
			<ShortLink>[ShortLink]</ShortLink>
		</MediaShortLink>
	</Success>
	<Errors> <!-- if file is not in Success section, it must be in this one -->
		<Error> <!-- Relates to the appropriate SourceFile in the request list -->
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<ErrorName>[ErrorName]</ErrorName>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
	</Errors>
</Response> 

Response Fields

Param Description
MediaShortLink
SourceFile
Contents of SourceFile param in request
ShortLink
Short link for updated media
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

DeleteMedia

Description

Removes uploaded videos by short URL or by BatchID.

Request Example

<?xml version="1.0"?>
<Query>
	<Action>DeleteMedia</Action>
	<UserID>[User ID]</UserID>
	<UserKey>[User key]</UserKey>
	<Notify>[Notify URL]</Notify>
	<MediaShortLink>[MediaShortLink1]</MediaShortLink>
	<MediaShortLink>[MediaShortLink2]</MediaShortLink>
	<!-- ... -->
	<MediaShortLink>[MediaShortLinkN]</MediaShortLink>
	<!-- or -->
	<BatchID>[BatchID]</BatchID>
</Query>

Request Params

Param Description Default Value
MediaShortLink
Short link to the media you have uploaded None
BatchID
ID of some batch for accessing all files included to this batch.
Note: if you specify batch ID in query request, all stand-alone media short links in this request will be ignored
None

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<MediaShortLink>[MediaShortLink1]</MediaShortLink>
		<MediaShortLink>[MediaShortLink2]</MediaShortLink>
		<!-- ... -->
		<MediaShortLink>[MediaShortLinkN]</MediaShortLink>
	</Success>
	<Errors><!-- if file is not in Success section, it must be in this one -->
		<Error><!-- Relates to the appropriate SourceFile in the request list -->
			<SourceFile>[SourceFileK]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
		<!-- ... -->
		<Error>
			<SourceFile>[SourceFileL]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionL]</Description>
			<Suggestion>[ErrorSuggestionL]</Suggestion>
		</Error>
	</Errors>
</Response> 

Response Fields

Param Description
MediaShortLink
Short URL that has been successfully removed
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

3.1 - You have not provided any media short links in your request or all media short links are invalid.

3.2 - Provided media short link is wrong.

3.3 - Batch ID you provided is not correct or does not exist.

3.4 - There are no media short links associated with this batch.

3.5 - You are not allowed to delete this media because it was not uploaded by you.

3.6 - We have tried to delete this media short link, but it was not deleted properly.

3.7 - The media short link you have requested has been already deleted.

Response Codes

3.1 - All medias have been deleted.

3.2 - Action completed with errors: some media short links are wrong.

3.3 - Action failed: all media short links are wrong.

3.4 - Action failed: batch ID is wrong.

3.5 - Action failed: batch is empty.

3.6 - Action completed with errors: some media short links were not deleted properly.

GetStatus

Description

Can be used to obtain status information on jobs, by BatchID or MediaShortlink

Request Example

<?xml version="1.0"?>
<Query>
	<Action>GetStatus</Action>
	<UserID>[User ID]</UserID>
	<UserKey>[User key]</UserKey>
	<Notify>[Notify URL]</Notify>
	<MediaShortLink>[MediaShortLink1]</MediaShortLink>
	<MediaShortLink>[MediaShortLink2]</MediaShortLink>
	<!-- ... -->
	<MediaShortLink>[MediaShortLinkN]</MediaShortLink>
	<!-- or -->
	<BatchID>[BatchID]</BatchID>
</Query>

Request Params

Param Description Default Value
MediaShortLink
Short link to the media you have uploaded None
BatchID
ID of some batch for accessing all files included to this batch.
Note: if you specify batch ID in query request, all stand-alone media short links in this request will be ignored
None

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<Task>
			<UserID>[UserID]</UserID>
			<MediaShortLink>[MediaShortLink]</MediaShortLink>
			<SourceFile>[SourceFile]</SourceFile>
			<BatchID>[BatchID]</BatchID>
			<Status>[Status]</Status>
			<Private>[boolean]</Private>
			<PrivateCDN>[boolean]</PrivateCDN>
			<Created>[LinkCreatedDate]</Created>
			<Updated>[LinkUpdatedDate]</Updated>
			<UserEmail>[UserEmail]</UserEmail>
		</Task>
		<!-- ... -->
		<Task>
			<!-- ... -->
		</Task>
	</Success>
	<Errors> <!-- if file is not in Success section, it must be in this one -->
		<Error> <!-- Relates to the appropriate SourceFile in the request list -->
			<SourceFile>[SourceFileK]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
		<!-- ... -->
		<Error>
			<SourceFile>[SourceFileL]</SourceFile>
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionL]</Description>
			<Suggestion>[ErrorSuggestionL]</Suggestion>
		</Error>
	</Errors>
</Response>

Response Fields

Param Description
Task
UserID
ID of the user that uploaded this media. Presently this is the same user that sent the GetStatus query but it may change in future versions of API
MediaShortLink
Short link of this media
SourceFile
Initial source file for this short link
BatchID
ID of the batch this short link is included in
Status
Upload status of the short link. It may be one of the following:
"New", "Processing", "Error", "Finished"
Private
Tells if video is protected ("true" or "false")
PrivateCDN
Tells if video is on private CDN (when public video is protected, it can be still available on public CDN for about 10 minutes)
Created
Date and time of short link creation
Updated
Date and time of short link last update
UserEmail
ID of the user that uploaded this media. Presently this is the same user that sent the GetStatus query but it may change in future versions of API
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

4.1 - You have not provided any media short links in your request or all media short links are invalid.

4.2 - Provided media short link is wrong.

4.3 - Batch ID you provided is not correct or does not exist.

4.4 - There are no media short links associated with this batch.

4.5 - You are not allowed to get status of this media because it was not uploaded by you.

4.6 - Some error occurred at uploading this media, so this link is nonoperating.

4.7 - The media short link you have requested was deleted.

Response Codes

4.1 - Action successful.

4.2 - Action completed with errors: some media short links are wrong.

4.3 - Action failed: all media short links are wrong.

4.4 - Action failed: batch ID is wrong.

4.5 - Action failed: batch is empty.

GetMediaList

Description

List of user's medias

Request Example

<?xml version="1.0"?>
<Query>
        <Action>GetMediaList</Action>
        <UserID>[User ID]</UserID>
        <UserKey>[User key]</UserKey>
        <Status>[Status]</Status> <!-- optional -->
        <From>[From]</From> <!-- optional -->
        <Count>[Count]</Count> <!-- optional -->
        <Sort> <!-- optional -->
                <Field>[Field]</Field>
                <Order>[Order]</Order>
        </Sort>
        <IncludeFreewheel>[IncludeFreewheel]</IncludeFreewheel>
        <IncludeDomains>[IncludeDomains]</IncludeDomains>
        <IncludeFormats>[IncludeFormats]</IncludeFormats>
        <IncludePlaylists>[IncludePlaylists]</IncludePlaylists>
</Query>

Request Params

Param Description Default Value
(optional)
Status
Allowed values: New, Processing, Finished, Error None
(optional)
From
First element number. Numeration start from 0 0
(optional)
Count
Count of elements into requests. Default and maximum value is 1000 1000
(optional)
Sort
(optional)
Field
Set field to sort. Allowed values: id, url, created, hd, type, status, security, viewstotal, viewsmonth created
(optional)
Order
Set sorting order. Allowed values: desc and asc desc
(optional)
IncludeFreewheel
Add media Freewheel settings to the media params. no
(optional)
IncludeDomains
Add media custom domain settings to the media params. no
(optional)
IncludeFormats
Add media formats to the media params. no
(optional)
IncludePlaylists
Add associated playlists to the media params. no

Response Example

<?xml version="1.0"?>
<Response>
    <Message>[Success]</Message>
    <MessageCode>[MessageCode]</MessageCode>
    <Success>
        <Media>
            <MediaShortLink>[MediaShortLink]</MediaShortLink>
            <VanityLink>[VanityLink]</VanityLink>
            <Notify>[Notify]</Notify>
            <Created>[Created]</Created>
            <Updated>[Updated]</Updated>
            <Status>[Status]</Status>
            <Title>Media title</title>
            <Description>Media description</Description>
            <Freewheel>
                <AdServerUrl>[AdServerUrl]</AdServerUrl>
                <AdManagerUrlHtml5>[AdManagerUrlHtml5]</AdManagerUrlHtml5>
                <AdManagerUrlAs3>[AdManagerUrlAs3]</AdManagerUrlAs3>
                <NetworkId>[NetworkId]</NetworkId>
                <PlayerProfileHtml5>[PlayerProfileHtml5]</PlayerProfileHtml5>
                <PlayerProfileAs3>[PlayerProfileAs3]</PlayerProfileAs3>
                <VideoAssetIdHtml5>[VideoAssetIdHtml5]</VideoAssetIdHtml5>
                <VideoAssetIdAs3>[VideoAssetIdAs3]</VideoAssetIdAs3>
                <SiteSectionIdHtml5>[SiteSectionIdHtml5]</SiteSectionIdHtml5>
                <SiteSectionIdAs3>[SiteSectionIdAs3]</SiteSectionIdAs3>
                <Enabled>[Enabled]</Enabled>
            </Freewheel>
            <VideoPlayer>[VideoPlayer]</VideoPlayer>
            <VideoPlayerKey>[VideoPlayerKey]</VideoPlayerKey>
            <VideoPlayerSkin>[VideoPlayerSkin]</VideoPlayerSkin>
            <Ads>
                <AdClient>vast</AdClient>
                <Schedule>
                    <Ad>
                        <Offset>pre</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                    <Ad>
                        <Offset>post</Offset>
                        <Tag>http://adserver.com/vastResponse.xml</Tag>
                        <Type>linear</Type>
                    </Ad>
                </Schedule>
                <Tag>http://adserver.com/vastResponse.xml</Tag>
                <Message>Will back to video in XX seconds</Message>
                <SkipText>Skip ads</SkipText>
                <SkipMessage>You can skip me in XX seconds</SkipMessage>
                <SkipOffset>5</SkipOffset>
            </Ads>
            <Domains>
                <Domain>
                    <Host>userdomain.com</Host>
                    <URL>video-url</URL>
                </Domain>
            </Domains>
            <Playlists>
                <Playlist>Playlist One</Playlist>                    
            </Playlists>
        </Media>
        <!-- ... -->
        <Media>
            <!-- ... -->
        </Media>
        <Range>
                <From>[From]</From>
                <Count>[Count]</Count>
                <Total>[Total]</Total>
        </Range>
    </Success>
    <Errors> <!-- if file is not in Success section, it must be in this one -->
        <Error> <!-- Relates to the appropriate SourceFile in the request list -->
            <ErrorCode>[ErrorCodeID]</ErrorCode>
            <Description>[ErrorDescriptionK]</Description>
            <Suggestion>[ErrorSuggestionK]</Suggestion>
        </Error>
    </Errors>
</Response>

Response Fields

Param Description
Media
Media information
MediaShortLink
Short link to the media you have uploaded
VanityLink
Notify
Created
Updated
Status
Allowed values: New, Processing, Finished, Error
Title
Media title which used in playlist
Description
Media description which used in playlist
Freewheel
URL-specific Freewheel parameters
VideoPlayer
Video player option. Allowed values: default, flowplayer, jwplayer, vidly.
VideoPlayerKey
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
VideoPlayerSkin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
Ads
Ads configuration.
AdClient
Ad client type, VAST or Google IMA.
Possible values: vast, googima.
Schedule
May contain multiple ad tags with different playback settings.
Ad
Holds settings for single ad.
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
Tag
May contain URL of the VAST or IMA pre-roll ad tag to play.
Message
Text message displaying while playing the ad that cannot be skipped.
SkipText
Text message displaying while playing the ad that can be skipped after the countdown is over.
SkipMessage
Text message displaying while playing the ad that can be skipped before the countdown is over.
SkipOffset
Show amount of time in seconds that you want an ad to be watched before it can be skipped.
Domains
Domain
Custom media distribution settings
Host
Domain hostname
URL
Custom media URL
Playlists
List of associated playlists
Playlist
Name of associated playlist
Range
From
Number of first element into response
Count
Count of elements int oresponse
Total
Total counts of medias
Error
SourceFile
Initial source file for this short link
ErrorCode
Error code, see below
Description
Error description
Suggestion
Helpful advice to avoid error, or detailed error description

Error Codes

4.9 - Invalid Status value

Response Codes

7.4 - OK

7.5 - Error

GetSecurityToken

Description

Request Example

<?xml version="1.0"?>
<Query>
    <Action>GetSecurityToken</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <MediaShortLink>[MediaShortLink]</MediaShortLink>
    <AllowedFromDate>2012-03-11 10:00:00</AllowedFromDate>
    <AllowedToDate>2012-03-12 10:00:00</AllowedToDate>
    <ExpirationTimeSeconds>86400</ExpirationTimeSeconds>
    <AllowedIP>192.168.1.1,192.168.1.50-100,192.168.2.*</AllowedIP>
</Query>

Request Params

Param Description Default Value
MediaShortLink
Short link to the media you have uploaded None
(optional)
AllowedFromDate
Date starting from which token should be valid, in EST time zone
(optional)
AllowedToDate
Date until token should be valid, in EST time zone
(optional)
ExpirationTimeSeconds
Number of seconds from current moment until token expires. Only AllowedToDate or ExpirationTimeSeconds option can be used in one request
(optional)
AllowedIP
IP address mask(s) for which token will be valid. Examples:
  • 192.168.1.50 - just a single IP
  • 192.168.1.1-50 - IP range from 192.168.1.1 to 192.168.1.50
  • 192.168.1.* - IP range from .0 to .255
  • 192.168.1-10.* - even bigger IP range
  • 192.168.2.*,192.168.3.1-50,192.168.4.100 - several masks combined, separated with comma

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<MediaShortLink>[MediaShortLink]</MediaShortLink>
		<Token>[Token]</Token>
	</Success>
	<Errors> <!-- if file is not in Success section, it must be in this one -->
		<Error> <!-- Relates to the appropriate SourceFile in the request list -->
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
	</Errors>
</Response>

Response Fields

Param Description
MediaShortLink
Short link to the media you have uploaded
Token
Generated token

Error Codes

6.1 - You have not provided any media short link in your request or medias short link are invalid.

6.2 - The medias short url you provided is not belongs to provided user.

8.1 - Request is not applicable for short URL because it is not protected by security token

8.2 - Invalid params

8.3 - Can't set both ExpirationTime and AllowedToDate

7.3 - Notify is not applicable for this request.

Response Codes

7.4 - OK

7.5 - Error

GetStatistics

Description

Get browser and mobile devices visits statistics for specified time range and short URL. If short URL is not specified, will return cumulative stats for all your videos

Request Example

<?xml version="1.0"?>
<Query>
	<Action>GetStatistics</Action>
	<UserID>[User ID]</UserID>
	<UserKey>[User key]</UserKey>
	<Filter>
		<StartDate>2012-01-01 00:00:00</StartDate>
		<EndDate>2012-01-30 23:59:59</EndDate>
		<MediaShortLink>[MediaShortLink]</MediaShortLink> <!-- Optional -->
	</Filter>
</Query>

Request Params

Param Description Default Value
(optional)
Filter
Optional parameters to specify time frame or Media URL None
(optional)
StartDate
Start date of statistics time frame
(optional)
EndDate
Final date of statistics time frame
(optional)
MediaShortLink
Short link to the media you have uploaded None

Response Example

<?xml version="1.0"?>
<Response>
<Message>[Success]</Message>
<MessageCode>[MessageCode]</MessageCode>
<Success>
	<StatsInfo>
		<StatsTable>
			<cols>
				<col>Class</col>
				<col>Vendor</col>
				<col>Model</col>
				<col>Platform</col>
				<col>OS</col>
				<col>Browser</col>
				<col>Browser Ver</col>
				<col>Hits</col>
			</cols>
			<rows>
				<row>
					<col>Desktop</col>
					<col></col>
					<col></col>
					<col></col>
					<col>Windows</col>
					<col>Firefox</col>
					<col>9.0.1</col>
					<col>1</col>
				</row>
				<row>
					<col>Mobile</col>
					<col>Apple</col>
					<col>iPhone</col>
					<col></col>
					<col>iOS</col>
					<col></col>
					<col></col>
					<col>1</col>
				</row>
				<!-- ... -->
			</rows>
		</StatsTable>
		<TotalHits>1</TotalHits>
	</StatsInfo>
</Success>
</Response>

Response Fields

Param Description
StatsInfo
StatsTable
Table containing view counts grouped by browsers and mobile devices
TotalHits
Number of total views

Error Codes

7.1 - Your account is not authorized to process request.

7.2 - Invalid Filter params.

7.3 - Notify is not applicable for this request.

Response Codes

7.4 - OK

7.5 - Error

UpdateUserSettings

Description

UpdateUserSettings allows existing Freewheel customers to integrate video advertisements into a individual vid.ly URL or globally all active vid.ly URLs on the account. Use the UpdateUserSettings API call to enable Freewheel for your account and specify your Freewheel account"s configuration parameters: AdServerURL, AdManager URL, Network IDs, PlayerProfiles, VideoAsset IDs, SiteSection IDs etc (provided by Freewheel) to enable ad targeting. When a visitor views a vid.ly URL with Freewheel enabled vid.ly will pass visitor information to the Freewheel ad server and receive a targeted video advertisement (pre/mid/post roll or banner overlays.) Vid.ly currently supports video player advertisements in both HTML5 and Flash players.

Request Example

<?xml version="1.0"?>
<Query>
    <Action>UpdateUserSettings</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <MediaShortLink>[MediaShortLink]</MediaShortLink> <!-- optional -->
    <MediaShortLink>[MediaShortLink]</MediaShortLink> <!-- optional -->
    <MediaShortLink>[MediaShortLink]</MediaShortLink> <!-- optional -->
    <Freewheel>
        <AdServerUrl></AdServerUrl>
        <AdManagerUrlHtml5></AdManagerUrlHtml5>
        <AdManagerUrlAs3></AdManagerUrlAs3>
        <NetworkId>90750</NetworkId>
        <PlayerProfileHtml5>3pqa_html5</PlayerProfileHtml5>
        <PlayerProfileAs3>3pqa_profile</PlayerProfileAs3>
        <VideoAssetIdHtml5>3pqa_video</VideoAssetIdHtml5>
        <VideoAssetIdAs3>as3_demo_video_asset</VideoAssetIdAs3>
        <SiteSectionIdHtml5>3pqa_section</SiteSectionIdHtml5>
        <SiteSectionIdAs3>as3_demo_site_section</SiteSectionIdAs3>
        <Enabled>true</Enabled>
    </Freewheel>
    <GAID>[GAID]</GAID>
    <VideoPlayer>
        <Vendor>[VideoPlayer]</Vendor>
        <Key>[Key]</Key>
        <Skin>[Skin]</Skin>
        <Ads> <!-- for "jwplayer" vendor only -->
            <AdClient>vast</AdClient>
            <Schedule>
                <Ad>
                    <Offset>pre</Offset>
                    <Tag>http://adserver.com/vastResponse.xml</Tag>
                    <Type>linear</Type>
                </Ad>
                <Ad>
                    <Offset>post</Offset>
                    <Tag>http://adserver.com/vastResponse.xml</Tag>
                    <Type>linear</Type>
                </Ad>
            </Schedule>
            <Message>Will back to video in XX seconds</Message>
            <SkipText>Skip ads</SkipText>
            <SkipMessage>You can skip me in XX seconds</SkipMessage>
            <SkipOffset>5</SkipOffset>
        </Ads>
    </VideoPlayer>
    <Domains>
        <Domain>userdomain.com</Domain>
    </Domains>
    <AllowedEmbedDomains>[AllowedEmbedDomains]</AllowedEmbedDomains>
    <DefaultEmbedDomainPrivacy>[DefaultEmbedDomainPrivacy]</DefaultEmbedDomainPrivacy>    
</Query>

Request Params

Param Description Default Value
(optional)
MediaShortLink
If no URLs provided Freewheel settings are applied globally to all URLs None
(optional)
Freewheel
(required)
AdServerUrl
URL of Freewheel Ad server.
Example: http://demo.v.fwmrm.net/ad/g/1
(required)
AdManagerUrlHtml5
URL to JS AdManager.
Example: http://adm.fwmrm.net/p/vitest-as3/AdManager.js
(required)
AdManagerUrlAs3
URL to AS3 AdManager.
Example: http://adm.fwmrm.net/p/vitest-as3/AdManager.swf?LogLevel=VERBOSE
(required)
NetworkId
Freewheel Network ID
(required)
PlayerProfileHtml5
Player profile for HTML5
(required)
PlayerProfileAs3
Player profile for AS3 (Flash)
(required)
VideoAssetIdHtml5
Video Asset ID for HTML5
(required)
VideoAssetIdAs3
Video Asset ID for AS3 (Flash)
(required)
SiteSectionIdHtml5
Site section ID for HTML5
(required)
SiteSectionIdAs3
Site section ID for AS3
(required)
Enabled
Possible values: "true", "false".
"true" enables Freewheel integration, "false" disables it. If MediaShortLink provided, Enable option applied for given URLs only, otherwise applied globally
(optional)
GAID
Set Google Analytics Property ID. To clean your Google Analytics Property ID send empty value
(optional)
VideoPlayer
Param for setting Video Player option and key. None
(optional)
Vendor
Video player option. Allowed values: flowplayer, jwplayer, vidly. vidly
(optional)
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
(optional)
Skin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
(optional)
Ads
Add multiple ads to video playback. Allowed with jwplayer only. Submitting empty <Ads> tag will remove currently configured ads.
See JW Player Supported Ad Formats for allowed ad formats information.
(required)
AdClient
Ad client type, VAST or Google IMA.
Allowed values: vast, googima.
(optional)
Schedule
May contain multiple ad tags with different playback settings.
(required)
Ad
Holds settings for single ad.
(required)
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
(required)
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
(required)
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
(optional)
Tag
Set this to URL of the VAST or IMA pre-roll ad tag to play. Use the schedule option to setup midrolls, postrolls and overlays.
Message
Text message to display while playing the ad that cannot be skipped. XX is automatically replaced with number of seconds.
Example: Video will continue in XX seconds.
SkipText
This sets the text of the Skip button after the countdown is over.
SkipMessage
This is used to provide a customized countdown message. Use the form Skip ad in XX seconds.
SkipOffset
Set this to an amount of time in seconds that you want an ad to be watched before it can be skipped.
(optional)
Domains
Setup custom user level domains. To restore default vid.ly domain distribution send empty element.
Domain
Custom user level domain. Affects to the whole user media library and overwrite default vid.ly domain
(optional)
AllowedEmbedDomains
List of domains separated with commas. Wildcards allowed.
Example: *.example.com, *.example.net
(optional)
DefaultEmbedDomainPrivacy
Controls if Vidly URLs can play on all domains or on restricted list of domains defined in AllowedEmbedDomains parameter. Allowed values: enabled, disabled disabled

GetUserSettings

Description

GetUserSettings return Freewheel and Google Analytics user settings

Request Example

<?xml version="1.0"?>
<Query>
    <Action>GetUserSettings</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>    
</Query>

Response Example

<?xml version="1.0"?>
<Response>
<Message>[Success]</Message>
<MessageCode>[MessageCode]</MessageCode>
<Success>
    <FreewheelSettings>
        <Settings>
            <AdServerUrl>[AdServerUrl]</AdServerUrl>
            <AdManagerUrlHtml5>[AdManagerUrlHtml5]</AdManagerUrlHtml5>
            <AdManagerUrlAs3>[AdManagerUrlAs3]</AdManagerUrlAs3>
            <NetworkId>[NetworkId]</NetworkId>
            <PlayerProfileHtml5>[PlayerProfileHtml5]</PlayerProfileHtml5>
            <PlayerProfileAs3>[PlayerProfileAs3]</PlayerProfileAs3>
            <VideoAssetIdHtml5>[VideoAssetIdHtml5]</VideoAssetIdHtml5>
            <VideoAssetIdAs3>[VideoAssetIdAs3]</VideoAssetIdAs3>
            <SiteSectionIdHtml5>[SiteSectionIdHtml5]</SiteSectionIdHtml5>
            <SiteSectionIdAs3>[SiteSectionIdAs3]</SiteSectionIdAs3>       
        </Settings>
        <Settings>
        <!-- ... -->
        </Settings>
    </FreewheelSettings>
    <GAPropertyID>[GAPropertyID]</GAPropertyID>
    <VideoPlayer>[VideoPlayer]</VideoPlayer>
    <VideoPlayerKey>[VideoPlayerKey]</VideoPlayerKey>
    <VideoPlayerSkin>[VideoPlayerSkin]</VideoPlayerSkin>
    <Ads>
        <AdClient>vast</AdClient>
        <Schedule>
            <Ad>
                <Offset>pre</Offset>
                <Tag>http://adserver.com/vastResponse.xml</Tag>
                <Type>linear</Type>
            </Ad>
            <Ad>
                <Offset>post</Offset>
                <Tag>http://adserver.com/vastResponse.xml</Tag>
                <Type>linear</Type>
            </Ad>
        </Schedule>
        <Message>Will back to video in XX seconds</Message>
        <SkipText>Skip ads</SkipText>
        <SkipMessage>You can skip me in XX seconds</SkipMessage>
        <SkipOffset>5</SkipOffset>
    </Ads>
    <Domains>
        <Domain>userdomain.com</Domain>
    </Domains>
    <AllowedEmbedDomains>*.example.com, *.example.net</AllowedEmbedDomains>
    <DefaultEmbedDomainPrivacy>enabled</DefaultEmbedDomainPrivacy>    
</Success>
</Response>

Response Fields

Param Description
FreewheelSettings
Common user Freewheel settings
GAPropertyID
Google Analytics Property ID
VideoPlayer
Video player option. Allowed values: flowplayer, jwplayer, vidly.
VideoPlayerKey
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
VideoPlayerSkin
Specify URL to the your theme file. File will be uploaded to the our CDN.
Vid.ly player: specify url to file with your custom css.
JWPlayer: URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Flowplayer: specify url to file with your custom css.
Ads
Ads configuration.
AdClient
Ad client type, VAST or Google IMA.
Possible values: vast, googima.
Schedule
May contain multiple ad tags with different playback settings.
Ad
Holds settings for single ad.
Offset
Position of the ad.
Allowed values: pre (for pre-roll), post (for post-roll) or number of seconds from video start.
Tag
URL of the ad tag.
Example: http://adserver.com/vastResponse.xml
Type
Allowed values: linear, nonlinear.
Use nonlinear for overlay ads, other types of ads should use linear type.
Tag
May contain URL of the VAST or IMA pre-roll ad tag to play.
Message
Text message displaying while playing the ad that cannot be skipped.
SkipText
Text message displaying while playing the ad that can be skipped after the countdown is over.
SkipMessage
Text message displaying while playing the ad that can be skipped before the countdown is over.
SkipOffset
Show amount of time in seconds that you want an ad to be watched before it can be skipped.
Domains
Custom user domains configuration
Domain
Domain
AllowedEmbedDomains
List of domains separated with commas. Wildcards allowed.
Example: *.example.com, *.example.net
DefaultEmbedDomainPrivacy
Controls if Vidly URLs can play on all domains or on restricted list of domains defined in AllowedEmbedDomains parameter. Allowed values: enabled, disabled

GetEmbedCode

Description

Request Example

<?xml version="1.0"?>
<Query>
    <Action>GetEmbedCode</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <MediaShortLink>[MediaShortLink]</MediaShortLink>
    <Type>[fixed|responsive]</Type>
    <HTTPS>[yes|no]</HTTPS>
    <Size>[{w}x{h}]</Size>
    <AllowedFromDate>2012-03-11 10:00:00</AllowedFromDate>
    <AllowedToDate>2012-03-12 10:00:00</AllowedToDate>
    <ExpirationTimeSeconds>86400</ExpirationTimeSeconds>
    <AllowedIP>192.168.1.1,192.168.1.50-100,192.168.2.*</AllowedIP>
    <Playlist>Playlist One</Playlist>
</Query>

Request Params

Param Description Default Value
MediaShortLink
Short link to the media you have uploaded None
(optional)
Type
Set type of embed code
  • responsive — JS reponsive embed code
  • fixed — iframe embed code with fixed size
(optional)
HTTPS
Enable secured connection to load media resources
  • yes — Use secure HTTPS connection
  • no — Use HTTP connection
(optional)
Size
Used to set embed size. Applies only for fixed size embed. Format {w}x{h}. In case one dimension is empty(e.g 160x) they was calculated using 16:9 aspect ratio.
(optional)
AllowedFromDate
Date starting from which token should be valid, in EST time zone
(optional)
AllowedToDate
Date until token should be valid, in EST time zone
(optional)
ExpirationTimeSeconds
Number of seconds from current moment until token expires. Only AllowedToDate or ExpirationTimeSeconds option can be used in one request
(optional)
AllowedIP
IP address mask(s) for which token will be valid. Examples:
  • 192.168.1.50 - just a single IP
  • 192.168.1.1-50 - IP range from 192.168.1.1 to 192.168.1.50
  • 192.168.1.* - IP range from .0 to .255
  • 192.168.1-10.* - even bigger IP range
  • 192.168.2.*,192.168.3.1-50,192.168.4.100 - several masks combined, separated with comma
(optional)
Playlist
Playlist name

Response Example

<?xml version="1.0"?>
<Response>
	<Message>[Success]</Message>
	<MessageCode>[MessageCode]</MessageCode>
	<Success>
		<MediaShortLink>[MediaShortLink]</MediaShortLink>
		<Embed>[Embed]</Embed>
	</Success>
	<Errors> <!-- if file is not in Success section, it must be in this one -->
		<Error> <!-- Relates to the appropriate SourceFile in the request list -->
			<ErrorCode>[ErrorCodeID]</ErrorCode>
			<Description>[ErrorDescriptionK]</Description>
			<Suggestion>[ErrorSuggestionK]</Suggestion>
		</Error>
	</Errors>
</Response>

Response Fields

Param Description
MediaShortLink
Short link to the media you have uploaded
Token
Generated token

Error Codes

6.1 - You have not provided any media short link in your request or medias short link are invalid.

6.2 - The medias short url you provided is not belongs to provided user.

8.1 - Request is not applicable for short URL because it is not protected by security token

8.2 - Invalid params

8.3 - Can't set both ExpirationTime and AllowedToDate

7.3 - Notify is not applicable for this request.

Response Codes

7.4 - OK

7.5 - Error

SetPlaylist

Description

Request Example

<?xml version="1.0"?>
<Query>
    <Action>SetPlaylist</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <Playlist>
        <!-- This block set the default user level playlist settings -->
        <Layout>extended</Layout>
        <Type>[none|right|bottom]</Type>
        <Size>200</Size>
        <Key>Your JWPlayer key</key>
        <Skin>Your JWPlayer skin</skin>        
    </Playlist>
    ...
    <Playlist>
        <Name>Playlist One</Name>
        <Layout>extended</Layout>
        <Type>[none|right|bottom]</Type>
        <Size>200</Size>
        <Key>Your JWPlayer key</key>
        <Skin>Your JWPlayer skin</skin>
        <MediaShortLinks>
            <MediaShortLink>[MediaShortLink1]</MediaShortLink>
            <MediaShortLink>[MediaShortLink2]</MediaShortLink>
            ...
            <MediaShortLink>[MediaShortLinkN]</MediaShortLink>
        </MediaShortLinks>  
    </Playlist>
</Query>

Request Params

Param Description Default Value
Playlist
Name
Leave empty to set the default user-level playlist settings
(optional)
Type
Position of the listbar relative to the video display. Can be bottom (below the display), none (no bar; the default) or right (to the right of the display).
(optional)
Layout
Layout of the playlist items in the listbar. Can be basic (only title) or extended (image, title and description). The default is extended.
(optional)
Size
Width (if position is right) or height (if position is bottom) of the listbar. This is basically the amount of pixels the bar "steals" from the video window. Is 180 by default.
(optional)
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
(optional)
Skin
URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
(optional)
MediaShortLinks
Sets list of medias associated with specified playlist. To remove playlist just send empty element.
(optional)
MediaShortLink
Associated media short url

GetPlaylists

Description

Request Example

<?xml version="1.0"?>
<Query>
    <Action>GetPlaylists</Action>
    <UserID>[User ID]</UserID>
    <UserKey>[User key]</UserKey>
    <IncludeMedias>[yes|no]</IncludeMedias>    
</Query>

Request Params

Param Description Default Value
(optional)
IncludeMedias
Add list of associated medias to the playlist descripition.

Response Example

<?xml version="1.0"?>
<Response>
    <Success>
        <Playlist>
            <Layout>extended</Layout>
            <Size>200</Size>
            <Key>Your JWPlayer key</key>
            <Skin>Your JWPlayer skin</skin>
        </Playlist>
        <Playlist>
            <Name>Playlist One</Name>
            <Layout>extended</Layout>
            <Type>[none|right|bottom]</Type>
            <Size>200</Size>
            <Key>Your JWPlayer key</key>
            <Skin>Your JWPlayer skin</skin>      
            <MediaShortLinks>
                <MediaShortLink>[MediaShortLink1]</MediaShortLink>
                <MediaShortLink>[MediaShortLink2]</MediaShortLink>
                ...
                <MediaShortLink>[MediaShortLinkN]</MediaShortLink>
            </MediaShortLinks>
        </Playlist>
        ...
        <Playlist>
            <Name>Playlist N</Name>
            <Layout>extended</Layout>
            <Type>[none|right|bottom]</Type>
            <Size>200</Size>
            <Key>Your JWPlayer key</key>
            <Skin>Your JWPlayer skin</skin>      
            <MediaShortLinks>
                <MediaShortLink>[MediaShortLink1]</MediaShortLink>
                <MediaShortLink>[MediaShortLink2]</MediaShortLink>
                ...
                <MediaShortLink>[MediaShortLinkN]</MediaShortLink>
            </MediaShortLinks>
        </Playlist>
    </Success>
</Response>

Response Fields

Param Description
DefaultSettings
User level default playlist settings. Applied as default value in case playlist param not set.
Type
Position of the listbar relative to the video display. Can be bottom (below the display), none (no bar; the default) or right (to the right of the display).
Layout
Layout of the playlist items in the listbar. Can be basic (only title) or extended (image, title and description). The default is extended.
Size
Width (if position is right) or height (if position is bottom) of the listbar. This is basically the amount of pixels the bar "steals" from the video window. Is 180 by default.
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
Skin
URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
Playlist
Name
Name of playlist
Type
Position of the listbar relative to the video display. Can be bottom (below the display), none (no bar; the default) or right (to the right of the display).
Layout
Layout of the playlist items in the listbar. Can be basic (only title) or extended (image, title and description). The default is extended.
Size
Width (if position is right) or height (if position is bottom) of the listbar. This is basically the amount of pixels the bar "steals" from the video window. Is 180 by default.
Key
Set user license key for Flowplayer or set JWPlayer Cloud-Hosted player URL.
Skin
URL to custom skin xml file. Format of xml file describe in the JWPlayer docs. Also you can specify one of the 8 skins, which are available as teh part of the Pro/Premium/Ads jwplayer edition in case you have corresponding license.
MediaShortLinks
List of associated medias
MediaShortLink
Associated media short url

Appendix

Custom Output Format Parameters

Use the format parameters to create custom video output profile outside of the standard vid.ly output profiles and device detection. An http link to your custom output profiles will be sent along with the XML response when the job is complete. Bandwidth of custom outputs is metered and billed along with your vid.ly bandwidth each month.


XML Example
<Format>
	<Output>[Output]</Output>
	<Size>[Size]</Size>
	<Bitrate>[Bitrate]</Bitrate>
	<Framerate>[Framerate]</Framerate>
	<VideoCodec>[VideoCodec]</VideoCodec>
	<AudioBitrate>[AudioBitrate]</AudioBitrate>
	<AudioSampleRate>[AudioSampleRate]</AudioSampleRate>
	<AudioCodec>[AudioCodec]</AudioCodec>
	<AudioChannelsNumber>[AudioChannelsNumber]</AudioChannelsNumber>
	<AudioVolume>[AudioVolume]</AudioVolume>
	<TwoPass>[TwoPass]</TwoPass>
	<CBR>[CBR]</CBR>
	<ACBR>[ACBR]</ACBR>
	<Maxrate>[Maxrate]</Maxrate>
	<Minrate>[Minrate]</Minrate>
	<Bufsize>[Bufsize]</Bufsize>
	<Keyframe>[Keyframe]</Keyframe>
	<Start>[Start]</Start>
	<Duration>[Duration]</Duration>
	<RCInitOccupancy>[RCInitOccupancy]</RCInitOccupancy>
	<Deinterlacing>[Deinterlacing]</Deinterlacing>
	<CropTop>[CropTop]</CropTop>
	<CropLeft>[CropLeft]</CropLeft>
	<CropRight>[CropRight]</CropRight>
	<CropBottom>[CropBottom]</CropBottom>
	<KeepAspectRatio>[KeepAspectRatio]</KeepAspectRatio>
	<SetAspectRatio>[SetAspectRatio]</SetAspectRatio>
	<AddMeta>[AddMeta]</AddMeta>
	<Hint>[Hint]</Hint>
	<Rotate>[Rotate]</Rotate>
	<Preset>[Preset]</Preset>
	<Bframes>[Bframes]</Bframes>
	<GOP>[GOP]</GOP>
	<LumaSpatial>[LumaSpatial]</LumaSpatial>
	<ChromaSpatial>[ChromaSpatial]</ChromaSpatial>
	<LumaTemp>[LumaTemp]</LumaTemp>
</Format>

This table describes params inside <Format> tag.

Option Allowed Values Default Values

(required) Output

Format type

flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, zune, mp3, wma, m4a, thumbnail, image, mpeg2 (just experimental feature, please use with care, feedback is welcome), iphone_stream, ipad_stream. None.

Size

Video frame size

All: WxH, where W and N are any even integers.
3gp: 128x96, 176x144, 352x288, 704x576, 1408x1152
appletv: 710x480
zune: 320x180, 320x240
vp6: WxH, where W and N are multiple of 16

Custom: To match your source aspect ratio, set X value to zero and Y value to your desired height.  For example, 0x360 or 0x480.

All: None (any size possible)
3gp: 76x144
iPhone: 480x368
iPad: 1280x720
Android: 800x40
appletv: 710x480
zune: 320x180
psp: 368x192
   Note: You can specify only one dimension: either width or height. In this case, set other dimension to 0. (I.e. 640x0).
Bitrate
Video bitrate
All: Nk (where N is any non-zero integer) All: 512k
3gp: 256k
iOS, Android, PSP: 1024k
Framerate
Frame rate
All: any non-zero integer or N/M where N and M are non-zero integers All: none
psp: 30000/1001
VideoCodec
Video codec
flv: flv, libx264, vp6
fl9: libx264
wmv, zune: wmv2, msmpeg4
3gp, android: h263, mpeg4, libx264
m4v: mpeg4
mp4, ipod, iphone, ipad, appletv, psp: mpeg4, libx264
ogg: libtheora
webm: libvpx
mp3, wma: none
mpeg2: mpeg2video
flv: flv
fl9, ipod, iphone, ipad: libx264
wmv, zune: wmv2
3gp: h263
mp4, m4v,appletv, psp, android: mpeg4
ogg: libtheora
webm: libvpx
mpeg2: mpeg2video
AudioBitrate
Audio bitrate
Nk - where N is any non-zero integer
3gp: 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k, 12.2k
flv, wmv, mp3, wma, zune: 32k, 40k, 48k, 56k, 64k, 80k, 96k, 112k, 128k, 144k, 160k, 192k, 224k, 256k, 320k
ogg, webm: 45k,64k, 80k, 96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 500k
All: 64k
3gp, android: 12.2k
ipod, iphone, ipad, psp: 128k
AudioSampleRate
Audio sampling frequency (Hz)
All: any non-zero integer
3gp: 8000
flv, mp3: 11025, 22050, 44100
ogg, webm: 16000, 32000, 44100, 22050, 11025, 192000
wmv, wma, zune: 11025, 22050, 32000, 44100, 48000
mpeg2: 44100, 48000
All: none
3gp, android: 8000
flv, mp3, zune, mpeg2: 44100
AudioCodec
Audio codec
mp3: libmp3lame
m4a: libfaac
flv: libmp3lame, libfaac
fl9, mp4, m4v, ipod, iphone, ipad, appletv, psp: libfaac
wmv, wma, zune: wmav2, libmp3lame
ogg, webm: libvorbis
3gp: libamr_nb
android: libamr_nb, libfaac
mpeg2: pcm_s16be, pcm_s16le
flv, mp3: libmp3lame
fl9, mp4, m4v, ipod, iphone, ipad, appletv, psp: libfaac
wmv, zune: wmav2
ogg, webm: libvorbis
3gp, android: libamr_nb
mpeg2: pcm_s16be
m4a: libfaac
AudioChannelsNumber
Number of audio channels
All: any non-zero integer
3gp: 1
android: 1, 2
All: 2
3gp, android: 1
AudioVolume
Audio volume level (%)
non-negative integer 100
TwoPass
2-pass encoding toggle
yes, no no
CBR
CBR (Constant bitrate) toggle
yes, no no
ACBR
CBR (Constant bitrate) for audio stream toggle. Use only with vorbis (Ogg, Webm).
yes, no no
Maxrate
Maximum allowed video bitrate
N or Nk - where N is any non-zero integer None
Minrate
Minimum allowed video bitrate
N or Nk - where N is any non-zero integer None
Bufsize
Rate control buffer size (bits)
N or Nk - where N is any non-zero integer None
Keyframe 12 [12 PAL DVD] , 15 [15 NTSC DVD], 25 [25 PAL Long GOP], 30 [30 NTSC Long GOP] 15
Start
Start encoding from (sec)
non-negative integer None
Duration
Duration (sec)
positive integer None
RCInitOccupancy
Initial rate control buffer occupancy (bits)
N or Nk - where N is any non-zero integer None
Deinterlacing
De-interlacing toggle
yes, no no
CropTop
Top crop band size (in pixels)
even integer None
CropLeft
Left crop band size (in pixels)
even integer None
CropRight
Right crop band size (in pixels)
even integer None
CropBottom
Bottom crop band size (in pixels)
even integer None
KeepAspectRatio
Keep width to height ratio of the original frame size
yes, no yes

SetAspectRatio

Display aspect ratio (DAR). When set, the option keep_aspect_ratio will be ignored. The option only works with the following formats: fl9, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, iphone_stream, ipad_stream.

Positive float value or N:M - where N and M are any positive integers. None
AddMeta
Add meta data to the file. Only works with FLV.
yes, no All: None
flv: no
Hint
Add RTP data (for streaming servers). Only works with MP4.
yes, no All: None
mp4: no
Rotate
Rotate video picture. Only works with video files.
def - don't change anything. Video will be rotated according to 'Rotation' meta data parameter, if it exists
0 - don't rotate and ignore 'Rotation' meta data parameter
90 - rotate by 90 degree CW and ignore 'Rotation' meta data parameter
180 - rotate by 180 degree and ignore 'Rotation' meta data parameter
270 - rotate by 270 degree CW and ignore 'Rotation' meta data parameter
def
Preset
Specify format preset. Only works with WebM.
1 - 2-Pass Best Quality VBR Encoding
2 - 2-Pass Faster VBR Encoding
3 - 2-Pass VBR Encoding for Smooth Playback on Low-end Hardware
4 - 2-Pass CBR Encoding for Limited-bandwidth Streaming
5 - 2-Pass VBR Encoding for Noisy / Low-quality Input Source
6 - 1-Pass Good Quality VBR Encoding
6
Bframes 2 [on = IBBPBBP], 0 [off = IPPPPPP] 2
GOP sgop [Strict (Locked)], cgop [Closed (Scene Detection)] cgop

LumaSpatial

Spatial luma strength

[0,255] 4

ChromaSpatial

Spatial chroma strength

[0,255] 3

LumaTemp

Temporal luma strength

[0,255] 6

JWPlayer responsive embed sizing

Vid.ly JWPlayer responsive embed uses 100% of parent element's width and media aspect ratio by default. In case you need to specify custom embed size or custom aspect ratio you can add data-player-aspectratio, data-player-width and data-player-height attributes to the embed's parent element. Note that player keeps aspect ratio when resized, so in case when player's aspect ratio and source video aspect ratio are not equal, black bars will appear.


Example: <div data-player-width="500" data-player-aspect-ratio="4:3"><script src="http://vid.ly/jw_test/embed" type="text/javascript"></script></div>


Option Allowed Values

data-player-aspectratio

Set player aspect ratio. Used in case width or height not specified

Player aspect ratio specified as W:H

data-player-width

Set player width

Player width specified in percents or pixels

data-player-height

Set player height

Player height specified in percents or pixels

Vidly Player CSS Guide

When the player, the video tag is replaced with a DIV, that will hold the video tag or object tag for other playback methods.

The div contains the video playback element (Flash or HTML5) and controls, and sets the width and height of the video.

Player Body

Container

.video-box {
    position:relative;
    overflow:hidden;
    -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px;
    font-family: Arial; font-size:0px; color:#000;
}

Video elements expand to the width/height of the containing div. <video> or <object>

.vidly-js {
    background-color: #000; position: absolute; padding: 0; margin: 0 auto; width: 100%; height: 100%; vertical-align: middle; text-align:left; font-size: 10px;
}

The alternative text for flash player playback element if the flash player is not installed

.vidly-js p {
    font-size: 14px; text-align:center; padding-top:30px;
}

Poster

.vidjs-poster {
    margin: 0 auto; padding: 0; cursor: pointer;visibility:hidden; position: relative; max-height: 100%;
}

Big Play Button Overlay

.vidly-skin .vidjs-big-play-button {
    display: block;
    background: url('../images/player/play-big-normal.png') no-repeat ;
    position: absolute; top: 50%; left: 50%; width: 95px; height: 80px; margin: -43px 0 0 -43px;
    text-align: center; vertical-align: center; cursor: pointer !important;
}
.vidly-skin .vidjs-big-play-button span {
    position: absolute; top: 50%; left: 50%;
    display: block; width: 35px; height: 42px;
    margin: -20px 0 0 -15px; /* Using negative margin to center. */
}

Big play button hover style

.vidly-skin div.vidjs-big-play-button:hover {
    background: url("../images/player/play-big-over.png") no-repeat;
}

Player Controls

Control bar container

.vidly-skin .vidjs-controls {
    position: absolute;
    bottom: 0; /* Distance from the bottom of the box/video. Keep 0. Use height to add more bottom margin. */
    left: 0; right: 0; 100% width of div
    margin: 0; padding: 0; /* Controls are absolutely positioned, so no padding necessary */
    height: 40px; /* Including any margin you want above or below control items */
    color: #fff;
    font-size:10px;
    border:none;
    background: #2d2d2d;
    border-top: 1px solid #5a5a5a;
    border-bottom:1px solid #2d2d2d;
    -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px;
}

The player control bar elements

.vidly-skin .vidjs-control {
    float: left;
    height: 26px; width: 26px;
    margin: 6px 0px; padding: 0; position: relative; text-align: center;
    /* CSS Shadows */
    box-shadow: 0px 0px 0px #000; -webkit-box-shadow: 0px 0px 0px #000; -moz-box-shadow: 0px 0px 0px #000;
}

Fading styles, used to fade control bar

.vidjs-fade-in {
    visibility: visible !important; /* Needed to make sure things show and hide in older browsers too. */
    opacity: 1 !important;
    -webkit-transition: visibility 0s linear 0s, opacity 0.3s linear;
    -moz-transition: visibility 0s linear 0s, opacity 0.3s linear;
    -ms-transition: visibility 0s linear 0s, opacity 0.3s linear;
    -o-transition: visibility 0s linear 0s, opacity 0.3s linear;
    transition: visibility 0s linear 0s, opacity 0.3s linear;
}
.vidjs-fade-out {
    visibility: hidden !important;
    opacity: 0 !important;
    -webkit-transition: visibility 0s linear 1.5s,opacity 1.5s linear;
    -moz-transition: visibility 0s linear 1.5s,opacity 1.5s linear;
    -ms-transition: visibility 0s linear 1.5s,opacity 1.5s linear;
    -o-transition: visibility 0s linear 1.5s,opacity 1.5s linear;
    transition: visibility 0s linear 1.5s,opacity 1.5s linear;
}

Play & Pause Buttons

.vidly-skin .vidjs-play-control {
    cursor: pointer !important;
    width: 50px; margin-left: 8px;
}

Play button styles and icon

.vidly-skin.vidjs-paused .vidjs-play-control div {
    margin: 0px; padding: 0px;
    background: url('../images/player/play-active.png') no-repeat;
    width: 40px; height: 28px;
    border: 0px;
}

Play over Icon

.vidly-skin.vidjs-paused .vidjs-play-control div:hover {
    background: url('../images/player/play-over.png') no-repeat;
}
.vidly-skin.vidjs-playing .vidjs-play-control div:hover {
    background: url('../images/player/pause-over.png') no-repeat;
}

Play hit icon

.vidly-skin .paused-hit div {
    background: url('../images/player/play-hit.png') no-repeat !important;
}
.vidly-skin .playing-hit div {
    background: url('../images/player/pause-hit.png') no-repeat !important;
}

Pause button styles and icon

.vidly-skin.vidjs-playing .vidjs-play-control div {
    margin: 0px; padding: 0px;
    width: 40px; height: 28px;
    background: url('../images/player/pause-normal.png') no-repeat;
}

Video progress bar

Progress control styles

.vidly-skin div.vidjs-progress-control {
    border: medium none;border-radius: 5px;
    list-style: none outside none;
    cursor: pointer !important;
    overflow: hidden;
    position: absolute;
    height: 26px; left: 56px; right:147px; width: auto; padding: 0; text-align:left; float: left;
}

Box containing play and load progresses

.vidly-skin .vidjs-progress-holder {
    background: url('../images/player/progress-line.png') repeat-x;
    -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
    cursor: pointer !important;
    height: 13px;
    overflow: hidden;
    margin-top:7px; padding: 2px;
    position: relative;
}

Load tracking progress

.vidly-skin .vidjs-progress-holder .vidjs-load-progress {
    background: #5a5a5a;
    width: 0; height: 6px;
    margin-top: 1px;
    position:relative;
    z-index: 5;
    -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px;
}

Play tracking progress

.vidly-skin .vidjs-progress-holder .vidjs-play-progress {
    background: url('../images/player/progress-load.png') repeat-x;
    width: 0; height: 6px;
    padding: 0;margin-top: 1px;
    position:absolute;
    z-index: 7;
    -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px;
}

Play time stamp caption

div.vidly-skin .vidjs-play-time {
    position:absolute;
    background: url('../images/player/yellow_arrow.png') no-repeat;
    width:39px; height:19px; margin: -7px -10px; negative margin to center caption
    padding-top: 1px; center text vertically
    color:#000;
    z-index:1000;
    text-align: center;
}

Holder time stamp caption

div.vidly-skin .vidjs-holder-time {
    position:absolute;
    background: url('../images/player/black_arrow.png') no-repeat;
    width:39px; height:19px; margin:-7px -20px;
    padding-top: 2px;
    z-index:1000;
    text-align: center;
}

Seek progress

.vidly-skin div.vidjs-seek-handle {
    position: absolute;
    width: 27px; height: 13px; /* Match img pixles */
    left: 0; top: 0; /* Needed for IE6 */
    z-index: 7;
    background: url('../images/player/grip.png') no-repeat;
}

Volume control

Volume/Mute icon

.vidly-skin .vidjs-mute-control { width: 30px; cursor: pointer !important; float: right; right:0px;}
.vidly-skin .vidjs-mute-control div { width: 22px; height: 16px; background: url('../images/player/volume.png') no-repeat; margin: 6px auto 0; }
.vidly-skin .vidjs-mute-control.vidjs-vol-0 div { background: url('../images/player/volume-0.png') no-repeat; } Mute on style
.vidly-skin .vidjs-volume-control { width: 60px;margin-left:6px; float: right; right:10px; }

Volume bar

.vidly-skin .vidjs-volume-bar {
    position: relative;
    width: 60px; height: 6px;
    margin: 11px auto 0;
    cursor: pointer !important;
    background: url('../images/player/volume-bar.png') repeat-x;
}

Volume level

.vidly-skin .vidjs-volume-level {
    position: absolute; top: 0; left: 0; height: 6px;
    background: url('../images/player/volume-bar-1.png') repeat-x;
}

Fullscreen button

.vidly-skin .vidjs-fullscreen-control {
    cursor: pointer !important;
    float: right;right:0px;
    width: 40px;
}

Fullscreen button style

.vidly-skin .vidjs-fullscreen-control div {
    background:none;
    height: 25px; width: 36px;
    margin: 1px auto 0;
}

Fullscreen button normal state

.vidly-skin .vidjs-fullscreen-control-off div {
    background: url("../images/player/full-on.png") no-repeat;
}

Fullscreen button active state

.vidly-skin .vidjs-fullscreen-control-on div {
    background: url("../images/player/full-off.png") no-repeat;
}

Fullscreen button normal hover

.vidly-skin .vidjs-fullscreen-control-off div:hover {
    background: url("../images/player/full-on-hover.png") no-repeat;
}

Fullscreen button active hover

.vidly-skin .vidjs-fullscreen-control-on div:hover {
    background: url("../images/player/full-off-hover.png") no-repeat;
}

HD button

.vidly-skin .vidjs-hd-controls {
    right:7px;
}

HD button style

.vidly-skin .vidjs-hd-button {
    float: right;
    width: 40px; height:15px; margin-top:6px;
    position:relative;
    border:none;
}

HD button normal

.vidly-skin .vidjs-hd-button div {
    width:32px; height:25px;
    cursor:pointer;
    background: url("../images/player/HD-hover.png") no-repeat;
}

HD button enabled

.vidly-skin .vidjs-hd-button-enabled div {
    background: url("../images/player/HD.png") no-repeat;
}

HD button hit

.vidly-skin .vidjs-hd-button-hit div {
    background: url("../images/player/HD-hit.png") no-repeat;
}

HD button hover

.vidly-skin .vidjs-hd-button div:hover,.vidly-skin .vidjs-hd-button-hit div:hover {
    background: url("../images/player/HD.png") no-repeat;
}

Misc

Branding Logo

.vidly-skin .vidjs-logo-pane {
    float:right;
    background: url("../images/player/logo.png") no-repeat;
    width:85px; height:35px; right:4px;
    margin-top:4px;
}
.vidly-skin .vidjs-logo-pane-blank {
    display: none;
}

.vidly-skin .vidjs-logo-pane div {
    width:85px; height:35px;
}

Load Indicator

Spinner

.vidjs-loading-spinner {
    display: block; position: absolute; top: 50%; left: 50%; width: 55px; height: 55px; margin: -28px 0 0 -28px;
    -webkit-animation-name: rotatethis;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: rotatethis;
    -moz-animation-duration: 1s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
}
@-webkit-keyframes rotatethis {
0% {-webkit-transform:scale(0.6) rotate(0deg); }
12.5% {-webkit-transform:scale(0.6) rotate(0deg); }
12.51% {-webkit-transform:scale(0.6) rotate(45deg); }
25% {-webkit-transform:scale(0.6) rotate(45deg); }
25.01% {-webkit-transform:scale(0.6) rotate(90deg);}
37.5% {-webkit-transform:scale(0.6) rotate(90deg);}
37.51% {-webkit-transform:scale(0.6) rotate(135deg);}
50% {-webkit-transform:scale(0.6) rotate(135deg);}
50.01% {-webkit-transform:scale(0.6) rotate(180deg);}
62.5% {-webkit-transform:scale(0.6) rotate(180deg);}
62.51% {-webkit-transform:scale(0.6) rotate(225deg);}
75% {-webkit-transform:scale(0.6) rotate(225deg);}
75.01% {-webkit-transform:scale(0.6) rotate(270deg);}
87.5% {-webkit-transform:scale(0.6) rotate(270deg);}
87.51% {-webkit-transform:scale(0.6) rotate(315deg);}
100% {-webkit-transform:scale(0.6) rotate(315deg);}
}

@-moz-keyframes rotatethis {
0% {-moz-transform:scale(0.6) rotate(0deg);}
12.5% {-moz-transform:scale(0.6) rotate(0deg);}
12.51% {-moz-transform:scale(0.6) rotate(45deg);}
25% {-moz-transform:scale(0.6) rotate(45deg);}
25.01% {-moz-transform:scale(0.6) rotate(90deg);}
37.5% {-moz-transform:scale(0.6) rotate(90deg);}
37.51% {-moz-transform:scale(0.6) rotate(135deg);}
50% {-moz-transform:scale(0.6) rotate(135deg);}
50.01% {-moz-transform:scale(0.6) rotate(180deg);}
62.5% {-moz-transform:scale(0.6) rotate(180deg);}
62.51% {-moz-transform:scale(0.6) rotate(225deg);}
75% {-moz-transform:scale(0.6) rotate(225deg);}
75.01% {-moz-transform:scale(0.6) rotate(270deg);}
87.5% {-moz-transform:scale(0.6) rotate(270deg);}
87.51% {-moz-transform:scale(0.6) rotate(315deg);}
100% {-moz-transform:scale(0.6) rotate(315deg);}
}

Spinning Circles

div.vidjs-loading-spinner .ball1 { opacity: 0.12; position:absolute; left: 20px; top: 0px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball2 { opacity: 0.25; position:absolute; left: 34px; top: 6px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball3 { opacity: 0.37; position:absolute; left: 40px; top: 20px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball4 { opacity: 0.50; position:absolute; left: 34px; top: 34px; width: 13px; height: 13px; background: #fff;
border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 15px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball5 { opacity: 0.62; position:absolute; left: 20px; top: 40px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball6 { opacity: 0.75; position:absolute; left: 6px; top: 34px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball7 { opacity: 0.87; position:absolute; left: 0px; top: 20px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

div.vidjs-loading-spinner .ball8 { opacity: 1.00; position:absolute; left: 6px; top: 6px; width: 13px; height: 13px; background: #fff;
border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border: 1px solid #ccc; }

Fullscreen Styles

body.vidjs-full-window {
    padding: 0; margin: 0; height: 100%; overflow-y: auto; /* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
}
.vidjs-full-window .video-box{
    position:absolute !important; top:0px; left:0px; margin:0px; height:100% !important; width:100% !important; z-index: 1000;
}
.vidly-js:-webkit-full-screen {
    width: 100% !important; height: 100% !important;
}

Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when checking fullScreenEnabled.

.vidly-js:-moz-full-screen { position: absolute; }