Skip to main content

Frequency Documentation

SFTP Ingestion

SFTP enables secure content transfer to Frequency's backend storage by setting up dedicated storage space and a transfer protocol.

Deliverables

Frequency Studio supports Secure File Transfer Protocol (SFTP) for content delivery, which you can learn more about here. Please deliver the following to your account manager:

Deliverable

Deliverable

Example

SSH Public Key

SSH public key - Frequency will provide username/host.

P2JV5wbl3xjQ1R0fuVla

Video assets

Prepare video assets to be ingested.

  • Supported file extensions: mp4, avi, mov, mpg, mxf, mkv

  • Minimum 1280x720 resolution

  • 16:9 Aspect Ratio

movie.mp4

Image assets

Provide an image to represent the video asset.

  • Supported file extensions: jpg, png

  • Minimum 1280x720 resolution

  • 16:9 Aspect Ratio

thumbnail.jpg

Metadata file

Create a .csv file containing required and optional metadata for linking assets.

Required metadata:

  • GUID

  • Title

  • Description

  • Video File Name + Extension (ex: video.mp4)

  • Thumbnail File Name + Extension (ex: thumbnail.jpg)

For optional metadata fields, please see the attached manifest, and refer to Metadata Definitions.

metadata-manifest.csv

Credentials Setup

  1. Generate a SSH Key

    1. Windows: Use PuTTYgen to create an SSH key pair in the appropriate format.

    2. MacOS/Linux: Open Terminal and use the command:

      ssh-keygen -P "" -f transfer-key
  2. Locate the generated SSH files and retrieve the SSH Public Key (transfer-key.pub). Send this to Frequency to use to administer a new user.

    1. The SSH Public Key looks like this:

      ssh-rsa AAAAB3NzaC................................h2rkp8Uh gotfrank@Franks-MBP-WiFi.local
    2. Frequency will generate and set up a new username.

Uploading Files
  1. Using a SFTP client such as Cyberduck (Windows or MacOS), connect with SFTP to:

    1. Host: sftp.frequency.com

    2. User: Your provided username

    3. SSH Private Key: Your SSH Private Key file

  2. Upload your video, artwork, and/or subtitles files

    1. You can use the root/base folder or put them into separate folders as you wish, as long as they're referenced as relative path in the Metadata Manifest File for the media files.

    2. Asset specifications must meet Frequency's minimum requirements

  3. Upload Metadata Manifest File

    1. You must upload a manifest file in CSV format (e.g.: metadata.csv) that describes your content uploaded. Refer to this template and example for the correct field and field values.

    2. The only required fields are video_file and image_file (both must be of 16:9 aspect ratio and at least 720p resolution). These fields must match the file names in the folder otherwise this may cause issues with ingestion.

    3. You must update this manifest file after you have confirmed that all associated assets have been uploaded successfully, otherwise this may cause issues with ingestion.

    4. In the future, you can overwrite this file with new information when necessary

CSV Example

metadata-manifest.csv

Live Google Sheet Example

https://docs.google.com/spreadsheets/d/1e4tZyBEIxnE1236mIT7dPpe7SUQ3gaYnT1YQgmrscUk

Best Practices
  • Upload your metadata.csv after all assets have been fully uploaded

  • Ensure valid data without line breaks.

  • Verify correct file paths and case-sensitive filenames.

Automated Ingestion

Frequency will periodically check the metadata manifest file for new videos to ingest. Successfully ingested videos will appear in the MANAGE tool.

File Name Convention

Asset names must adhere to S3's Object key and metadata rules. Keep asset names within 1,024 bytes and use safe characters.

Safe characters

Please ensure your file names only use the following safe characters:

Alphanumeric characters

  • 0-9

  • a-z

  • A-Z

Special characters

  • Forward slash ( / )

  • Exclamation point ( ! )

  • Hyphen ( - )

  • Underscore ( _ )

  • Period ( . ) Exception: Object name key cannot end with a single period (.), or two periods (..)

  • Asterisk ( * )

  • Single quote ( ' )

  • Open parenthesis ( ( )

  • Close parenthesis ( ) )