Output Destinations

Encoding.com supports a wide variety of delivery destinations. You can use multiple elements within each , which will output the completed job's materials to redundant destinations if needed.

<?xml version="1.0"?>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
        <output>[OutputFormat]</output> <!-- required-->
    "query": {
        "userid": "<<id>>", // required
        "userkey": "<<key>>", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[OutputFormat]", // required
            "destination": "[DestinationPath]"
Destination TypeDescription
FTP / SFTP • ftp://[user[:password]@]hostname[:port]/[path]/[filename][?passive=yes]
• sftp://[user[:password]@]hostname[:port]/[path]/[filename]
Amazon Web Services (S3)• http(s)://[bucket].s3.amazonaws.com/[filename]?X-Amz-Algorithm=[Algorithm]&X-Amz-Credential=[Credential]&X-Amz-Date=[Date]&X-Amz-Expires=[Expires]&X-Amz-SignedHeaders=[Headers]&X-Amz-Signature=[Signature]
— Pre-signed S3 Url.
• http(s)://[bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read]&canonical_id=AWS_CANONICAL_USER_ID
— If you specify AWS canonical user ID in the URL, FULL_CONTROL on the object will be granted to the specified user.
• http(s)://[bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read]&content_type=your-own/content-type
— If you specify Content type, then Amazon will add appropriate Content-type header when the object is accessed via the web.
• http(s)://[bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read]&content_disposition=attachment[;%20filename=”file.ext”]
— If you specify Content disposition, then Amazon will add appropriate Content-Disposition header when the object is accessed via the web.
• http(s)://[AWS_KEY:[email protected]][bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read]
— If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL.
• Also, you can add ?acl=public-read OR ?acl=authenticated-read after the filename.
This will explicitly set access rights to the saved object instead of the default settings.
• http(s)://[bucket].s3.amazonaws.com/[filename]?cache_control=[string]
— cache_control – Can be used to specify caching behavior along the request/reply chain.
• http(s)://[bucket].s3.amazonaws.com/[filename]?expires=[string]
— expires – The date and time at which the object is no longer cacheable.
• http(s)://[bucket].s3.amazonaws.com/[filename]?extension_content_type[[extension]]=[content\Type]
— If the output format implies multiple files (e.g. HLS) you could specify which content type to use for files with particular extension.
• http(s)://[bucket].s3.amazonaws.com/[filename]?assume_role=[AssumedRoleUser]
— Assume Role for specified user.
Rackspace Cloud Files • http(s)://[RS_USER:[email protected]]storage.cloudfiles.com/[path]/[filename]
— Virtual URL for Cloud Files
• http(s)://storage4.clouddrive.com/v1/MossoCloudFS_cea19775-aa94-4d78-8da9-1a7b4bbbd548/container_name/file.ext?auth-token=c2633419-7b79-3d58-8417-d63666dddfd5
—  Real URL for Cloud Files like this if you were authenticated yourself recently
Aspera Server• fasp://[user[:password]@]hostname[:port]/[path]/[filename]
Akamai NetStorage HTTP API • http(s)://[Key-Name]:[Key]@[Connection-Host]/[Root-Directory]/[Filename]
Akamai HLS Ingest• http(s)://post.[Account].akamaihd.net/[StreamID]/[StreamName]/playlist.m3u8
— You can read full instructions how to use Akamai Ingest at our Knowledge Base.
Microsoft Azure Blob• http(s)://[access_key]@[account].blob.core.windows.net/[container]/[path]
• http(s)://[account].blob.core.windows.net/[container]/[path]?sig=[Signature]&se=[SignedExpiry]&sv=[SignedVersion]&sp=[SignedPermissions]&sr=[SignedResource]
OpenStack Cloud Storage URL for Oracle cloud storage:
• http(s)://[user[:password]@]storage.[region].oraclecloud.com/v1/[service-endpoint]/[container]/[object]
Swift tempauth(v1)
• swift://[user[:password]@]hostname[:port]/v1/[tenant]/[container]/[object]
Swift identity (v2.0)
• swift://[user[:password]@]hostname[:port]/v2.0/[tenant]/[container]/[object]
S3 NetApp • s3://[KEY[:SECRET]@]hostname[:PORT]/[path]

Pre-Signed Amazon AWS S3 URL query parameters

X-Amz-AlgorithmSignature algorithm.
X-Amz-CredentialAccess Key and Scope
X-Amz-DateSignature date in format "yyyyMMddTHHmmssZ"
X-Amz-ExpiresExpiration time in seconds
X-Amz-SignedHeadersHeaders list separated with ";" sign
X-Amz-SignatureSignature hash

Pre-Signed Microsoft Azure Blob URL query parameters

sigSignature hash
seSignature expiration date in one of the ISO 8601 UTC formats
svSignature service version
spPermitted operations on the signed blob resource. Permissions may be combined.
srSigned blob resource type



Adding ?passive=yes to the FTP URL forces downloader/uploader to use Passive Mode for FTP transfer. Many FTP services require the use of passive FTP due to firewalling.

Also, you can specify ?passive=no (the default) explicitly.


For Amazon S3

  • Do not forget to URL encode your AWS_SECRET, in particular, replacing '/' with '%2F'. This is necessary for legacy compatibility with the platform, and should be performed in addition to the urlencode of the entire XML or JSON request when POSTing to the API endpoint.

  • If you don't specify AWS key/secret, the bucket must have READ and WRITE permissions for:

    • AWS user: 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869
    • Account ID: "AWS": "456240961796"
    • ARN ID: arn:aws:iam::456240961796:root
  • See Amazon S3 ACL for more details.

  • See Percent-encoding for more details on URLencoding.

  • Using specific S3 endpoints:
    To use a specific S3 endpoint/region, replace ‘s3.amazonaws.com‘ in your S3 URL with one of the following:

    • us-east-1s3-external-1.amazonaws.com
    • us-east-2s3-us-east-2.amazonaws.com
    • us-west-2s3-us-west-2.amazonaws.com
    • us-west-1s3-us-west-1.amazonaws.com
    • ca-central-1s3-ca-central-1.amazonaws.com
    • eu-west-1s3-eu-west-1.amazonaws.com
    • eu-west-2s3-eu-west-2.amazonaws.com
    • eu-west-3s3-eu-west-3.amazonaws.com
    • eu-central-1s3-eu-central-1.amazonaws.com
    • ap-southeast-1s3-ap-southeast-1.amazonaws.com
    • ap-southeast-2s3-ap-southeast-2.amazonaws.com
    • ap-northeast-1s3-ap-northeast-1.amazonaws.com
    • ap-northeast-2s3-ap-northeast-2.amazonaws.com
    • ap-south-1s3-ap-south-1.amazonaws.com
    • sa-east-1s3-sa-east-1.amazonaws.com


For Aspera Transfers

To use private key for Aspera authentication you can use SetHostKey in your API request to authenticate with an SSH key.


For Assume Role

Please use the following ARN arn:aws:iam::456240961796:root as a Principal in your Assume Role policy settings.
JSON policy: { "Sid": "__console_pub_0", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::456240961796:root" }, "Action": "sts:AssumeRole" }


For Assume Role

You can use ExternalID when accessing your S3 using AssumeRole.
To do that, please visit Account page in the UI, in the section "AWS Assume Role External ID" generate new External ID or copy existing one, and then set up your AssumeRole policy so that it requires ExternalID.